SpringBoot整合DeepSeek实现AI对话功能,
SpringBoot整合DeepSeek实现AI对话功能,
目录
- Spring AI
- 版本依赖
- 整合DeepSeek API key
- 整合本地化部署的DeepSeek R1模型
本篇博文会分为DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用,本地化私有部署可以参考这篇博文:本地私有化部署DeepSeek模型的详细教程_其它综合_3672js教程
Spring AI
Spring AI 是由 Spring(一个广泛使用的开源框架)推出的一个新项目,旨在将 人工智能(AI) 集成到 Spring 应用程序中。Spring 是一个支持 Java 开发的框架,而 Spring AI 使得 Java 开发人员能够更容易地构建、管理和集成人工智能模型和机器学习功能。
我们这里直接使用Spring官方提供的相关依赖来整合,官网地址:https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html
本篇博文主要就是采用的spring ai提供的两个starter依赖进行配置整合,分别是spring-ai-openai-spring-boot-starter
和spring-ai-ollama-spring-boot-starter
版本依赖
根据官网的描述,spring ai框架支持的SpringBoot版本应该是3.2.x 和 3.3.x
而SpringBoot 3.2.x 和 3.3.x依赖的JDK版本最低应该也是JDK17,所以这里演示整合的代码都是基于spring boot 3.3.8 以及 JDK17
整合DeepSeek API key
进入DeepSeek开放平台页面,注册账号登录后,可以创建API key,新账号有赠送的10元额度,具体价格可以参考这里:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/
有了API key后我们可以开始构建工程了,基于springboot 3.3.8版本搭建一个工程,引入以下依赖:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-openai-spring-boot-starter</artifactId> </dependency>
增加以下配置:
spring: ai: openai: base-url: https://api.deepseek.com api-key: sk-xxxxxxxxxxxxxxxxx chat: options: model: deepseek-chat
项目会自动装配OpenAiAutoConfiguration
,就可以在需要的地方注入OpenAiChatModel
代码如下:
@Resource private OllamaChatModel chatModel; private final List<Message> chatHistoryList = new ArrayList<>(); @PostConstruct public void init() { chatHistoryList.add(new SystemMessage("You are a helpful assistant.")); } @GetMapping("/chat") public ChatResponse test(String message) { chatHistoryList.add(new UserMessage(message)); Prompt prompt = new Prompt(chatHistoryList); ChatResponse chatResponse = chatModel.call(prompt); if (chatResponse.getResult() != null && chatResponse.getResult().getOutput() != null) { chatHistoryList.add(chatResponse.getResult().getOutput()); } return chatResponse; }
整合本地化部署的DeepSeek R1模型
本地化私有部署可以参考这篇博文:本地私有化部署DeepSeek模型的详细教程_其它综合_3672js教程部署完成后同样是基于springboot 3.3.8版本搭建一个工程,引入的依赖就换为:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> </dependency>
增加以下配置:
spring: ai: ollama: base-url: http://localhost:11434 chat: model: deepseek-r1:1.5b
项目会自动装配OllamaAutoConfiguration,就可以在需要的地方注入ollamaChatModel
代码跟使用spring-ai-openai-spring-boot-starter几乎一样,只是注入的ChatModel类换成了OllamaChatModel
而且实测本地化部署也可以使用spring-ai-openai-spring-boot-starter,修改配置文件如下:
spring: ai: openai: base-url: http://localhost:11434 api-key: xxxxxxx chat: options: model: deepseek-r1:1.5b
其他也就一样了,只是把地址换成了本地ollama的服务地址,api-key不需要了但是也不能不填,不填会报错,模型就配置本地有的模型即可
如果想像网站那样可以一个字一个字的输出,也可以调用chatModel.stream流式输出爱的回复
到此这篇关于SpringBoot整合DeepSeek实现AI对话功能的文章就介绍到这了,更多相关SpringBoot DeepSeek实现AI对话内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!
您可能感兴趣的文章:- springboot接入deepseek深度求索代码示例(java版)
- SpringBoot调用DeepSeek API的完整操作指南
- SpringBoot接入deepseek深度求索示例代码(jdk1.8)
- SpringBoot或SpringAI对接DeepSeek大模型的详细步骤
用户点评