当前位置: 首页 > news >正文

SpringBoot对接DeepSeek

文章目录

  • Spring Boot 集成 DeepSeek API 详细步骤
    • 1. 创建API Key
      • 1.访问 [DeepSeek控制台](https://platform.deepseek.com/usage) 并登录。
      • 2.点击 Create API Key 生成新密钥。
      • 3.复制并保存密钥(需在Spring Boot配置文件中使用)。
    • 2. 创建Spring Boot工程
    • 3. 配置项目依赖
    • 4. 核心代码实现
      • 4.1 定义响应实体类
      • 4.2 控制器实现(支持SSE流式响应)
    • 5. 配置文件说明
    • 6. 测试与验证
      • 6.1启动应用后,通过浏览器或工具发送请求:
      • 6.2预期输出(流式响应):

Spring Boot 集成 DeepSeek API 详细步骤

1. 创建API Key

1.访问 DeepSeek控制台 并登录。

在这里插入图片描述

2.点击 Create API Key 生成新密钥。

3.复制并保存密钥(需在Spring Boot配置文件中使用)。

2. 创建Spring Boot工程

使用 Spring Initializr 创建项目,选择以下依赖:

  • Spring Web

  • Lombok(简化实体类代码)

3. 配置项目依赖

在 pom.xml 中添加必要依赖:

<!-- OkHttp 实现HTTP请求 -->
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.12.0</version>
</dependency>

<!-- FastJSON 用于JSON解析 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.48</version>
</dependency>

<!-- SSE 事件流支持 -->
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp-sse</artifactId>
    <version>4.12.0</version>
</dependency>

4. 核心代码实现

4.1 定义响应实体类

@Data
public class AiResult {
   
    private Integer code;
    private String message;
    private String sid;
    private String id;
    private Long created;
    private List<AiResultChoices> choices;
    private AiResultUsage usage;
}

@Data
public class AiResultChoices {
   
    private AiResultDelta delta;
    private Integer index;
}

@Data
public class AiResultDelta {
   
    private String role;
    private String content;
}

@Data
public class AiResultUsage {
   
    private Integer prompt_tokens;
    private Integer completion_tokens;
    private Integer total_tokens;
}

@Data
public class ContentDto {
   
    private String content;
}

4.2 控制器实现(支持SSE流式响应)

/**
 * DeepSeek AI接口请求控制器
 * 功能:处理SSE(Server-Sent Events)流式请求,与DeepSeek API交互
 * 主要职责:
 * 1. 接收前端SSE请求
 * 2. 构造DeepSeek API请求
 * 3. 处理流式响应并转发给客户端
 * 4. 管理连接生命周期和异常处理
 */
@RestController
public class SeekController {
   
    // 日志记录器
    private static final Logger log = LoggerFactory

相关文章:

  • 模板方法设计模式在事件处理中的应用
  • JavaScript 金额运算精度丢失问题及解决方案
  • 【LLMs篇】05:RMSNorm
  • AI 大模型统一集成|微服务 + 认证中心:如何保障大模型 API 的安全调用!
  • docker 部署elk 设置账号密码
  • MAT 启动报错
  • MySQL数据库精研之旅第一期:开启数据管理新旅程
  • yum软件包乾坤大挪移(Yum Package Qiankun Great Migration)
  • mysql 数据库异常排查
  • 认知篇#4:YOLO评价指标及其数学原理的学习
  • 单表查询和多表查询
  • 时序分析笔记
  • PyCharm 5的Python IDE的功能(附工具下载)
  • 建筑兔零基础自学记录49|python爬取百度地图POI实战-3
  • 康谋方案 | AVM合成数据仿真验证方案
  • 优选算法系列(2.滑动窗口_下)
  • Java+Html实现前后端客服聊天
  • anythingLLM之stream-chat传参
  • HttpServletRequest 获取 JSESSIONID
  • 3、数据库的事务隔离级别有哪些?【高频】
  • 快评|印巴为何停火?已达成“一场胜利,各自表述”的效果
  • 新城市志|上海再攻坚,营商环境没有最好只有更好
  • 沃旭能源因成本上升放弃英国海上风电项目,或损失近40亿元
  • 异域拾异|大脚怪的形状:一项神秘社会学研究
  • 前4个月我国货物贸易进出口同比增长2.4%,增速较一季度加快1.1个百分点
  • 水利部:山西、陕西等地旱情将持续