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-bom
和 spring-ai-openai-spring-boot-starter
依赖,前者可以放在父项目中,后者放在子项目中继承即可。
需要注意的是:
因为目前 Spring AI 还没有发布正式版,在 Maven 中央仓库中还找不到正式依赖,所以需要再添加
spring-milestones
和spring-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-key | OpenAI API 的密钥,用于身份验证和访问权限。 |
spring.ai.openai.base-url | OpenAI 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.大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)
大模型教程
👉3.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)
电子书
👉4.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)
大模型面试
**因篇幅有限,仅展示部分资料,需要的扫描下方二维码领取 **