領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多我們很高興地宣佈 Spring AI 1.0.0 Milestone 5 釋出。
與往常一樣,本次釋出包含多項新功能和錯誤修復。然而,我們更加註重從設計角度審視程式碼庫,目標是在 2025 年初正式釋出(GA)。雖然我們已嘗試透過在一個釋出週期內棄用方法和類來平穩過渡,但仍存在一些我們已知(也可能有一些我們未知的)的破壞性變更,請您諒解。請參閱下方的“破壞性變更”部分。
MCP 是構建使用 AI 工具和資源的互動式應用程式的變革性技術。它使您能夠建立既快速又靈活的應用程式,利用 AI 來處理您的本地資料以及託管在雲中的服務。
儘管目前 MCP 獨立於 Spring AI 孵化,但我們很高興宣佈 Spring AI MCP 版本 0.20 的實驗性發布。這是一個用於 模型上下文協議 (MCP) 的 Java SDK。該專案提供了 Java/Spring 應用程式與 MCP 相容的 AI 資源和工具之間的無縫整合。
有關架構和實現的更多詳細資訊,請訪問 模型上下文協議文件。在我們的 spring-ai-examples 倉庫 中可以找到將 MCP 與 Spring 結合使用的示例。
// Prepare the audio resource
var audioResource = new ClassPathResource("speech1.mp3");
// Create a user message with audio and send it to the chat model
String response = chatClient.prompt()
.user(u -> u.text("What is this recording about?")
.media(MimeTypeUtils.parseMimeType("audio/mp3"), audioResource))
.options(OpenAiChatOptions.builder()
.withModel(OpenAiApi.ChatModel.GPT_4_O_AUDIO_PREVIEW).build())
.call()
.content();
以及如何從文字生成音訊輸出:// Generate an audio response
ChatResponse response = chatClient
.prompt("Tell me a joke about the Spring Framework")
.options(OpenAiChatOptions.builder()
.withModel(OpenAiApi.ChatModel.GPT_4_O_AUDIO_PREVIEW)
.withOutputModalities(List.of("text", "audio"))
.withOutputAudio(new AudioParameters(Voice.ALLOY, AudioResponseFormat.WAV))
.build())
.call()
.chatResponse();
// Access the audio transcript
String audioTranscript = response.getResult().getOutput().getContent();
// Retrieve the generated audio
byte[] generatedAudio = response.getResult().getOutput().getMedia().get(0).getDataAsByteArray();
有關新 RAG 架構和實現細節的全面資訊,請檢視我們 更新的文件。如需實踐經驗,請在這些 示例應用程式 中探索實際的 RAG 實現。
檢視我們的 Kotlin 示例,瞭解這些功能的實際應用。
最明顯的破壞性變更在於更改了每個向量儲存實現的包名稱。不幸的是,它們之前都使用了相同的包名,但位於不同的獨立偽件中,這是不被允許的。
`MilvusVectorStore` 已從 `org.springframework.ai.vectorstore` 遷移到 `org.springframework.ai.vectorstore.milvus`。
在許多類中(尤其側重於向量儲存和聊天選項)的構建器模式使用上進行了一致性調整。
MilvusVectorStore vectorStore = MilvusVectorStore.builder(milvusServiceClient, embeddingModel)
.initializeSchema(true)
.build();
其他破壞性變更包括:
`Document` 現在僅支援單個文字或媒體內容例項。這使得注入管道與嵌入的處理更加簡單易懂。同樣,之前已棄用的 `Document` 的 embedding 欄位已被移除 (#1883)。
更改了 `TokenCountBatchingStrategy` 的建構函式引數 (#1670)。
大量貢獻者對程式碼進行了其他重構、錯誤修復和文件增強。如果您的 PR 尚未處理,我們將盡快處理,請耐心等待。感謝以下貢獻者:
M5 釋出未能完成我們希望在設計重構方面進行的所有工作,因此我們將在 2025 年 1 月初發布最後一個 M6 版本,以解決這些問題,隨後釋出 1.0.0 RC1,並儘快釋出 1.0.0 GA 版本。
設計重點領域包括:
這是 Spring AI 令人驚歎的一年。我們感謝社群的支援和貢獻。期待 2025 年更加精彩!