SpringAI1.0正式GA——MakeJavaGreatAgain!

OSCHINA
↑點選藍字 關注我們
Spring AI 1.0 已正式 GA,隨之釋出的還有一首新歌以及新 Logo。

https://suno.com/s/b0y64IKfpE5m3akD
Spring AI 是面向 AI 工程的 Java 應用框架,其目標是將 Spring 生態的設計原則(如可移植性和模組化設計)應用於人工智慧領域,並推廣使用 POJO (Plain Ordinary Java Object) 作為人工智慧領域應用程式的構建模組。
Spring AI 的核心是 ChatClient,一種可移植且易於使用的 API,是與 AI 模型互動的主要介面。
Spring AI ChatClient 支援呼叫 20 種 AI 大模型,從 Anthropic 到 ZhiPu。它支援多模態輸入和輸出(需要底層模型具備相關能力)以及結構化響應 —— 通常以 JSON 格式呈現,以便於在應用程式中處理輸出。
要構建高效的 AI 應用程式,一系列支援功能至關重要。

Advisors

增強型 LLM (Augmented LLM) (如下圖所示)正是為此而生,它為基礎模型添加了資料檢索、對話記憶和工具呼叫等功能。這些功能允許開發者將自己的資料和外部 API 直接引入模型的推理過程。
在 Spring AI 中實現此模式的關鍵是 Advisor
Spring AI ChatClient 的一個關鍵特性是 Advisor API。這是一個攔截器鏈,支援透過注入檢索資料和對話記憶體來修改傳入的提示詞

Retrieval

Spring AI 還提供了一個可移植的向量儲存抽象,支援從 Azure Cosmos DB 到 Weaviate 的 20 種不同的向量資料庫。
Spring AI 包含一個輕量級、可配置的 ETL(提取、轉換、載入)框架,可簡化將資料匯入向量儲存的過程。它透過可插拔的 DocumentReader 元件支援多種輸入源,包括本地檔案系統、網頁、GitHub 倉庫、AWS S3、Azure Blob Storage、Google Cloud Storage、Kafka、MongoDB 和相容 JDBC 的資料庫

Retrieval(檢索)

透過內建的分塊、元資料豐富和嵌入生成支援,可以輕鬆地將幾乎任何地方的內容引入 RAG 管道。
Spring AI 還廣泛支援檢索增強生成 (RAG) 模式,該模式使 AI 模型能夠根據傳遞給它的資料來進行響應。
可以從簡單的QuestionAnswerAdvisor開始,為提示詞注入相關上下文,或者使用RetrievalAugmentationAdvisor擴充套件到更復雜的模組化 RAG 管道,為你的應用量身定製。

Memory(記憶體)

對話歷史記錄是建立 AI 聊天應用程式的重要組成部分。
Spring AI 透過ChatMemory介面支援該特性,該介面可管理訊息的儲存和檢索。MessageWindowChatMemor實現在一個滑動視窗中儲存最近的 N 條訊息,並隨著對話的進行不斷更新。它委託給一個ChatMemoryRepository,目前為 JDBC、Cassandra 和 Neo4j 提供了儲存庫實現,更多實現即將推出。
另一種方法是使用VectorStoreChatMemoryAdvisor。它不僅僅記住最新訊息,還使用向量搜尋從過去的對話中檢索語義最相似的訊息。

Tools(工具)

Spring AI 可以透過 tools(讓 AI 檢索外部資訊或採取實際行動的自定義函式)輕鬆擴充套件模型的功能。
Tools 可以獲取當前天氣、查詢資料庫或返回最新訊息,幫助模型回答訓練資料之外的問題。它們還可以觸發工作流、傳送電子郵件或更新系統 —— 使模型成為應用程式的積極參與者。

Evaluation(評估)

Spring AI 可以輕鬆檢查 AI 生成內容的準確性和相關性。它配備了靈活的Evaluator介面和兩個方便易用的內建評估器:
  • RelevancyEvaluator
     幫助確定 AI 的響應是否與使用者的問題和檢索到的上下文真正匹配。它非常適合測試 RAG 流程,並使用可自定義的提示來詢問另一個模型:“根據檢索到的內容,這個響應是否合理?”
  • FactCheckingEvaluator
     根據提供的上下文驗證 AI 的響應是否符合事實。它的工作原理是要求模型判斷某個語句是否在邏輯上得到文件的支援。可以使用 Bespoke 的 Minicheck(透過 Ollama)等小型模型來執行此模型,這比每次檢查都使用 GPT-4 之類的工具要便宜得多。
Observability(可觀測性)
Spring AI 可以輕鬆觀察模型的執行情況、效能以及成本。
Spring AI 與 Micrometer 整合,提供有關關鍵指標的詳細遙測,例如:
  • 模型延遲
     你的模型需要多長時間才能做出反應(不僅僅是情感上的)。
  • token 使用情況
    每個請求的輸入 / 輸出 token,因此可以跟蹤和最佳化成本。
  • 工具呼叫和檢索
    瞭解你的模型何時充當有用的助手,而不是僅僅在向量儲存上免費載入。
還可以透過 Micrometer Tracing 獲得全面的跟蹤支援,其中包含模型互動中每個主要步驟的跨度。可以獲取有助於故障排除的日誌訊息,以便檢視使用者提示或向量儲存響應的內容。
MCP
Spring AI 團隊在 MCP 規範釋出後不久就開始支援該規範,並將這些程式碼捐贈給 Anthropic 作為MCP Java SDK 的基礎。Spring AI 圍繞此基礎提供了豐富的功能。
Spring AI 透過其客戶端啟動模組,簡化了 MCP 工具的使用。新增`spring-ai-starter-mcp-client`依賴項,即可快速連線遠端 MCP 伺服器。
Spring Boot 的自動配置功能可處理繁重的工作,因此你的客戶端無需過多的樣板程式碼即可呼叫 MCP 伺服器公開的工具,讓你專注於構建高效的 AI 工作流。Spring 讓你可以輕鬆連線到 MCP 伺服器提供的 stdio 和基於 HTTP 的 SSE 端點。
Spring AI 還簡化了 MCP 伺服器的建立。只需新增spring-ai-starter-mcp-server依賴項,即可快速將 Spring 元件轉換為符合 MCP 標準的伺服器。
Spring AI 支援多種構建代理行為的工作流模式:
  • Evaluator Optimizer
    該模型分析自身的反應,並透過結構化的自我評估過程對其進行改進。
  • Routing
    此模式能夠根據使用者請求和上下文的分類將輸入智慧路由到專門的處理程式。
  • Orchestrator Workers
    這種模式是一種靈活的方法,用於處理需要動態任務分解和專門處理的複雜任務
  • Chaining
    該模式將複雜的任務分解為一系列步驟,其中每個 LLM 呼叫都會處理前一個呼叫的輸出。
  • Parallelizatio
    該模式對於需要並行執行 LLM 呼叫並自動進行輸出聚合的情況很有用。
這些模式可以使用 Spring AI 的聊天模型和工具執行功能來實現,其中框架可以處理大部分底層複雜性。Spring AI 還支援透過 MCP 開發自主代理。
更多詳情檢視官方公告
https://spring.io/blog/2025/05/20/spring-ai-1-0-GA-released


相關文章