基于 SpringAI 整合 DeepSeek 模型实现 AI 聊天对话

目录

1、Ollama 的下载配置 与 DeepSeek 的本地部署流程

1.1 下载安装 Ollama

1.2 搜索模型并进行本地部署

2、基于 SpringAI 调用 Ollama 模型

2.1 基于OpenAI 的接口规范(其他模型基本遵循)

2.2 在 IDEA 中进行创建 SpringAI 项目并调用 DS 模型

3、基于 SpringAI 实现会话记忆功能

4、基于 SpringAI 实现会话历史功能

需求一:需要进行展示历史会话的列表信息

需求二:点击会话列表,展示对应的历史会话记录信息


1、Ollama 的下载配置 与 DeepSeek 的本地部署流程

很多云平台都提供了一键部署大模型的功能,这里不再赘述(阿里云百炼平台、火山方舟-火山引擎等)


官网地址如下:

Ollamahttps://ollama.com/

1.1 下载安装 Ollama

首先,我们需要下载一个Ollama的客户端,在官网提供了各种不同版本的Ollama,大家可以根据自己的需要下载

注意:

Ollama默认安装目录是C盘的用户目录,如果不希望安装在C盘的话(其实C盘如果足够大放C盘也没事),就不能直接双击安装了,需要通过命令行安装

OllamaSetup.exe 所在目录打开cmd命令行,然后命令如下:

OllamaSetup.exe /DIR=你要安装的目录位置

安装完成后,需要进行环境变量的配置:

OLLAMA_MODELS=你想要保存模型的目录

1.2 搜索模型并进行本地部署

Ollama 是一个模型管理工具和平台,它提供了很多国内外常见的模型,我们可以在其官网上搜索自己需要的模型,这里我们部署的是 DeepSeek R1 模型(我选择的是 7b,根据需求进行选择):

其中,Ollama 的命令很像 Docker 的,选择好对应的模型后,在控制台中进行运行命令:

ollama run deepseek-r1:7b

首次下载的话会有些慢,耐性等待即可

以下是本地下载部署完成后,进行对话的场景,ctrl + d 进行退出与 DeepSeek 的对话:


2、基于 SpringAI 调用 Ollama 模型

2.1 基于OpenAI 的接口规范(其他模型基本遵循)

目前大多数大模型都遵循 OpenAI 的接口规范,是基于Http协议的接口;因此请求路径、参数、返回值信息都是类似的,可能会有一些小的差别,具体需要查看大模型的官方API文档

以下是基于 Python 的代码示范:

# P
### 将 Spring AIDeepSeek 集成并使用 OpenAI API 为了使应用程序能够利用 Spring AI 并通过 DeepSeek 的 OpenAI 兼容模式进行交互,开发者需遵循特定配置流程[^1]。 #### 准备工作环境 确保项目已引入必要的依赖库。对于 Maven 构建工具而言,在 `pom.xml` 文件内添加如下依赖项: ```xml <dependency> <groupId>com.deepseek</groupId> <artifactId>deepseek-openai-client</artifactId> <version>${latest.version}</version> </dependency> ``` #### 创建客户端实例 创建一个用于访问 DeepSeek 接口的服务类,并初始化支持 OpenAI 协议的客户对象。这允许应用层逻辑如同直接面对官方服务般简洁明了地发起请求。 ```java import com.deepseek.openai.client.OpenAIClient; import org.springframework.stereotype.Service; @Service public class AiService { private final OpenAIClient client; public AiService() { this.client = new OpenAIClient("your_api_key", "https://api.deepseek.com/v1"); } // 方法定义... } ``` #### 发起 API 请求 借助于上述构建好的 `client` 对象执行具体的自然语言处理任务或其他智能计算功能。例如发送提示词获取回复内容的操作可参照下面代码片段所示方式完成。 ```java String response = client.createChatCompletion( Arrays.asList(new ChatMessage(ChatRole.USER, "你好")), Model.ID_003, null ); System.out.println(response); ``` 以上过程展示了怎样快速搭建基于 Java 技术栈的应用程序框架,从而有效连接至第三方提供的先进人工智能服务平台——DeepSeek,同时享受后者所提供的广泛兼容性和便捷易用性的双重优势。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷迷的k

感谢长的这么帅还来打赏我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值