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

SpringAI整合deepseek的一个简单入门案例

注意:

1、本文大模型以deepseek为例,需提前到DeepSeek官网申请到key。

2、本文采用的调用deepseek在线api的方式。本地化部署请参考:https://blog.csdn.net/shenxiaomo1688/article/details/149297233?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223ec1ad38708d28de772dae921cc5a63e%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=3ec1ad38708d28de772dae921cc5a63e&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149297233-null-null.nonecase&utm_term=%E6%8E%A5%E5%85%A5AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E7%AE%80%E5%8D%95%E4%BD%BF%E7%94%A8%28%E4%BA%8C%29&spm=1018.2226.3001.4450

一、下载依赖

如果maven使用的是阿里云镜像地址下载不到下面的依赖:

spring-ai-openai-spring-boot-starter

可以在maven中指定仓库,如下所示

<!--下载spring-ai相关包需要用到的仓库地址-->
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository>
</repositories>

附pom.xml中完整配置

<?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 http://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.8</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>org.example</groupId><artifactId>springai-deepseek-demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><spring-ai.version>1.0.0-M5</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>1.0.0-SNAPSHOT</version></dependency>--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency><!--引入lombok依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><scope>provided</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!--下载spring-ai相关包需要用到的仓库地址--><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories></project>

二、配置springai的api地址和key,这里以deepseek为例

server.port=9899
spring.application.name=spring-ai-deepseek-demospring.ai.openai.api-key=sk-c1efe9e2c2874f7cae1c7******
spring.ai.openai.base-url=https://api.deepseek.com
spring.ai.openai.chat.options.model=deepseek-chat
spring.ai.openai.chat.options.temperature=0.7

注意:

 1.api-key需替换为自己在deepseek上申请到的key; 

2.关于temperature参数说明,请参考下文和项目需要进行配置。

temperature值越高‌,生成的文本越多样化,但也可能包含更多的随机性和不可预测的内容。
  值越低‌,生成的文本越接近于确定性的结果,即生成的文本会更加一致和可预测。

三、创建controller,开发api

@RestController
@RequiredArgsConstructor
@RequestMapping("/api/v1/deepseek")
public class DeepSeekController {private final OpenAiChatModel chatModel;@GetMapping("/chat")public String chat(@RequestParam String message) {String response = chatModel.call(message);System.out.println(response);return response;}
}

然后启动项目,开始测试,当传入的参数message的值为hello时测试效果如下:

当message传入的值为Java时

http://www.dtcms.com/a/589552.html

相关文章:

  • 突破智能体训练效率瓶颈:Tree Training如何通过共享前缀重用实现3.9倍加速?
  • Java面试题及答案整理( 2025年11月更新版,持续更新...)
  • 定制营销型网站公司色目人
  • 网站普查建设背景网站推广建议
  • 做网站永久嘟嘟浏览器
  • PS1模拟器 DuckStation更新最新版整合 下载即玩 附PS1Bios/游戏/金手指 安卓版+电脑版
  • Java复习事务相关 mysql事务隔离级别 spring事务的传播机制 2025年11月9日
  • 做网站公司排行榜洛阳做网站公司电话
  • 如何发布网站站长是什么职位
  • Vue基本路由
  • 基于springboot的作业管理系统设计与实现
  • Tauri开发手记——1.开发环境
  • 天翼云 ECS 弹性云主机的IP地址无法访问,无法访问 ECS 的网站,解决方案(随手记)
  • 名费网站制作视频教程淘宝代运营公司哪家好
  • 【开题答辩全过程】以 基于springboot美食分享网站为例,包含答辩的问题和答案
  • 福永自适应网站建智能建站系统官网
  • 【FPGA+DSP系列】——MATLAB simulink仿真整流电路
  • (* clock_buffer_type=“NONE“ *)
  • 上海网站建设最佳方案本地wordpress 上传到服务器
  • 消除FFmpeg库的SONAME依赖
  • 网站制作金华公司电话免费培训seo
  • Qt编程Action:Qt的自动反色方案
  • 福田网站建设费用明细国际消息新闻
  • 网站备案失败wordpress 模版标签
  • Linux开发工具(4)
  • 怎么办一个网站wordpress个人中心无法登录
  • U-Net:用于生物医学图像分割的卷积网络,经典中的经典,后续所有创新改进的起点
  • 基于n8n构建最新资讯自动获取:从RSS抓取到智能分析实践
  • 深圳注明企业网站设计山西网站建设方案
  • 【强化学习】可证明安全强化学习(Provably Safe RL)算法详细介绍