Spring AI
已经支持DeepSeek
。今天和大家聊聊如何在Spring Boot
项目制使用DeepSeek
,还是非常方便的!
Spring AI介绍
Spring AI
是一个用于AI工程的应用程序框架,将Spring生态系统设计原则应用于AI领域。其核心是通过抽象化和模块化设计,简化AI功能的接入步骤,同时保持与Spring生态的无缝兼容。
以下是其主要特点与功能:
- 统一的抽象API:支持主流AI服务,如 OpenAI、DeepSeek、Google、和Ollama等,提供了提供标准化的接口。
- 核心功能模块:模型交互、向量处理、检索增强生成(RAG)、函数调用。
- 低代码集成:通过Spring Boot Starter依赖快速接入,在配置文件中配置好AI服务即可使用。
- 结构化输出:将模型响应直接映射为Java对象,简化数据处理。
- 流式响应:支持Flux流式输出,适用于实时聊天等场景。
Spring AI集成DeepSeek
申请Api Key
首先我们需要去DeepSeek
官网申请Api Key
,地址:
https://platform.deepseek.com/api_keys
Spring Boot中集成DeepSeek
首先在SpringBoot项目中添加Spring AI对应的依赖;
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-M6</version>
</dependency>
然后在项目的application.yml配置文件中添加调用AI服务相关的配置;
spring:
ai:
openai:
# 调用AI接口时表明身份的API KEY
api-key: <YOUR_API_KEY>
# 调用AI接口时的基础路径,配置的是阿里云百炼的基础路径
base-url: https://api.deepseek.com
chat:
options:
# 调用的模型,DeepSeek的话可以选择deepseek-r1或deepseek-v3
model: deepseek-chat
# 用来控制文本生成的随机性(创造力),值越小越严谨
temperature: 0.8
创建一个控制器类,用于处理与 DeepSeek 的交互,
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/chat")
public class ChatController {
@Autowired
private DeepSeekClient deepSeekClient;
@PostMapping
public String chat(@RequestBody String message) {
return deepSeekClient.chatCompletion(message).getOutput().getContent();
}
@GetMapping(value = "/stream", produces = "text/event-stream")
public Flux<String> chatStream(@RequestParam String message) {
return deepSeekClient.chatFluxCompletion(message)
.map(response -> response.getOutput().getContent());
}
}
评论 (0)