DeepSeek4j: Java应用一行代码集成DeepSeek R1
DeepSeek R1 凭借其强大的思维链能力在开发者中广受欢迎。deepseek4j 框架提供了完整的 Java 集成方案,支持多个平台包括 Gitee AI,并带来联网搜索、多渠道支持等重要特性。本文将详细介绍如何使用 deepseek4j 快速集成 DeepSeek R1。
一、为什么需要 deepseek4j?
1.1 现有框架的局限性
- 框架支持不足:LangChain4j/Spring AI 对 DeepSeek 支持不完善
- 思维链内容丢失:R1 最核心的推理过程完全被忽略
- 流式处理不完善:用户体验欠佳
1.2 deepseek4j 的优势
deepseek4j 是一个专为 Java 开发者打造的 DeepSeek 模型集成框架。通过优雅的 API 设计,只需一行代码,即可实现接入 DeepSeek,并获得以下核心能力:
- ✨ 完整思维链保留:完美保留 DeepSeek 模型的推理过程
- 🚀 流式输出体验:基于 Reactor 实现的流式响应
- 🛠 简单优雅的 API 设计
- 📦 开箱即用的 Spring Boot 集成
- 💡 内置调试页面
- 🔍 详细的请求响应日志
- 🔧 灵活的代理配置
- ⚡️ 响应式编程支持
二、快速开始
2.1 添加依赖
<dependency>
<groupId>io.github.pig-mesh.ai</groupId>
<artifactId>deepseek-spring-boot-starter</artifactId>
<version>last-version</version>
</dependency>
2.2 配置参数
在 application.properties 或 application.yml 中添加以下配置:
deepseek:
# Gitee AI 平台配置
base-url: https://ai.gitee.com/v1
model: DeepSeek-R1
api-key: your-gitee-ai-api-key
2.3 基础使用
@Autowired
private DeepSeekClient deepSeekClient;
// sse 流式返回
@GetMapping(value = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chat(String prompt) {
return deepSeekClient.chatFluxCompletion(prompt);
}
2.4 进阶配置
public Flux<ChatCompletionResponse> chat(String prompt) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
// 模型选择,使用 Gitee AI 的 DeepSeek-R1
.model(ChatCompletionModel.DEEPSEEK_CHAT)
// 添加用户消息
.addUserMessage(prompt)
// 添加助手消息,用于多轮对话
.addAssistantMessage("上轮结果")
// 添加系统消息,用于设置角色和行为
.addSystemMessage("你是一个专业的助手")
// 设置最大生成 token 数,默认 2048
.maxTokens(1000)
// 设置响应格式,支持 JSON 结构化输出
.responseFormat()
.tools() // function calling
.build();
return deepSeekClient.chatFluxCompletion(request);
}
三、高级特性
3.1 联网搜索支持
- 突破时间边界:模型不再受限于预训练数据的时间范围,可以获取和处理最新信息
- 实时信息获取:通过高质量信息源获取实时资讯,提供更精准的问答服务
- 差异化竞争:在大模型同质化严重的当下,联网搜索成为关键的差异化竞争点
@GetMapping(value = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chat(String prompt) {
// 指定联网搜索参数
SearchRequest searchRequest = SearchRequest.builder()
.enable(true)
.freshness(FreshnessEnums.ONE_DAY)// 一天内的数据
.summary(true) // 返回摘要
.count(10) // 返回10条
.page(1) // 第一页
.build();
return deepSeekClient.chatSearchCompletion(prompt,searchRequest);
}
3.2 智能系统提示词
系统提示词(System Prompt)是基于模型开发的应用程序内置的指令,让决定了模型在特定上下文中的表现方式、回答风格和功能范围。
为了解决部分渠道模型部署时推理能力不稳定的问题,新版本引入了与 DeepSeek R1 官方版本一致的系统提示词功能:
- 通过精心设计的提示词模板,确保模型输出的一致性和可靠性
- 内置多层级的提示词优化策略,显著提升推理质量
3.3 调试支持
双击运行根目录的 sse.html 文件,即可打开调试页面。在页面中输入后端 SSE 接口地址,点击发送后可实时查看推理过程和最终结果。
针对非标准平台,新增了智能化的调试功能:
- 自动处理
<think>标签内容 - 智能提取
reason_content - 优化多轮对话的token占用
四、多渠道支持
deepseek4j 支持多个部署渠道:
详细的使用文档请参考:



