springboot集成Deepseek4j
温馨提示:
本文最后更新于 2025年03月26日,已超过 58 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
Deepseek4j快速开始
Maven 依赖
在你的 pom.xml
中添加以下依赖:
<dependency>
<groupId>io.github.pig-mesh.ai</groupId>
<artifactId>deepseek-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>
基础配置
在 application.yml
或 application.properties
中添加必要的配置:
deepseek:
api-key: your-api-key-here # 必填项:你的 API 密钥
base-url: https://api.deepseek.com # 可选,默认为官方 API 地址
log-requests: true # 可选,是否记录请求日志
log-responses: true # 可选,是否记录响应日志
# 可选的超时配置(单位:秒)
connect-timeout: 10
read-timeout: 30
call-timeout: 60
# 代理配置(可选)
proxy:
host: proxy.example.com
port: 8080
# 日志级别配置(可选)
log-level: BASIC
基础使用示例
1. 流式返回示例
@Autowired
private DeepSeekClient deepSeekClient;
@GetMapping(value = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chat(String prompt) {
return deepSeekClient.chatFluxCompletion(prompt);
}
2. 进阶配置示例
@GetMapping(value = "/chat/advanced", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chatAdvanced(String prompt) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
// 模型选择,支持 DEEPSEEK_CHAT、DEEPSEEK_REASONER 等
.model(ChatCompletionModel.DEEPSEEK_REASONER)
// 添加用户消息
.addUserMessage(prompt)
// 添加助手消息,用于多轮对话
.addAssistantMessage("上轮结果")
// 添加系统消息,用于设置角色和行为
.addSystemMessage("你是一个专业的助手")
// 设置最大生成 token 数,默认 2048
.maxTokens(1000)
// 设置响应格式,支持 JSON 结构化输出
.responseFormat(...) // 可选
// function calling
.tools(...) // 可选
.build();
return deepSeekClient.chatFluxCompletion(request);
}
3. 同步输出 (非实时响应流)
不推荐使用同步阻塞调用方式,R1模型推理耗时较长易导致客户端连接超时,且响应延迟会影响用户体验
@GetMapping(value = "/sync/chat")
public ChatCompletionResponse syncChat(String prompt) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
// 根据渠道模型名称动态修改这个参数
.model(deepSeekProperties.getModel())
.addUserMessage(prompt).build();
return deepSeekClient.chatCompletion(request).execute();
}
正文到此结束
- 本文标签: AI Spring Boot
- 本文链接: https://www.yynhworld.cn/article/40
- 版权声明: 本文由御影年华原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权