Spring AI + ollama 本地搭建聊天 AI
Spring AI + ollama 是一种本地搭建聊天 AI 的解决方案。如果您不清楚如何搭建 ollama,可以查看之前的文章《Spring AI 初学》。项目源代码可以在 gitee 上查看。
前期准备
在创建 SpringBoot 项目时,需要添加主要相关依赖(spring-boot-starter-web、spring-ai-ollama-spring-boot-starter)。
Spring AI 支持 Spring Boot 3.2.x 和 3.3.x
Spring Boot 3.2.11 至少需要 Java 17,并且兼容 Java 23 及以下版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>1.0.0-M3</version>
</dependency>
配置文件
需要在 application.properties 或 yml 配置文件中添加相关参数,也可以在项目中指定模型等参数。具体参数可以参考 OllamaChatProperties。
# properties,模型 qwen2.5:14b 根据自己下载的模型而定
spring.ai.ollama.chat.options.model=qwen2.5:14b
#yml
spring:
ai:
ollama:
chat:
model: qwen2.5:14b
聊天实现
主要使用 org.springframework.ai.chat.memory.ChatMemory 接口保存对话信息。
一、采用 Java 缓存对话信息
支持功能:聊天对话、切换对话、删除对话
controller
在控制器中使用内存进行对话,实现了聊天对话、切换对话、删除对话等功能。
(以下为controller代码,略)
效果图
二、采用数据库保存对话信息
支持功能:聊天对话、切换对话、删除对话、撤回消息
实体类
定义了用于保存对话信息的实体类 ChatEntity。
(以下为实体类代码,略)
configuration
实现了 ChatMemory 接口,注入 spring,方便采用 service 方法。
(以下为configuration代码,略)
services实现类
保存用户会话的 service 实现类。
(以下为services实现类代码,略)
controller
使用数据库(缓存)进行对话的控制器。
(以下为controller代码,略)
效果图
总结
主要实现了 org.springframework.ai.chat.memory.ChatMemory 方法,实际项目过程需要实现该接口并重写方法。
以上就是电脑114游戏给大家带来的关于Spring AI + ollama 本地搭建聊天 AI全部内容,更多攻略请关注电脑114游戏。
电脑114游戏-好玩游戏攻略集合版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!