Spring AI 宣布接入 DeepSeek !! 原創(chuàng)
DeepSeek,作為深度求索公司推出的杰出大模型,代表了國產(chǎn)技術(shù)的輝煌。掌握如何運(yùn)用 DeepSeek 大模型至關(guān)重要。接下來,我們將探討如何基于DeepSeek 大模型和 Spring AI 開發(fā) AI Agent 智能體應(yīng)用。
1、Spring AI 集成 DeepSeek 大模型
第一、DeepSeek 大模型介紹
DeepSeek 近日推出了兩款新大模型:
1.DeepSeek V 系列,專注于對話功能,其模型命名為 deepseek-chat。
2.DeepSeek R 系列,主要致力于推理能力,模型名稱為 deepseek-reasoner。
若想了解這些模型的發(fā)布和演進(jìn)歷程,可以查閱 DeepSeek 官方的更新日志。
??https://api-docs.deepseek.com/zh-cn/updates??
第二、Spring AI 集成 DeepSeek 大模型
DeepSeek AI 推出了開源的 DeepSeek V3 模型,該模型在推理和問題解決方面具有領(lǐng)先的技術(shù)實(shí)力而著稱。
Spring AI 通過復(fù)用現(xiàn)成的 OpenAI 客戶端實(shí)現(xiàn)了與 DeepSeek AI 的集成。首先,您需要申請 DeepSeek API 的密鑰,設(shè)置基礎(chǔ) URL,并從支持的模型中選擇一個進(jìn)行使用。
第三、Spring AI 集成前準(zhǔn)備
1.創(chuàng)建 API 密鑰:訪問地址:https://api-docs.deepseek.com/zh-cn/ 創(chuàng)建 API 密鑰。使用 Spring AI 項目中的 spring.ai.openai.api-key 屬性對其進(jìn)行配置。
2.設(shè)置 DeepSeek 基本 URL:將 spring.ai.openai.base-url 屬性設(shè)置為 api.deepseek.com。
3.選擇 DeepSeek 模型:使用屬性 spring.ai.openai.chat.model=<model name> 指定模型。有關(guān)可用選項,請參閱支持的型號。
2、Spring AI 集成 DeepSeek 實(shí)例
第一步、引入依賴
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
第二步、配置
spring:
ai:
openai:
api-key: sk-xxx // 填寫自己申請的key
base-url: https://api.deepseek.com
chat:
options:
model: deepseek-chat
第三步、聊天 Agent 智能體案例
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;
@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);
}
}
3、Spring AI 集成 DeepSeek 總結(jié)
Spring AI 與 DeepSeek 大模型的集成過程相當(dāng)簡便,同時支持了阻塞和流式聊天模式。關(guān)于 DeepSeek 大模型的函數(shù)調(diào)用、角色定義以及結(jié)構(gòu)化輸出等方面,與之前文章中介紹的內(nèi)容保持一致,沒有特別的差異。因此,這里不再重復(fù)說明。對于感興趣的朋友,可以查閱本專欄的其他文章以獲取更多信息。
本文轉(zhuǎn)載自公眾號玄姐聊AGI 作者:玄姐
