springboot集成Deepseek4j的項目實踐
Deepseek4j快速開始
Maven 依賴
在你的 pom.xml
中添加以下依賴:
<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 # 必填項:你的 API 密鑰 base-url: https://api.deepseek.com # 可選,默認(rèn)為官方 API 地址 log-requests: true # 可選,是否記錄請求日志 log-responses: true # 可選,是否記錄響應(yīng)日志 # 可選的超時配置(單位:秒) connect-timeout: 10 read-timeout: 30 call-timeout: 60 # 代理配置(可選) proxy: host: proxy.example.com port: 8080 # 日志級別配置(可選) 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) // 添加用戶消息 .addUserMessage(prompt) // 添加助手消息,用于多輪對話 .addAssistantMessage("上輪結(jié)果") // 添加系統(tǒng)消息,用于設(shè)置角色和行為 .addSystemMessage("你是一個專業(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. 同步輸出 (非實時響應(yīng)流)
不推薦使用同步阻塞調(diào)用方式,R1模型推理耗時較長易導(dǎo)致客戶端連接超時,且響應(yīng)延遲會影響用戶體驗
@GetMapping(value = "/sync/chat") public ChatCompletionResponse syncChat(String prompt) { ChatCompletionRequest request = ChatCompletionRequest.builder() // 根據(jù)渠道模型名稱動態(tài)修改這個參數(shù) .model(deepSeekProperties.getModel()) .addUserMessage(prompt).build(); return deepSeekClient.chatCompletion(request).execute(); }
到此這篇關(guān)于springboot集成Deepseek4j的項目實踐的文章就介紹到這了,更多相關(guān)springboot集成Deepseek4j內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Maven項目引用第三方j(luò)ar包找不到類ClassNotFoundException
這篇文章主要為大家介紹了Maven項目引用第三方j(luò)ar包找不到類ClassNotFoundException解決及原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
這篇文章主要介紹了SpringBoot使用knife4j進(jìn)行在線接口調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Spring中@Validated和@Valid區(qū)別淺析
@Valid是javax.validation里的,?@Validated是@Valid?的一次封裝,是Spring提供的校驗機制使用,下面這篇文章主要給大家介紹了關(guān)于Spring中@Validated和@Valid區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-04-04Java將Object轉(zhuǎn)換為數(shù)組的代碼
這篇文章主要介紹了Java將Object轉(zhuǎn)換為數(shù)組的情況,今天在使用一個別人寫的工具類,這個工具類,主要是判空操作,包括集合、數(shù)組、Map等對象是否為空的操作,需要的朋友可以參考下2022-09-09Spring Cloud Hystrix 服務(wù)容錯保護(hù)的原理實現(xiàn)
這篇文章主要介紹了Spring Cloud Hystrix 服務(wù)容錯保護(hù)的原理實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05Java原生服務(wù)器接收上傳文件 不使用MultipartFile類
這篇文章主要為大家詳細(xì)介紹了Java原生服務(wù)器接收上傳文件,不使用MultipartFile類,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09MAC配置java+jmeter環(huán)境變量過程解析
這篇文章主要介紹了MAC配置java+jmeter環(huán)境變量過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09