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