Spring AI + Ollama 快速構建大模型應用程序(含源碼)
1、Spring AI 開發(fā)框架介紹
Spring AI 借鑒了 LangChain(Python)的靈感,后者支持與 AI 和多種 LLM 集成。目前 Spring AI 提供了多種大模型和向量數(shù)據庫供您選擇??梢缘卿浌倬W(https://spring.io/projects/spring-ai)查看 Spring AI 的更詳細文檔。

今天的 Spring AI 項目中會使用到 Vaadin,Vaadin 是一個基于 Java 和 Kotlin 的 Web 應用開發(fā)框架。

2、開始構建大模型應用項目
第一、需求
開發(fā)一款能夠匯總股票市場周報的工具。
第二、項目效果
項目效果如下:

第三、架構設計
整體架構設計如下分為3個步驟:

- 設置 RAG
- 使用 Vaadin 設計 UI 界面
- 創(chuàng)建業(yè)務流程
步驟一、設置 RAG 檢索增強生成

在該項目中,我利用 Apache Tika 來解析位于 /resources 目錄中的 PDF 文件。

在大模型應用程序啟動過程中,系統(tǒng)會開始讀取 PDF 文件,并將數(shù)據 Embedding 后存儲到向量數(shù)據庫中。


RAG 將檢索增強的前后端進行了分離,如下圖所示:

步驟二、使用 Vaadin 的 UI
這是一個簡易的消息輸入界面,用于接收提示信息(嘗試構建一個類似 ChatGPT 的用戶界面,但采用的是 Vaadin 框架)。

步驟三、創(chuàng)建業(yè)務流程
最后但同樣重要的一步是,我們將構建一個服務來與大模型進行通信。這包括添加系統(tǒng)提示詞,我們將使用 HashMap 進行值的替換,接著利用 SystemPromptTemplate 生成消息,最后將其發(fā)送給大語言模型 (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??


















