在Spring Boot系统中接入DeepSeek服务,并将其提供给用户使用,通常需要以下步骤:
一、准备工作
(1)注册DeepSeek开发者账号
访问DeepSeek官网,注册并创建应用,获取API Key。
API文档:DeepSeek文档

(2)查阅DeepSeek的API文档,了解接口地址、请求参数和返回格式。
(3)确保已有一个Spring Boot项目,或者创建一个新的Spring Boot项目。
(4)确保已有一个Spring Boot项目,或者创建一个新的Spring Boot项目。
(5)JDK版本必须17版本以上。
二、集成步骤
引入POM包
java
<!-- deepseek 开始 -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version> <!-- 用最新稳定版 -->
</dependency>
<!-- JSON处理 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version> <!-- 使用最新稳定版本 -->
</dependency>
<!-- deepseek 结束 -->
三、创建请求类
java
import lombok.Data;
import java.util.List;
@Data
public class ChatRequest {
private String model;
private List<Message> messages;
@Data
public static class Message {
private String role;
private String content;
// 添加构造函数
public Message(String role, String content) {
this.role = role;
this.content = content;
}
}
}
java
import lombok.Data;
import java.util.List;
@Data
public class DeepSeekResponse {
private List<Choice> choices;
@Data
public static class Choice {
private Message message;
@Data
public static class Message {
private String role;
private String content;
}
}
}
四、请求参数类
java
import lombok.Data;
/**
* 返回结果
*/
@Data
public class ResultMess
{
//输入咨询内容
private String message;
}
五、实现调用
1.需要注意传入的api 需要换成自己再deepseek平台申请的api。
2.发送请求调用的地址是: https://api.deepseek.com/v1/chat/completions
java
import com.aigc.common.core.domain.AjaxResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import java.util.List;
/**
* deepseek 控制器
*/
@RestController
@RequestMapping("/system/deepseek")
public class DeepseekController
{
private final RestTemplate restTemplate = new RestTemplate();
public String callDeepSeek(String userMessage) {
// 记录请求开始时间
long startTime = System.currentTimeMillis();
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.set("Content-Type", "application/json");
//todo 传入对应的api key
headers.set("Authorization", "Bearer " + "sk-074d2b621ac6ef292");
// 构建请求体
ChatRequest request = new ChatRequest();
request.setModel("deepseek-chat");
request.setMessages(List.of(new ChatRequest.Message("user", userMessage)));
// 发送请求
//todo https://api.deepseek.com/v1/chat/completions 调用地址
HttpEntity<ChatRequest> entity = new HttpEntity<>(request, headers);
ResponseEntity<DeepSeekResponse> response = restTemplate.exchange(
"https://api.deepseek.com/v1/chat/completions", HttpMethod.POST, entity, DeepSeekResponse.class);
// 解析响应
String result;
if (response.getStatusCode().is2xxSuccessful() && response.getBody() != null) {
result = response.getBody().getChoices().get(0).getMessage().getContent();
} else {
throw new RuntimeException("Failed to call DeepSeek API: " + response.getStatusCode());
}
// 记录请求结束时间
long endTime = System.currentTimeMillis();
// 计算接口执行耗时
long duration = endTime - startTime;
System.out.println("调用 DeepSeek API 耗时: " + duration + " 毫秒");
return result;
}
/**
* 调用 deepseek 接口
* @param resultMess
*/
@PostMapping("/chat")
public AjaxResult chat(@RequestBody ResultMess resultMess) {
AjaxResult ajaxResult = new AjaxResult();
//返回的结果
ajaxResult.put("message", this.callDeepSeek(resultMess.getMessage()));
ajaxResult.put("success", 200);
return ajaxResult;
}
}
六、通过调用接口返回内容
七、调用之后想法
1.总体来说还可以把。
2.就是返回内容特别慢:调用 DeepSeek API 耗时: 38154 毫秒。
3.每次调用是0.01元