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

springboot集成deepseek

1、问题概述?

DeepSeek炙手可热,可为工作中多个场景提供深度思考。

本文主要介绍springboot工程如何接入官方的api使用DeepSeek。

使用环境介绍:springboot3.3.3+DeepSeek-V3版本。

1.1、DeepSeek版本介绍

1、‌DeepSeek-R1‌

专注提升高级推理能力,采用强化学习技术,在数学推导、代码生成、逻辑推理等复杂任务中表现卓越。

支持动态调整推理路径,可生成完整解题步骤,2025年5月升级后实现与OpenAI o3的代码生成对标。‌‌‌‌

‌2、DeepSeek-V3‌

基于混合专家架构(MoE)的通用大模型,擅长多模态处理和长文本理解。

在文本生成、多语言翻译、日常对话等场景表现优异,工程创新性强

1.2、注册deepseek并生成apikeys

注册deepseek开放平台,并创建API key

1.3、进行费用充值

充10块钱就够用了。

DeepSeek虽然是开源的,但是你如果使用官方提供的服务,是需要收费的,我测试了一下。

大概一个问题:0.005元。

我的充值,问了两个问题,总费用和已用费用

2、创建springboot工程并导入相关配置

2.1、在pom.xml中导入包

重点包:spring-ai-openai-spring-boot-starter

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.deepseek</groupId><artifactId>springbootdeepseek</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>springbootdeepseek</name><description>springbootdeepseek</description><properties><java.version>17</java.version><spring-ai.version>1.0.0</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.32</version></dependency><dependency><groupId>group.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>1.1.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

2.2、在application.yml文件中加入deepseek配置信息

* 出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。

* deepseek-chat 模型指向 DeepSeek-V3-0324, 通过指定 model='deepseek-chat' 调用。

* deepseek-reasoner 模型指向 DeepSeek-R1-0528, 通过指定 model='deepseek-reasoner' 调用。

spring:application:name: springbootdeepseekai:openai:api-key: sk-d2b7beb688194a6889073b3ee4745e29base-url: https://api.deepseek.comchat:options:model: deepseek-chattemperature: 1.5
server:port: 80

2.3、创建对话服务层

@Service
public class DeepSeekChatService{@Resourceprivate OpenAiChatModel chatModel;public String chat(String message) {return chatModel.call(message);}}

2.4、创建对话控制层

@Controller
@RequestMapping("/dpai")
public class DeepSeekController {@Resourceprivate DeepSeekChatService deepSeekChatService;@ResponseBody@RequestMapping(value = "/chat", produces = MediaType.APPLICATION_JSON_VALUE)public String chat(@RequestParam(value = "message") String message) {String msg=deepSeekChatService.chat(message);return msg;}
}

2.5、程序访问

会话的内容可能会非常的多,建议使用post请求,本文案例方便测试,使用了get请求。

首次编写时间: 2025/7/23 14:54:47

http://www.lryc.cn/news/603139.html

相关文章:

  • c++: 尾置返回类型(Trailing Return Type)
  • 【MySQL基础篇】:MySQL常用数据类型的选择逻辑与正确使用
  • 前段面试题新版
  • 【分布式版本控制系统】Git的使用
  • 完整复现cacti的RCE
  • 【Python】自动化GIT提交
  • Linux:线程同步与线程互斥
  • SpringBoot原理揭秘--自动装配
  • LeetCode 2044.统计按位或能得到最大值的子集数目:二进制枚举/DFS回溯(剪枝)
  • Leaflet 综合案例 - 路径规划
  • 3. 卷积网络代码参数解读分析
  • 前端高级综合搜索组件 SearchBox 使用详解!
  • 4.DRF 认证--Authentication4.DRF 认证--Authentication
  • django ManyToManyField 如何添加数据
  • python-内存管理
  • Kubernetes --存储入门
  • 基于FPGA和DDS原理的任意波形发生器(含仿真)
  • 做了一款小而美的本地校验器
  • 【0基础PS】PS工具详解--选择工具--对象选择工具
  • 天学网面试 —— 中级前端开发岗位
  • B树、B+树、红黑树区别
  • 安宝特案例丨AR+AI+SOP?3大技术融合革新军工航天领域
  • windows部署ACE-Step记录
  • 语音识别数据增强
  • Redis实战(3)-- 高级数据结构zset
  • C++现代Redis客户端库redis-plus-plus详解
  • 第四章:分析 Redis 性能高原因和核心字符串类型命令
  • 散点图(散点矩阵)相关介绍
  • 3. Socket 编程 TCP
  • 群晖Synology Drive:打造高效安全的私有云协作平台