我朋友是做卖网站的百度在线客服问答
DeepSeek 大模型
DeepSeek 推出两款模型
-
DeepSeek V 系列,对于V系列主要 对话,模型名称:deepseek-chat
-
DeepSeek R 系统,对于R系统主要 推理, 模型名称:deepseek-reasoner
DeepSeek 官方更新日志,可以看到模型发布和演化的过程
https://api-docs.deepseek.com/zh-cn/updates
Spring AI 官方接入文档
https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html
集成 DeepSeek 大模型
DeepSeek AI提供开源的 DeepSeek V3 模型,该模型以其尖端的推理和解决问题的能力而闻名。
Spring AI 通过复用现有的 OpenAI 客户端与 DeepSeek AI 集成。首先,您需要获取 DeepSeek API 密钥,配置基本 URL,并选择其中一个受支持的模型。
接入前准备
-
创建 API 密钥:
访问此处:https://api-docs.deepseek.com/zh-cn/,创建 API 密钥。
使用 Spring AI 项目中的 spring.ai.openai.api-key 属性对其进行配置。 -
设置 DeepSeek 基本 URL:
将 spring.ai.openai.base-url 属性设置为 api.deepseek.com。 -
选择 DeepSeek 模型:
使用属性 spring.ai.openai.chat.model 指定模型。有关可用选项,请参阅支持的型号。
集成 DeepSeek 示例
- 引入依赖
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
目前使用的是一个快照版本
<spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
使用上述的依赖的时候,maven 官方还未将上述使用的依赖录入,所以我们这里需要添加一下 spring 仓库地址
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository>
</repositories>
- 配置
spring:ai:openai:api-key: sk-xxx // 填写自己申请的keybase-url: https://api.deepseek.comchat:options:model: deepseek-chat
- 简单的聊天示例
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;import java.util.Map;@RestController
public class ChatController {private final OpenAiChatModel chatModel;public ChatController(OpenAiChatModel chatModel) {this.chatModel = chatModel;}@GetMapping("/ai/generate")public Map<String, String> generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {return Map.of("generation", this.chatModel.call(message));}@GetMapping("/ai/generateStream")public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {Prompt prompt = new Prompt(new UserMessage(message));return this.chatModel.stream(prompt);}
}
测试
API 调用
- 阻塞式
- 非阻塞式响应式
- 再看一下后台计费情况,以及消耗的 tokens
总结
Spring AI 接入 DeepSeek 大模型是非常简单的,实现了阻塞和流式聊天模式。
现阶段 DeepSeek 大模型受资源限制可能无法本地部署,那么可以通过在线服务进行学习和使用。
目前的计费模式,看下来还是可以接受的。
源码:https://gitee.com/zhaomingjian/workspace_jason_demo/tree/master/spring-boot-deepseek
附 UI 解决方案
https://ant-design-x.antgroup.com/index-cn