Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用。
本地化私有部署可以参考这篇博文 全面认识了解DeepSeek+利用ollama在本地部署、使用和体验deepseek-r1大模型

Spring版本选择

根据Spring官网的描述
Spring AI是一个人工智能工程的应用框架,旨在为Java开发者提供一种更简洁的方式与AI交互,减轻在Java业务中接入LLM模型应用的学习成本。目前,Spring AI已经上架到Spring Initializr,开发者可以在https://start.spring.io/上使用并构建相关应用。

SpringAI支持接入多种AI服务,如OpenAI、Ollama、Azure OpenAI、Huggingface等,可以实现聊天、embedding、图片生成、语音转文字、向量数据库、function calling、prompt模板、outputparser、RAG等功能。

spring ai框架支持Spring Boot版本为 3.2.x and 3.3.x
在这里插入图片描述
从SpringBoot 3.x 开始依赖的JDK版本最低是JDK17,所以这里演示整合的代码都是基于spring boot 3.3.8 以及 JDK17

整合DeepSeek API key

深度求索deepseek开放平台申请自己的API key,新用户注册后会赠送10元余额,有效期为一个月。
在这里插入图片描述

创建一个 API key

保存好自己的API KEY 千万别泄露喽
在这里插入图片描述
创建API key后我们可以开始构建SpringBoot工程了,基于springboot 3.4.2版本搭建一个工程。
spring-ai-openai starter:伪装成 OpenAI,DeepSeek 提供了 OpenAI 兼容模式。
,引入以下依赖:

自动引入依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmln
### Spring Boot 整合 Deepseek 实现 AI 对话 为了在 Spring Boot 项目中集成 Deepseek实现 AI 对话功能,需按照如下方法设置并编写代码。 #### 1. 添加依赖 首先,在 `pom.xml` 文件中添加必要的 Maven 依赖来支持 HTTP 请求其他所需的功能: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- JSON 处理 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> ``` #### 2. 配置文件修改 编辑项目的配置文件 (`application.properties`) 来指定 Deepseek API 的基本信息[^2]: ```properties # 必填项 spring.ai.openai.api-key=your-apikey spring.ai.openai.base-url=https://api.deepseek.com # 模型选择(本例采用对话模型) spring.ai.openai.chat.options.model=deepseek-chat ``` #### 3. 创建服务类 创建一个新的 Java 类用于封装与 Deepseek 进行交互的方法。这里提供了一个简单的例子展示如何发送消息给聊天机器人并接收回复: ```java @Service public class ChatService { @Value("${spring.ai.openai.api-key}") private String apiKey; @Value("${spring.ai.openai.base-url}") private String baseUrl; public ResponseEntity<String> sendMessage(String message) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setBearerAuth(apiKey); HttpEntity<String> entity = new HttpEntity<>("{\"message\": \"" + message + "\"}", headers); return restTemplate.exchange( baseUrl + "/v1/chat/completions", HttpMethod.POST, entity, String.class ); } } ``` #### 4. 构建控制器接口 最后一步是定义 RESTful Web Service 接口以便前端可以调用此服务发起请求。下面是一个基本的例子说明怎样暴露一个端点供外部访问: ```java @RestController @RequestMapping("/chat") public class ChatController { @Autowired private ChatService chatService; @PostMapping("/send") public ResponseEntity<?> send(@RequestBody Map<String, Object> body){ String userMessage = (String)body.get("message"); ResponseEntity<String> response = this.chatService.sendMessage(userMessage); return new ResponseEntity<>(response.getBody(), HttpStatus.OK); } } ``` 通过上述步骤即可完成基于 Spring Boot Deepseek 的简单 AI 聊天应用开发工作。当然实际生产环境中还需要考虑更多因素如安全性、性能优化等方面的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值