分为以下几个步骤:
1、新建Springboot项目
2、进deepseek开放平台官网申请API key
网址:https://platform.deepseek.com/usage

3、配置application.yml文件,springboot项目默认是application.properties,它对中文不友好,需要改成application.yml:

bash
# 设置Spring应用的名称为spring-ai
spring:
application:
name: spring-ai
# DeepSeek AI配置
ai:
deepseek:
# 配置DeepSeek API密钥,用于身份验证
api-key: sk-7d608ca9235b422b8ae5acfcc2df7d55
chat:
options:
# 配置DeepSeek聊天模型为deepseek-reasoner(推理模型)
model: deepseek-reasoner
spring.ai.deepseek.api-key这个值填写从官网上申请的apikey。
4、添加maven依赖
我的依赖如下(可以全部拷贝过去):
bash
<?xml version="1.0" encoding="UTF-8"?> <!-- XML声明,指定版本和编码格式为UTF-8 -->
<!-- project标签是Maven项目的根元素,定义了命名空间和XML Schema位置 -->
<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> <!-- 指定POM模型版本为4.0.0 -->
<parent> <!-- 定义父项目,继承Spring Boot的默认配置 -->
<groupId>org.springframework.boot</groupId> <!-- 父项目的组织ID -->
<artifactId>spring-boot-starter-parent</artifactId> <!-- 父项目的Artifact ID -->
<version>3.4.2</version> <!-- Spring Boot版本号为3.4.2 -->
<relativePath/> <!-- 从仓库中查找父项目,不从本地相对路径查找 -->
</parent>
<groupId>com.zkwm.springai</groupId> <!-- 当前项目的组织ID,用于唯一标识项目 -->
<artifactId>spring-ai</artifactId> <!-- 当前项目的Artifact ID,即项目名称 -->
<version>0.0.1-SNAPSHOT</version> <!-- 项目版本号,SNAPSHOT表示开发版本 -->
<name>spring-ai</name> <!-- 项目的显示名称 -->
<description>spring-ai</description> <!-- 项目的描述信息 -->
<url/> <!-- 项目的URL地址,当前为空 -->
<licenses> <!-- 项目许可证信息 -->
<license/> <!-- 许可证详情,当前为空 -->
</licenses>
<developers> <!-- 项目开发者信息 -->
<developer/> <!-- 开发者详情,当前为空 -->
</developers>
<scm> <!-- 软件配置管理信息,用于版本控制 -->
<connection/> <!-- SCM连接地址,当前为空 -->
<developerConnection/> <!-- 开发者SCM连接地址,当前为空 -->
<tag/> <!-- 版本标签,当前为空 -->
<url/> <!-- SCM的URL地址,当前为空 -->
</scm>
<properties> <!-- 定义项目属性,可在整个POM中引用 -->
<java.version>17</java.version> <!-- 指定Java版本为17 -->
<spring-ai.version>1.0.0</spring-ai.version> <!-- 指定Spring AI的版本号为1.0.0 -->
</properties>
<dependencies> <!-- 项目依赖项列表 -->
<dependency> <!-- Spring Boot Web启动器依赖,用于构建Web应用 -->
<groupId>org.springframework.boot</groupId> <!-- 依赖的组织ID -->
<artifactId>spring-boot-starter-web</artifactId> <!-- Web启动器的Artifact ID -->
</dependency>
<dependency> <!-- Spring Boot测试启动器依赖 -->
<groupId>org.springframework.boot</groupId> <!-- 依赖的组织ID -->
<artifactId>spring-boot-starter-test</artifactId> <!-- 测试启动器的Artifact ID -->
<scope>test</scope> <!-- 依赖作用域为test,只在测试时使用 -->
</dependency>
<dependency> <!-- Spring AI DeepSeek模型启动器依赖 -->
<groupId>org.springframework.ai</groupId> <!-- Spring AI的组织ID -->
<artifactId>spring-ai-starter-model-deepseek</artifactId> <!-- DeepSeek模型启动器 -->
</dependency>
</dependencies>
<dependencyManagement> <!-- 依赖管理部分,用于统一管理依赖版本 -->
<dependencies> <!-- 依赖管理列表 -->
<dependency> <!-- Spring AI BOM(物料清单),用于管理Spring AI相关依赖版本 -->
<groupId>org.springframework.ai</groupId> <!-- Spring AI的组织ID -->
<artifactId>spring-ai-bom</artifactId> <!-- BOM的Artifact ID -->
<version>${spring-ai.version}</version> <!-- 引用上面定义的Spring AI版本属性 -->
<type>pom</type> <!-- 类型为pom,表示这是一个BOM文件 -->
<scope>import</scope> <!-- 作用域为import,导入BOM中的依赖管理 -->
</dependency>
</dependencies>
</dependencyManagement>
<build> <!-- 项目构建配置 -->
<plugins> <!-- 构建插件列表 -->
<plugin> <!-- Spring Boot Maven插件,用于打包和运行Spring Boot应用 -->
<groupId>org.springframework.boot</groupId> <!-- 插件的组织ID -->
<artifactId>spring-boot-maven-plugin</artifactId> <!-- 插件的Artifact ID -->
</plugin>
</plugins>
</build>
<repositories> <!-- 项目依赖仓库配置 -->
<repository> <!-- Spring快照仓库,用于获取Spring的开发版本 -->
<id>spring-snapshots</id> <!-- 仓库的唯一标识ID -->
<url>https://repo.spring.io/snapshot</url> <!-- 仓库的URL地址 -->
<snapshots> <!-- 快照版本配置 -->
<enabled>true</enabled> <!-- 允许下载快照版本 -->
</snapshots>
</repository>
</repositories>
</project> <!-- project标签结束 -->
AI相关的核心依赖(不需要拷,从上面pom文件摘出来的):
bash
<dependency> <!-- Spring AI DeepSeek模型启动器依赖 -->
<groupId>org.springframework.ai</groupId> <!-- Spring AI的组织ID -->
<artifactId>spring-ai-starter-model-deepseek</artifactId> <!-- DeepSeek模型启动器 -->
</dependency>
<dependencyManagement> <!-- 依赖管理部分,用于统一管理依赖版本 -->
<dependencies> <!-- 依赖管理列表 -->
<dependency> <!-- Spring AI BOM(物料清单),用于管理Spring AI相关依赖版本 -->
<groupId>org.springframework.ai</groupId> <!-- Spring AI的组织ID -->
<artifactId>spring-ai-bom</artifactId> <!-- BOM的Artifact ID -->
<version>${spring-ai.version}</version> <!-- 引用上面定义的Spring AI版本属性 -->
<type>pom</type> <!-- 类型为pom,表示这是一个BOM文件 -->
<scope>import</scope> <!-- 作用域为import,导入BOM中的依赖管理 -->
</dependency>
</dependencies>
</dependencyManagement>
5、创建1个测试使用的Controller
java
package com.zkwm.springai.springai.deepseek; // 声明当前类所在的包路径,deepseek相关控制器
import org.springframework.ai.deepseek.DeepSeekChatModel; // 导入DeepSeek聊天模型类,用于调用DeepSeek AI服务
import org.springframework.beans.factory.annotation.Autowired; // 导入Autowired注解,用于自动注入依赖
import org.springframework.web.bind.annotation.GetMapping; // 导入GetMapping注解,用于处理HTTP GET请求
import org.springframework.web.bind.annotation.RequestMapping; // 导入RequestMapping注解,用于定义请求路径前缀
import org.springframework.web.bind.annotation.RestController; // 导入RestController注解,标识这是一个RESTful控制器
@RestController // 标记这是一个RESTful风格的控制器,返回数据而不是视图
@RequestMapping("/deepseek") // 定义该控制器的基础请求路径为/deepseek
public class TestController { // 定义测试控制器类
@Autowired // 自动注入DeepSeekChatModel实例,由Spring容器管理
DeepSeekChatModel deepSeekChatModel; // 声明DeepSeek聊天模型成员变量
@GetMapping("/str") // 处理HTTP GET请求,路径为/deepseek/str
public String test() { // 定义测试方法,返回字符串类型
String deepseekStr=deepSeekChatModel.call("你是谁?"); // 调用DeepSeek模型,传入问题"你是谁?",获取AI回复
return deepseekStr; // 返回DeepSeek模型的回复字符串
} // test方法结束
} // 类定义结束

6、进入Application文件点击运行

7、在浏览器输入:http://127.0.0.1:8080/deepseek/str
稍等片刻即可看到答案。

最简单版的AI就这么集成进来了。
尝试自己重新传问题进去,看看什么效果.
当前的代码是一次性输出的(非流式),需要全部生成完才返回到客户端。