java项目如何通过SpringAI接入deepSeek
java项目如何通过SpringAI接入deepSeek
本文将详细介绍如何在 Spring Boot 中集成 DeepSeek,通过实践操作帮助读者快速掌握这一技术。
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
java项目接入火山引擎满血deepSeek,DeepSeek满血版免费领啦!:https://volcengine.com/L/X7gmgzwnc0o/ 邀请码:S5IXFXRB每位用户被成功邀请后,可获得1张15元代金券,约可抵扣375万R1模型tokens
提示:以下是本篇文章正文内容,下面案例可供参考
一、准备工作
环境要求
确保 Spring Boot >= 3.3.x 版本,这是集成 DeepSeek 的最低版本要求。
确保 JDK >= 17,以支持 DeepSeek 的最新版本。
配置开发环境,包括 IDE(推荐使用 IDEA)、版本控制工具(如 Git)以及开发服务器。
火山引擎注册地址:https://volcengine.com/L/X7gmgzwnc0o/
二、配置 Spring Boot 项目
1.引入依赖
代码如下(示例):在pom.xml中添加 Spring Boot 与 DeepSeek 的依赖项。以下是示例配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-deepseek</artifactId>
<version>0.8.1</version>
</dependency>
</dependencies>
说明:
spring-boot-starter-web:用于快速构建 Web 应用的基础组件。
spring-ai-deepseek:Spring Boot 与 DeepSeek 的集成模块,支持智能对话和流式响应。
2.配置 DeepSeek 访问凭证
在应用的application.yml或config/app.yml中配置 DeepSeek 的访问凭证。以下是示例配置::
spring:
ai:
deepseek:
base-url: https://api.deepseek.com/v1
api-key: sk-your-api-key-here
- 说明: base-url:DeepSeek API 的端点地址。
- api-key:获取 DeepSeek 开发者 API 密钥。
- 如果没有开发者密钥,可以使用sk-your-api-key-here作为占位符。
实现智能对话功能
1.创建服务层组件
在 Spring Boot 应用的根目录下创建一个DeepSeekService类,用于与 DeepSeek 进行交互。以下是示例代码:
package com.example.deepseek.service;
import org.springframework.ai.deepseek.DEEPSEEK;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.servlet.MockMvc;
import java.util.Map;
@Service
@AutowiredBeanInitialization.class=DEEPSEEK
public class DeepSeekService {
private final Map<String, String> responses = new HashMap<>();
@Autowired
private final DeepSeekClient deepSeekClient;
@Autowired
@Named("response")
private final String response;
@GetMapping("/get-response")
public ResponseEntity<String> getMessage(String prompt) {
Map<String, String> result = deepSeekClient.chat(prompt);
responses.put("response", result.get("output", ""));
return ResponseEntity.ok(result.get("response", "")).build();
}
}
- 说明: @AutowiredBeanInitialization.class=DEEPSEEK:自动生成 DeepSeek 客户端
- @Autowired @Named(“response”) private final String
- response;:为响应字段注入实例。 @GetMapping(“/get-response”):定义 API端点,用于接收用户输入并返回 DeepSeek 的响应。
2.创建 Controller 类
在 Spring Boot 应用的根目录下创建一个DeepSeekController类,用于暴露 API。以下是示例代码:
package com.example.deepseek.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.servlet.MockMvc;
import org.springframework.boot.http.HttpStatus;
import org.springframework.boot.http.ResponseEntity;
import org.springframework.ai.deepseek.DEEPSEEK;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
public class DeepSeekController {
@Autowired
private final DeepSeekService deepSeekService;
@GetMapping("/api/get-response")
public ResponseEntity<Map.Entry<String, String>> getMessage(@RequestParam(String) String prompt) {
String response = deepSeekService.getMessage(prompt);
return ResponseEntity.ok(new HashMap<>();
{"message" = "得到回复:" + response}).build();
}
}
- 说明: @GetMapping(“/api/get-response”):定义 API 端点,用于接收用户输入并返回DeepSee的响应。
- @RequestParam(String) String prompt:定义输入字段,用于接收用户输入。
四实现流式响应功能
为了实现流式响应功能,可以使用 Spring Boot 的Websocket API。以下是示例代码:
package com.example.deepseek.stream;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.servlet.MockMvc;
import org.springframework.boot.http.HttpStatus;
import org.springframework.boot.http.ResponseEntity;
import org.springframework.ai.deepseek.DEEPSEEK;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client Websocket;
import java.util.Map;
@RestController
public class DeepSeekWebSocketController {
@Autowired
private final DeepSeekClient deepSeekClient;
@GetMapping("/ws")
public WebSocket Echo(@Echo) Echo {
@Override
public Echo.handle(EchoEvent e) throws IOException {
try {
String message = e gottenValue().getString();
Map<String, String> result = deepSeekClient.chat(prompt);
e.send(new EchoContent(new EchoText(result.get("output", ""))));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
-说明:
- @GetMapping(“/ws”):定义 WebSocket 端点。
- @Echo:定义 WebSocket 客户端。
- Echo.handle(EchoEvent e):定义处理 WebSocket 事件的方法。
五 完整的 Spring Boot 项目的构建和运行步骤
1构建项目
- 创建一个spring-boot-projects目录,包含src、main、pom.xml、application.yml等文件。
- 在src/main/java目录下创建DeepSeekService和DeepSeekController类。
- 在src/main/resources/application.yml中添加 DeepSeek 访问凭证配置。 运行项目
- 打开终端,进入项目根目录后,执行以下命令启动 Spring Boot 服务
2运行项目
- 打开终端,进入项目根目录后,执行以下命令启动 Spring Boot 服务:
spring-boot start
- 打开浏览器,访问http://localhost:8080,可以使用以下命令快速访问:
spring-boot-integrated http://localhost:8080
:
总结
提示:这里对文章进行总结:
通过以上步骤,可以成功在 Spring Boot 项目中集成 DeepSeek 的服务,实现智能对话.最后板砖不易希望大家注册火山引起过的时候可以填写我的邀请码S5IXFXRB
DeepSeek满血版免费领啦!:https://volcengine.com/L/X7gmgzwnc0o/ 邀请码:S5IXFXRB 每位用户被成功邀请后,可获得1张15元代金券,约可抵扣375万R1模型tokens
更多推荐
所有评论(0)