哈喽哈喽~ 各位小伙伴们集合啦! 👋我是小特同学,没错,我又来啦~ 今天正式解锁新副本:SpringAI 学习! 心情激动到搓手手,但学习咱不着急,放慢脚步,稳扎稳打才是王道,一起冲!😎
一、准备工作
1. 申请秘钥
🤔俺想要接入DeepSeek 的 API咋办尼? 1、进入官网👉https://platform.deepseek.com/api_keys
2、我们会进入到这个页面的哇~
你看要消费是吧,😂没错滴,要用DeepSeek大API咱得开通哈,但是咱处于学习阶段的话,可以充值1元,对吧,等用完啦,咱在继续充值,因为这个东西是学习的话使用不了多少。
3、那么充值好之后,咱得注意秘钥哦~
如果我们没有复制秘钥的话,就只能重新再创建一个啦🌶️,创建好之后记得:将你的秘钥复制好,存在一个你自己知道的地方,⚠️不要给别人使用哦,不然就真的是你的钱被别花啦😄~
2. 看API文档
🤔我要用API,那么如何下手呢? 很简单滴,咱看官方文档🚀,如下👇
我和DeepSeek的AI服务器怎么沟通呢???🤔 ✨哈哈,人家规定了一套规则,那么这套规则如下所示:
😄,看完之后是不是还是觉得这个规则 挺多的呀,🤔那完啦,是不是咱后面都这么写呀???
这个就是为什么我们需要学习SpringAI啦,SpringAI把这些都封装好啦,咱们就不需要考虑那么多了,所以让我们开始学习第一个SpringAI程序吧,看我们如何接入DeepSeek
二、SpringAI接入DeepSeek
1. 创建父工程
创建项目咱使用的是父子工程的模式,因为这样方便我们的代码进行维护~~ 1、首先创建一个父工程
2、咱是父工程所以不需要src目录,直接删啦
3、修改我们的pom文件,我使用的是下面的pom文件
<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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><groupId>org.example</groupId><artifactId>spring-ai-project</artifactId><version>1.0-SNAPSHOT</version><!-- 声明⽗⼯程的打包⽅式为pom --><packaging>pom</packaging><!-- 完善依赖,我们使用的spring版本是3.5.3 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.3</version><relativePath/></parent><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties></project>

2. 创建子工程
1、创建子项目,我们不使用Spring项目插件,我们直接建一个空的模块,然后我们自己去搭建spring项目结构
2、创建好之后,补充我们spring项目所需要的东西
补充pom文件中的依赖
<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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"><parent><artifactId>spring-ai-project</artifactId><groupId>org.example</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>spring-ai-demo</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></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></dependencies><!--插件--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

补充启动类
@SpringBootApplicationpublic class SpringAiApplication {publicstaticvoidmain(String[] args) {SpringApplication.run(SpringAiApplication.class, args);}}

补充yml文件
3. 接入deepseek前置工作
咱们是使用SpringAI来接入deepseek的,所以得需要加入SpringAI的依赖。
🤔那SpringAI 是啥?为啥要加依赖?跟 DeepSeek 啥关系?
3.1. SpringAI 到底是干啥的?
一句话:SpringAI = SpringBoot 官方给 AI 接口做的“统一外套”
我们可以把它理解成:
以前你调用 DeepSeek、OpenAI、豆包、通义千问…… 每家 API 格式都不一样,参数不一样,写法不一样,很烦。 现在 SpringAI 帮你统一了一套写法 你只需要学一套代码,换个配置就能对接任何 AI。
就像:
你有很多插头(各家AI) SpringAI 就是万能插排 你只需要插上去,不用管里面怎么接线
3.2. 为什么必须加 SpringAI 依赖?
因为:我们现在写的是 SpringBoot 项目,但 SpringBoot 本身不自带 AI 功能!
你不加依赖 → 项目里没有 AI 相关类 加了依赖 → 才能用 ChatClient这类东西去调用 AI不加就会爆红、报错、找不到类
就像你想玩手机拍照,必须要有摄像头硬件一样,依赖就是那个“摄像头”。
3.3. 我们现在做的事情逻辑是这样
所写的项目: SpringBoot ← 依赖 SpringAI ← 对接 DeepSeek API
SpringAI 负责:统一调用方式、处理对话、流式输出、异常等 DeepSeek 负责:真正的 AI 思考、回答内容 你只负责:写业务代码,不用管底层 HTTP 请求
3.4. 总结
- DeepSeek
:真正的AI大脑 - SpringAI
:帮你轻松连接AI的工具包 - SpringBoot
:你的项目框架 - 依赖
:把工具包引进来
不加依赖 = 有车没油,跑不起来。
3.5 添加SpringAI的BOM
导入BOM的官网👉https://docs.spring.io/spring-ai/reference/getting-started.html
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-M6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
解释为什么需要加入BOM?
BOM = 版本管理员 它的作用只有一个:帮你统一管理所有 SpringAI 相关依赖的版本号,不让它们打架。
1. 不加 BOM 会怎样? 你要用到 SpringAI 的很多工具:
spring-ai-core spring-ai-openai spring-ai-chat ……
如果你一个个自己写版本号,很容易出现:
这个是 1.0.0 那个是 1.0.1 另一个是 0.9.0
结果就是:版本不兼容 → 项目爆红、启动失败、报错满天飞!
就像: 你买了一堆零件组装电脑, CPU 是新款,主板是老款,不兼容 → 装不起来 → 电脑用不了
2. 加了 BOM 会怎样? 你只需要在 dependencyManagement 里加一次 BOM:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-M6</version><type>pom</type><scope>import</scope></dependency>
从此以后:你引入任何 SpringAI 依赖,都不用写版本号! BOM 会自动给你匹配最兼容、最稳定、最配套的版本。
就像: 你买了一整套品牌原装电脑零件 厂家已经帮你配好所有兼容版本 你只管装,不用管型号对不对
3. 最核心的 2 个作用
不用手动写版本号 引入依赖时干干净净:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>
2. 保证所有依赖版本统一、不冲突、不报错 这是 Spring 官方强制推荐的方式。
3.6 要加的依赖大概长这样
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><!--<version>1.0.0-M6</version>--><!--如果你上述将BOM引入进来了,那么此处就不需要版本了--></dependency>
因为 DeepSeek 兼容 OpenAI 格式,所以用这个依赖就能直接对接。
4. 接入deepseek
1、需要添加依赖 上述已完成
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>
2、配置秘钥
spring:ai:openai:# 下面是我们的DeepSeek的api相关配置api-key: sk-your-key # 你自己的API秘钥base-url: https://api.deepseek.comchat: # 注意格式要对齐,我们的Spring才能够管理得到options:model: deepseek-chat # 模型temperature: 0.7 # 模型的参数0-2之间 数值越高,那么结果更加随机 数值越低,那么数值就越聚焦

3、编写接口去调用deepseek
@RequestMapping("/deepseek")@RestControllerpublic class DeepSeekController {@Autowired//注入OpenAI聊天对象private OpenAiChatModel openAiChatModel;@RequestMapping("/chat")public String chat(String message) {return openAiChatModel.call(message);}}
代码解释:
这样我们的入门程序接入Deepseek就完毕啦 🎉🎉🎉
感谢各位的观看,如果觉得有用,记得点赞、收藏+关注,我们后续内容更加精彩👏 你的支持是我创作的动力,谢谢各位朋友🍻,咱们下期见啦👋~~
夜雨聆风