Spring AI + Ollama 快速構建大模型應用程序(含源碼)
1、Spring AI 開發框架介紹
Spring AI 借鑒了 LangChain(Python)的靈感,后者支持與 AI 和多種 LLM 集成。目前 Spring AI 提供了多種大模型和向量數據庫供您選擇。可以登錄官網(https://spring.io/projects/spring-ai)查看 Spring AI 的更詳細文檔。
今天的 Spring AI 項目中會使用到 Vaadin,Vaadin 是一個基于 Java 和 Kotlin 的 Web 應用開發框架。
2、開始構建大模型應用項目
第一、需求
開發一款能夠匯總股票市場周報的工具。
第二、項目效果
項目效果如下:
第三、架構設計
整體架構設計如下分為3個步驟:
- 設置 RAG
- 使用 Vaadin 設計 UI 界面
- 創建業務流程
步驟一、設置 RAG 檢索增強生成
在該項目中,我利用 Apache Tika 來解析位于 /resources 目錄中的 PDF 文件。
在大模型應用程序啟動過程中,系統會開始讀取 PDF 文件,并將數據 Embedding 后存儲到向量數據庫中。
RAG 將檢索增強的前后端進行了分離,如下圖所示:
步驟二、使用 Vaadin 的 UI
這是一個簡易的消息輸入界面,用于接收提示信息(嘗試構建一個類似 ChatGPT 的用戶界面,但采用的是 Vaadin 框架)。
步驟三、創建業務流程
最后但同樣重要的一步是,我們將構建一個服務來與大模型進行通信。這包括添加系統提示詞,我們將使用 HashMap 進行值的替換,接著利用 SystemPromptTemplate 生成消息,最后將其發送給大語言模型 (LLM)。
第四、項目集成
首先,我們在本地進行手動測試 Ollama。
spring:
ai:
ollama:
base-url: ${AI_OLLAMA_BASE_URL:<http://localhost:11434>}
chat:
options:
model: llama3:8b
第五、項目完整代碼
項目完整開源代碼 Github 地址:
??https://github.com/qianniucity/financial-weekly??
本文轉載自公眾號玄姐聊AGI 作者:玄姐
原文鏈接:??https://mp.weixin.qq.com/s/EFTLYmTwMXgsX-BxJ3y7Sw??
