Spring AI 1.0.0 M2 釋出

釋出 | Mark Pollack | 2024年8月23日 | ...

我們很高興地宣佈 Spring AI 1.0.0 Milestone 2 版本釋出。

本次釋出在各個領域帶來了重要的增強和新功能。

核心關注點:可觀測性

本次釋出的一個主要重點是可觀測性功能,這對於監控、除錯和最佳化 AI 應用程式至關重要。已經為以下方面引入了全面的可觀測性功能:

  • ChatClient(包括 Advisor)
  • 聊天模型(OpenAI、Ollama、Mistral、Anthropic)
  • 嵌入模型
  • 影像生成模型
  • 向量儲存

注意:對其他 ChatModel 實現的支援將在未來的版本中新增。

以下是一些展示此功能的示例,供您開始使用:

非常感謝 Thomas Vitale 為可觀測性功能做出的巨大貢獻!

以下是展示以下程式碼跟蹤的螢幕截圖:

var response = chatClient.prompt()
	.user("How does Carina work?")
	.advisors(new QuestionAnswerAdvisor(vectorStore, SearchRequest.defaults()))
	.advisors(new PromptChatMemoryAdvisor(chatMemory))
	.call()
	.chatResponse();

Grafana view of Spring AI Trace

在跟蹤檢視中,您可以看到 ChatClient 呼叫的巢狀,它首先經過兩個 Advisor:QuestionAnswerAdvisor(它進行嵌入請求並查詢 PGVector 資料庫),然後經過 PromptChatMemoryAdvisor(耗時很短),最後才是呼叫 OpenAI 的 gpt-4o 模型。

您可以在 可觀測性文件中找到所有可用指標的詳細資訊。

核心改進

  • 新增:用於 ETL 流水線的 MarkdownDocumentReader
  • 新增:基於 Cassandra 的 聊天記憶
  • 新增:Typesense testcontainer 整合
  • ChatClient 增強功能
    • 使用顯式輸入型別註冊函式
    • QuestionAnswerAdvisor 的動態過濾表示式
    • 可自定義的日誌記錄 Advisor
  • ResponseMetadata 和 Message 物件層次結構的 API 設計改進
  • 嵌入格式從 List 更改為float[]
  • 向 JsonReader 添加了 JSON 陣列處理
  • Options 改進
    • ChatOptions:增強了已定義模型的元資料配置
    • EmbeddingOptions:添加了模型和維度選項
    • ImageOptions:添加了樣式選項
  • ChatOptions 已新增到 PromptTemplate 的 create 方法中

ChatModel 增強功能

對聊天模型基礎設施類進行了通用改進。特定模型的關鍵功能增強包括:

  • Anthropic:添加了函式呼叫支援
  • Azure Open AI
    • 函式呼叫整合
    • 更新至 Azure OpenAI 客戶端庫 1.0 beta-10
    • 新增:轉錄支援
    • 添加了位元組陣列的影像處理
    • 添加了多模態支援
    • 添加了 OpenAI API 金鑰和 MS-Entra 身份驗證選項
  • Amazon Bedrock:將 bedrockruntime 版本更新至 2.26.7
  • HuggingFace:添加了 Boot starter
  • Minimax
    • 改進了函式呼叫
    • 添加了 Web 搜尋工具支援
    • 引入了敏感資訊遮蔽選項
  • Mistral
    • 添加了函式呼叫支援
    • 關於透過 Spring AI 的 OpenAI 客戶端使用 Mistral AI 的文件
  • 新增:帶函式呼叫的 Moonshot 聊天模型
  • Ollama
    • 函式呼叫支援
    • 批次嵌入請求功能
  • OpenAI
  • 新增:QianFan 模型,支援 聊天嵌入影像生成。
  • ONNX - 改進的 transformer 嵌入模型
  • Google Vertex AI
    • 新增 嵌入模型支援
    • 將 Google Vertex SDK 更新至 26.41.0
    • 解決了並行函式呼叫問題
    • 添加了系統訊息支援
    • 在 chat options 中添加了 ResponeMimeType
    • 添加了 Google 搜尋檢索工具支援
  • ZhiPu:添加了函式呼叫支援

感謝 Geng Rong 對 Moonshot、QianFan 和 ZhiPu 模型支援的貢獻。

向量儲存改進

  • 重大變更:向量儲存配置屬性 initialize-schema 的預設值已更改為 false。
  • 引入了 BatchingStrategy 以實現高效的文件嵌入操作
    • 添加了 TokenCountBatchingStrategy 實現
  • Cassandra:添加了 CassandraChatMemory
  • Chroma
    • 從使用 RestTemplate 升級到 RestClient
    • 集成了 ChromaDB 的 CHROMA_SERVER_AUTHN_CREDENTIALS 環境變數,用於 Docker Compose 和 Testcontainers
  • Gemfire:增強了功能
  • Milvus:移除了 flush 操作,以防止建立過多的 segment
  • MongoDB:使用 org.bson.Documents 提高了效率
  • Neo4j - 更新至最新的 Cypher-DSL
  • 新增:Opensearch VectorStore 實現 感謝 Jemin Huh
  • 新增:Oracle 23ai VectorStore 實現 感謝 Loïc Lefèvre
  • PGVector
    • 引入了可自定義的 schema、table 和 index 名稱
    • 修復了 JSON 查詢的 IN/NOT IN 過濾器
  • Pinecone
    • 添加了可配置的內容和距離元資料欄位
    • 添加了 AOT hints
  • Redis:啟用了標準 RedisAutoConfiguration 的使用
  • 新增:Typesense 支援

通用改進

在廣大貢獻者的努力下,在各個方面進行了大量的重構、錯誤修復和文件增強。如果我們還沒有處理到您的 PR,我們會盡快處理,請耐心等待。感謝

Mohammed, Ahmed Yousri Salama, Ashwin Krishna K, blackbean99, Youngrae Cho, DadySu, Jerry (Flyingblu), Lorenzo Caenazzo, Jemin Huh, Bill Lau, JayPark7821, KAMOsama, David Caudill, Lee-ChungMu, Pablo Sanchi, Seol_JY, TarasVovk669, Thomas Vitale, TimJ0212, Fu Cheng, ashni, Benoit Moussaud, Dariusz Jędrzejczyk, cocomongg, ChanYeong, David Afriz, devholic22, Mariusz Bernacki, dongfeng3692, Dave Syer, Eddú Meléndez, El Mahdi Oukhamou, Seongmin Kim, Francisco Javier Torres, geetrawat, Craig Walls, yinpeng, Sinsy, Johnny Lim, jo-kim, Josh Long, KimMinjeong, Cameron Kirk, Laura Trotta, Loïc Lefèvre, Hyoseop Song, luocq3, Michael Simons, mck, Jonatan Soto, Muthukumaran Navaneethakrishnan, Geng Rong, Nicholas Zhan, Szymon Ochnio, Philipp Gerhard, Piotr Olaszewski, rapenumaka, rivkode, Ross Lawley, Andrea Rubino, Soby Chacko, xiaoxin, Stefan Vassilev, Tim Kelly, Chris Turchin, uzhuraul, Veerendra Vellanki, 吳博, xiehui1956, xsg22, 양예성, Yulong Shi, jiwoo, zlzzlzz2l

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有