Spring AI 在2024年2月推出了0.8版本,不到半年就迅速更新到了 1.0.0-M1,目前幾乎每個月就一個 Milestone改版(最新版本 1.0.0-M3),如同 AI 的發展迅速。實際使用後,會發現它與 LangChain4j 有幾分相似。讓我們看看 Spring AI 官網是如何詮釋
Spring AI 創建的目的在簡化開發 AI 功能的應用程式,同時避免不必要的複雜性。專案汲取了 LangChain 和 LlamaIndex 等知名 Python 專案的靈感,但 Spring AI 並不是這些專案的直接移植。我們相信,下一波生成式人工智慧應用程式不僅適用於 Python 開發人員,還將廣泛適用於許多程式設計語言。
Spring AI 的核心在於解決 AI 整合的根本挑戰,即將 企業數據 / API / AI 串聯起來。
(以上由Spring AI官網翻譯而來)
原來 Spring AI 是跟 LangChain 致敬,Spring 框架能發展到這麼龐大,最關鍵的就是其整合以及簡化的能力,面對這麼龐大的模型以及種類,雖然跟 Python 比起來起步較慢,不過能與 Spring 其他框架整合在一起,讓憋了好久的 Java 開發人員也能大展身手了
既然是參考 LangChain 的概念,Java 開發人員該使用 LangChain4j 還是 Spring AI 做為開發框架?凱文大叔幫大家分析以下幾點,大家可以自行評估
Spring AI | LangChain4j | |
---|---|---|
推出時間 | 2024年二月推出0.8版 | 2023年六月推出0.1版 |
適用Java版本 | JDK 17+ | JDK 8+ |
更新頻率 | 三個月時間推出四個版本,1.0.0-M3也即將推出 | 截至目前已有33個版本 |
功能性 | 整合性較佳,讓不同大語言模型有相似的開發程序,也容易與 Spring 其他框架整合 | 個別功能較強,部分功能是針對不同大語言模型特性所開發 |
整合性 | 能輕易與 Spring 家族整合,能自動配置 | 雖然也能在 Spring 中使用,不過還是沒 Spring 自家的整合性高 |
相關資料 | 官網資料豐富完整 | 發展時間較長,社群會員眾多 |
如何選擇凱文大叔有以下幾點建議
下面兩張圖大家可以感受一下兩個 AI 框架設計的理念,Spring AI 就跟 Spring 家族設計理念一樣,以整合為主,而 LangChain4j 則是各模組功能較強
有一點要特別說明 Spring AI 雖然版本更新較慢,不過 7/25 Ollama 才宣布支援 Tool,Spring 隔一天也宣布支援 Ollama Tool,可見得 Spring AI 的抽象可以相容不同模型
使用 Spring AI 打造企業 RAG 知識庫 內容將分為四大章節
介紹就到這邊,明天就要開始實戰演練,這次主題是打造企業 RAG 知識庫,主軸還是跟 RAG 有關的模組,沒提到的模組大家可以上 Spring AI 官網 查看
凱文大叔使用 Java 開發程式超過 20 年,對於 Java 生態非常熟悉,曾使用反射機制開發 ETL 框架,對 Spring 背後的運作原理非常清楚,目前以 Spring Boot 作為後端開發框架,前端使用 React 搭配 Ant Design
下班之餘在 Amazing Talker 擔任程式語言講師,並獲得學員的一致好評
最近剛成立一個粉絲專頁-凱文大叔教你寫程式 歡迎大家多追蹤,我會不定期分享實用的知識以及程式開發技巧
想討論 Spring 的 Java 開發人員可以加入 FB 討論區 Spring Boot Developer Taiwan
我是凱文大叔,歡迎一起加入學習程式的行列