当 Spring Boot 与 DeepSeek 相遇,两者的结合为开发 AI 应用程序带来了前所未有的机遇。Spring Boot 的强大功能和便捷性,使得开发者能够快速搭建稳定的后端服务,而 DeepSeek 的先进大语言模型则为应用赋予了强大的智能交互和处理能力。通过将 DeepSeek 的 AI 能力集成到 Spring Boot 应用中,我们可以轻松实现智能聊天机器人、智能文档处理、智能代码生成等各种创新应用,为用户提供更加智能化、个性化的服务体验。
如何获取Key呢,我这里使用的是deepseek和硅基流动再加华为这三家公司合作的一个联合首发的一个平台注册的,注册地址 如下:
https://cloud.siliconflow.cn/i/6PMcJUzH
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>
import groovy.util.logging.Slf4j;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
/*** @author weimeilayer@gmail.com* @date 💓💕 2024-12-26 15:02:31💓💕*/
@Slf4j
@RestController
@CrossOrigin(origins = "*")
@Tag(description = "系统基础信息--AI模块操作接口", name = "系统基础信息--AI模块操作接口")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class ChatBotController {private final ChatClient chatClient;public ChatBotController(ChatClient.Builder builder) {this.chatClient = builder.defaultSystem("你是一个天气预报员,当有人输入日期的时候,你输出苏州的天气预报信息," +"生成结果在html页面中以markdown的格式输出,最后输出结尾的时候始终以下面的语句结尾:感谢您的咨询,我是曼陀罗。").build();}/*** 根据用户输入的消息进行聊天** @param message 用户输入的消息* @return 聊天机器人的回复内容*/@Operation(summary = "聊天功能", description = "根据用户输入的消息,返回聊天机器人的回复")@GetMapping(value = "/chat/{message}")public String chat(@PathVariable("message") String message) {return chatClient.prompt().user(message).call().content();}
}
配置文件
spring:ai:openai:api-key: sk-xxxxxxxxx #你的api keybase-url: https://api.siliconflow.cnchat:options:model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
#灵积模型