Spring Boot + DeepSeek 实战来了:完美运行!真的太香了!

DeepSeek 是国内研发的一款大语言模型(LLM),在代码理解和生成方面表现突出,甚至在一些测试中超过了 GPT-4。相比其他模型,它的本地化适配更好,最重要的是,它提供的 API 无需复杂网络环境。

这篇我要分享的是,如何使用 Spring Boot 集成 DeepSeek 搭建一个 AI 智能问答服务,让用户可以输入问题,然后调用 DeepSeek API 进行智能回答。

1、创建 Spring Boot 项目

首先创建一个标准的 Spring Boot 项目,你可以用 Spring Initializr 生成,也可以用 IDEA 等开发工具创建。

Spring Boot 基础就不介绍了,推荐看这个实战项目:

https://github.com/javastacks/spring-boot-best-practice

添加依赖

项目创建完成后,先修改 pom.xml 添加必要的依赖:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-bom</artifactId>
            <version>1.0.0-M5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
    </dependency>
</dependencies>

主要添加 spring-ai-bomspring-ai-openai-spring-boot-starter 依赖,前者可以放在父项目中,后者放在子项目中继承即可。

需要注意的是:

因为目前 Spring AI 还没有发布正式版,在 Maven 中央仓库中还找不到正式依赖,所以需要再添加 spring-milestonesspring-snapshots 仓库。

添加 DeepSeek 配置参数

然后,在 application.yml 配置 DeepSeek API:

spring:
  ai:
    openai:
      api-key: "sk-xxxxxx" # 安全起见,从系统环境变量读取
      base-url: https://api.deepseek.com
      chat:
        options:
          model: deepseek-chat
          temperature: 0.5

安全起见,API KEY 可以设置从系统环境变量读取:

export SPRING_AI_OPENAI_API_KEY="sk-xxxxxx" # 真实 API KEY

如果从系统环境变量读取,不要忘记使用 source 命令生效。

聊天配置项解释如下表:

配置参数说明
spring.ai.openai.api-keyOpenAI API 的密钥,用于身份验证和访问权限。
spring.ai.openai.base-urlOpenAI API 的基础 URL,用于指定 API 请求的端点。
spring.ai.openai.chat.options.model指定使用的聊天模型。
spring.ai.openai.chat.options.temperature控制生成文本的随机性。值越低,生成的文本越确定和一致;值越高,生成的文本越随机。

以上只是文本生成的几个核心参数,更多配置参数可以参考以下几个参数配置类:

  • OpenAiParentProperties
  • OpenAiConnectionProperties
  • OpenAiChatProperties

完整的类结构图如下:

图片

在《王炸!Spring 宣布接入 DeepSeek!!》一文中说了,Spring AI 目前是通过使用现有的 OpenAI 客户端与 DeepSeek AI 集成的:

图片

所以,以上 OpenAI 配置参数也是和 DeepSeek 兼容的。

2、集成 DeepSeek API

上面提到,Spring AI 中的 DeepSeek API 目前还是走的 OpenAI 客户端,所以,要使用 DeepSeek,只需要在 API 中需要注入一个 OpenAiChatModel 客户端实例来发起请求。

参考代码如下:

/**
 * 微信公众号:Java技术栈
 */
@Slf4j
@RestController
@RequiredArgsConstructor
public class ChatController {

    private final OpenAiChatModel chatModel;

    /**
     * 聊天接口
     * @param message
     * @return
     */
    @GetMapping("/ds/chat")
    public String generate(@RequestParam(value = "message", defaultValue = "hello") String message) {
        return this.chatModel.call(message);
    }

    /**
     * 流式聊天接口
     * @param message
     * @return
     */
    @GetMapping("/ds/chatStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "hello") String message) {
        Prompt prompt = new Prompt(new UserMessage(message));
        return this.chatModel.stream(prompt);
    }

}

普通聊天和流式聊天的区别是:

普通聊天是一次性返回结果,流式聊天是几个字几个字的返回,流式聊天返回的结果需要前端框架进行封装。

这样,我们的 Spring Boot + DeepSeek API 智能问答接口就完成了。

3、效果测试

启动 Spring Boot 项目后,我们可以通过 Postman 或浏览器访问:

http://localhost:8080/api/chat?message=xxx

如果配置没问题,你会收到 DeepSeek 生成的回答。

测试示例如下:

图片

图片

Spring Boot + DeepSeek 完美运行!真的太香了!

Spring Boot 处理 HTTP 请求,再通过 DeepSeek API 进行 AI 交互,轻松打造一个 AI 智能问答系统,整个接入流程和 API 使用非常轻松。

以上只是简单的接入,你也可以进一步扩展,比如增加前端用户界面增加用户会话记录,甚至接入微信、钉钉机器人,让 AI 真正赋能企业业务。

本文完整示例代码已上传 Github:

https://github.com/javastacks/spring-boot-best-practice/tree/master/spring-boot-ai

接入,你也可以进一步扩展,比如增加前端用户界面增加用户会话记录,甚至接入微信、钉钉机器人,让 AI 真正赋能企业业务。

本文完整示例代码已上传 Github:

https://github.com/javastacks/spring-boot-best-practice/tree/master/spring-boot-ai

赶紧试试吧,感受 AI 的魅力吧!

如何学习AI大模型?

大模型的发展是当前人工智能时代科技进步的必然趋势,我们只有主动拥抱这种变化,紧跟数字化、智能化潮流,才能确保我们在激烈的竞争中立于不败之地。

那么,我们应该如何学习AI大模型?

对于零基础或者是自学者来说,学习AI大模型确实可能会感到无从下手,这时候一份完整的、系统的大模型学习路线图显得尤为重要。

它可以极大地帮助你规划学习过程、明确学习目标和步骤,从而更高效地掌握所需的知识和技能。

这里就给大家免费分享一份 2025最新版全套大模型学习路线图,路线图包括了四个等级,带大家快速高效的从基础到高级!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
在这里插入图片描述
👉2.大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)

img

大模型教程

👉3.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)

img

电子书

👉4.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)

img

大模型面试

**因篇幅有限,仅展示部分资料,需要的扫描下方二维码领取 **

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员一粟

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值