当前位置: 代码网 > it编程>编程语言>Java > SpringBoot整合DeepSeek实现AI对话功能

SpringBoot整合DeepSeek实现AI对话功能

2025年02月13日 Java 我要评论
本篇博文会分为deepseek开放平台上的api,以及本地私有化部署deepseek r1模型两种方式来整合使用,本地化私有部署可以参考这篇博文:本地私有化部署deepseek模型的详细教程_其它综合

本篇博文会分为deepseek开放平台上的api,以及本地私有化部署deepseek r1模型两种方式来整合使用,本地化私有部署可以参考这篇博文:本地私有化部署deepseek模型的详细教程_其它综合_代码网

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-starterspring-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模型的详细教程_其它综合_代码网部署完成后同样是基于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对话内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com