Spring 宣布接入 DeepSeek!!
DeepSeek 是深度求索公司发布的大模型,是国产之光。大家应该学会如何使用 DeepSeek 大模型,下面我们将看下如何开发基于 DeepSeek 大模型的智能应用。DeepSeek 大模型
DeepSeek 推出两款模型;
[*]DeepSeek V 系列,对于V系列主要 对话,模型名称:deepseek-chat
[*]DeepSeek R 系统,对于R系统主要 推理, 模型名称:deepseek-reasoner
DeepSeek 官方更新日志,可以看到模型发布和演化的过程。
https://api-docs.deepseek.com/zh-cn/updates
集成 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 示例
1、引入依赖
org.springframework.ai spring-ai-openai-spring-boot-starter
[*]1.
[*]2.
[*]3.
[*]4.
2、配置
spring:ai: openai: api-key: sk-xxx // 填写自己申请的key base-url: https://api.deepseek.com chat: options: model: deepseek-chat
[*]1.
[*]2.
[*]3.
[*]4.
[*]5.
[*]6.
[*]7.
[*]8.
3、简单的聊天示例
package com.ivy.controller;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;@RestControllerpublic class ChatController { private final OpenAiChatModel chatModel; public ChatController(OpenAiChatModel chatModel) { this.chatModel = chatModel; } @GetMapping("/ai/generate") public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { return Map.of("generation", this.chatModel.call(message)); } @GetMapping("/ai/generateStream") public Flux generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { Prompt prompt = new Prompt(new UserMessage(message)); return this.chatModel.stream(prompt); }}
[*]1.
[*]2.
[*]3.
[*]4.
[*]5.
[*]6.
[*]7.
[*]8.
[*]9.
[*]10.
[*]11.
[*]12.
[*]13.
[*]14.
[*]15.
[*]16.
[*]17.
[*]18.
[*]19.
[*]20.
[*]21.
[*]22.
[*]23.
[*]24.
[*]25.
[*]26.
[*]27.
[*]28.
[*]29.
[*]30.
[*]31.
[*]32.
[*]33.
[*]34.
现阶段 DeepSeek 服务受资源限制可能无法提供在线服务,那么可以本地部署一个DeepSeek 大模型进行学习和使用。
总结
Spring AI 接入 DeepSeek 大模型是非常简单的,实现了阻塞和流式聊天模式。对于 DeepSeek 大模型的函数调用,角色定义以及结构化输出等和之前文章中讲解的内容是一致的,没有什么特别的地方,这里也不再赘述了。
源码案例:https://github.com/Fj-ivy/spring-ai-examples
页:
[1]