
【SpringBoot AI 集成DeepSeek 大模型API调用】
当DeepSeek开始盛行,提供强大的大语言模型,界面调用不能满足我们的需要,同时提供API接口供我们在服务中调用,来实现各种AI场景。下面开始我们的教程。创建一个SpringBoot项目,集成AI模型。
·
当DeepSeek开始盛行,提供强大的大语言模型,界面调用不能满足我们的需要,同时提供API接口供我们在服务中调用,来实现各种AI场景。
我们通过将DeepSeek的AI能力与SpringBoot AI相结合,实现智能聊天、问答机器人,智能图片、视频生成、语音转文本,文本转语音等功能。
下面开始我们的教程。创建一个SpringBoot项目,集成AI模型。
1. 创建项目
2. 选择web、OpenAI配置
3. Maven pom配置
创建好项目会自动生成。
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.0-M6</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
4. 项目yml配置
server:
servlet:
context-path: /deepseek
spring:
ai:
openai:
api-key: <这里要输入你自己的API Key>
base-url: https://api.siliconflow.cn
chat:
options:
model: deepseek-ai/DeepSeek-V3
- api-key:AI平台生成,用于API调用
- base-url: AI平台地址
- model: AI模型
5. 生成api-key
这里我们选用 硅基流动。
- 注册
作为集合顶尖大模型的一站式云服务平台,SiliconCloud 致力于为开发者提供更快、更全面、体验更丝滑的模型 API。
现在登录会赠送14元额度,即2000万Token, 方便大家测试使用。
-
生成Api-key
将生成好的 API 密钥放入项目yml配置中 -
选择模型
我们选择deepseek-ai/DeepSeek-R1(思考推理)、deepseek-ai/DeepSeek-V3这两款模型。
将模型model复制进yml配置。
6. 完成程序调用代码
package com.example.deepseek.controller;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AiController {
private final ChatClient chatClient;
public AiController(ChatClient.Builder builder) {
// 给模型system一个角色,便于生成更准确的回答
this.chatClient = builder.
defaultSystem("你是一个IT方向技术精湛的专家,我经常会想你提问一些技术问题,你总是能给我详细的答案。").
build();
}
@GetMapping("/chat/{prompt}")
public String chat(@PathVariable("prompt") String prompt) {
return chatClient.prompt()
// 提问语
.user(prompt)
.call()
.content();
}
}
7. 测试
启动项目
测试地址:http://localhost:8080/deepseek/chat/分布式事务的解决方案
大家也可以在此基础上,实现一些更智能化的功能。
更多推荐
所有评论(0)