springboot集成Deepseek4j的項(xiàng)目實(shí)踐
Deepseek4j快速開(kāi)始
Maven 依賴(lài)
在你的 pom.xml 中添加以下依賴(lài):
<dependency> <groupId>io.github.pig-mesh.ai</groupId> <artifactId>deepseek-spring-boot-starter</artifactId> <version>1.4.2</version> </dependency>
基礎(chǔ)配置
在 application.yml 或 application.properties 中添加必要的配置:
deepseek:
api-key: your-api-key-here # 必填項(xiàng):你的 API 密鑰
base-url: https://api.deepseek.com # 可選,默認(rèn)為官方 API 地址
log-requests: true # 可選,是否記錄請(qǐng)求日志
log-responses: true # 可選,是否記錄響應(yīng)日志
# 可選的超時(shí)配置(單位:秒)
connect-timeout: 10
read-timeout: 30
call-timeout: 60
# 代理配置(可選)
proxy:
host: proxy.example.com
port: 8080
# 日志級(jí)別配置(可選)
log-level: BASIC
基礎(chǔ)使用示例
1. 流式返回示例
@Autowired
private DeepSeekClient deepSeekClient;
@GetMapping(value = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chat(String prompt) {
return deepSeekClient.chatFluxCompletion(prompt);
}
2. 進(jìn)階配置示例
@GetMapping(value = "/chat/advanced", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChatCompletionResponse> chatAdvanced(String prompt) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
// 模型選擇,支持 DEEPSEEK_CHAT、DEEPSEEK_REASONER 等
.model(ChatCompletionModel.DEEPSEEK_REASONER)
// 添加用戶(hù)消息
.addUserMessage(prompt)
// 添加助手消息,用于多輪對(duì)話(huà)
.addAssistantMessage("上輪結(jié)果")
// 添加系統(tǒng)消息,用于設(shè)置角色和行為
.addSystemMessage("你是一個(gè)專(zhuān)業(yè)的助手")
// 設(shè)置最大生成 token 數(shù),默認(rèn) 2048
.maxTokens(1000)
// 設(shè)置響應(yīng)格式,支持 JSON 結(jié)構(gòu)化輸出
.responseFormat(...) // 可選
// function calling
.tools(...) // 可選
.build();
return deepSeekClient.chatFluxCompletion(request);
}
3. 同步輸出 (非實(shí)時(shí)響應(yīng)流)
不推薦使用同步阻塞調(diào)用方式,R1模型推理耗時(shí)較長(zhǎng)易導(dǎo)致客戶(hù)端連接超時(shí),且響應(yīng)延遲會(huì)影響用戶(hù)體驗(yàn)
@GetMapping(value = "/sync/chat")
public ChatCompletionResponse syncChat(String prompt) {
ChatCompletionRequest request = ChatCompletionRequest.builder()
// 根據(jù)渠道模型名稱(chēng)動(dòng)態(tài)修改這個(gè)參數(shù)
.model(deepSeekProperties.getModel())
.addUserMessage(prompt).build();
return deepSeekClient.chatCompletion(request).execute();
}到此這篇關(guān)于springboot集成Deepseek4j的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)springboot集成Deepseek4j內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot兩種方式接入DeepSeek的實(shí)現(xiàn)
- SpringBoot快速接入DeepSeek?api(帶頁(yè)面)保姆級(jí)教程
- SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn)
- SpringBoot或SpringAI對(duì)接DeepSeek大模型的詳細(xì)步驟
- SpringBoot接入deepseek深度求索示例代碼(jdk1.8)
- SpringBoot整合DeepSeek實(shí)現(xiàn)AI對(duì)話(huà)功能
- SpringBoot調(diào)用DeepSeek?API的完整操作指南
- springboot接入deepseek深度求索代碼示例(java版)
相關(guān)文章
Maven項(xiàng)目引用第三方j(luò)ar包找不到類(lèi)ClassNotFoundException
這篇文章主要為大家介紹了Maven項(xiàng)目引用第三方j(luò)ar包找不到類(lèi)ClassNotFoundException解決及原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
SpringBoot使用knife4j進(jìn)行在線(xiàn)接口調(diào)試
這篇文章主要介紹了SpringBoot使用knife4j進(jìn)行在線(xiàn)接口調(diào)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Spring中@Validated和@Valid區(qū)別淺析
@Valid是javax.validation里的,?@Validated是@Valid?的一次封裝,是Spring提供的校驗(yàn)機(jī)制使用,下面這篇文章主要給大家介紹了關(guān)于Spring中@Validated和@Valid區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-04-04
Java將Object轉(zhuǎn)換為數(shù)組的代碼
這篇文章主要介紹了Java將Object轉(zhuǎn)換為數(shù)組的情況,今天在使用一個(gè)別人寫(xiě)的工具類(lèi),這個(gè)工具類(lèi),主要是判空操作,包括集合、數(shù)組、Map等對(duì)象是否為空的操作,需要的朋友可以參考下2022-09-09
Java線(xiàn)程中Thread方法下的Join方法詳解
這篇文章主要介紹了Java線(xiàn)程中Thread方法下的Join方法詳解,在項(xiàng)目中往往會(huì)遇到這樣一個(gè)場(chǎng)景,就是需要等待幾件事情都給做完后才能走下面的事情,這個(gè)時(shí)候就需要用到Thread方法下的Join方法,join方法是無(wú)參且沒(méi)有返回值的,需要的朋友可以參考下2024-01-01
Spring Cloud Hystrix 服務(wù)容錯(cuò)保護(hù)的原理實(shí)現(xiàn)
這篇文章主要介紹了Spring Cloud Hystrix 服務(wù)容錯(cuò)保護(hù)的原理實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
java騰訊AI人臉對(duì)比對(duì)接代碼實(shí)例
這篇文章主要介紹了java騰訊AI人臉對(duì)比對(duì)接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Java原生服務(wù)器接收上傳文件 不使用MultipartFile類(lèi)
這篇文章主要為大家詳細(xì)介紹了Java原生服務(wù)器接收上傳文件,不使用MultipartFile類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
MAC配置java+jmeter環(huán)境變量過(guò)程解析
這篇文章主要介紹了MAC配置java+jmeter環(huán)境變量過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
mybatis 為什么千萬(wàn)不要使用 where 1=1
這篇文章主要介紹了mybatis 為什么千萬(wàn)不要使用 where 1=1,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05

