最新版LangChain4j發布!終于修復了這個惡心的問題
LangChain4j 1.0.0-beta4 上周剛剛發布,并且計劃這個月中旬發布 RC1,我覺得這次升級還是非常實用的,除了修復了一些關鍵的 BUG 之外,還有一個被我經常吐槽的功能也被更正了,具體是什么問題呢?我們下來一起看。
同時使用過 Spring AI 和 LangChain4j 的同學對于他們二者最大的區別,我想就是 Spring AI 在使用時的簡潔性,和 LangChain4j 高靈活性但繁瑣的調用方式是最有體會的。
遠的不說,就說這個命名就讓人非常不爽,Spring AI 中要調用大模型,使用 ChatModel 或 ChatClient 就行了,但你猜 LangChain4j 要怎么著?它把對話(文生文)給你搞成兩個對象,ChatLanguageModel 和 StreamingChatLanguageModel,前者是普通對話,后者是流式對話。
并且流式對話的 API Key 和其他參數還需要單獨配置,拜托,同樣都是文本對話,只是輸出的形式不同而已,都是文生文對話為什么相同的配置要設置兩遍?而且還要使用兩個對象?并且這兩個對象的名字還長的離譜,明顯 ChatModel 就能說明問題了,它偏要起個 ChatLanguageModel 和 StreamingChatLanguageModel,這對有編程潔癖的人來說簡直是如鯁在喉。
新版本更新
但是好在 LangChain4j 1.0.0-beta4 它來了,在這個版本里面,它終于下定決心做了調整,把原來的 ChatLanguageModel 更改為了 ChatModel,并且也將 StreamingChatLanguageModel 更改為了 StreamingChatModel,其他的雖然沒改(Chat 和 Steam 還需要配置兩次),但起碼名字讓人看起來舒服多了。
除此之外 LangChain4j 1.0.0-beta4 還升級了以下主要內容:
- Tokenizer 重命名 TokenCountEstimator。
- 修復了當 MCP 工具函數沒有參數時,一些 OpenAI 函數無法正常工作的問題。
- 刪除了冗余的 TextFile 和 TextFileContent 類。
- HTTP 方式自動重試重新連接 MCP 服務。
- 升級到 OpenAI Java SDK v1.4.1,提供了對 GPT 4.1 的支持。
- 重命名并移動了一些內部實用程序類。
- 支持 VertexAi 流聊天模型的自定義標頭(custom-headers)。
- Google AI Gemini:從 Gson 遷移到 Jackson。
- Jackson 版本更新至 2.19.0。
- 其他若干 BUG 修復。
官方升級日志:https://github.com/langchain4j/langchain4j/releases/tag/1.0.0-rc1
小結
無論如何 ChatLanguageModel 和 StreamingChatLanguageModel 這兩個超級長,讓人超級不爽的命名終于是被優化了,并且提供了對剛剛發布的 GPT 4.1 的支持,還有 MCP 的升級和優化也是非常實用的。AI 技術發展比較迅速,我們也要給這些配套的框架一點時間,和他們一起慢慢迭代、慢慢進步。