當DeepSeek開始盛行,提供強大的大語言模型,界面調用不能滿足我們的需要,同時提供API接口供我們在服務中調用,來實現各種AI場景。
我們通過將DeepSeek的AI能力與SpringBoot AI相結合,實現智能聊天、問答機器人,智能圖片、視頻生成、語音轉文本,文本轉語音等功能。
下面開始我們的教程。創建一個SpringBoot項目,集成AI模型。
1. 創建項目
2. 選擇web、OpenAI配置
3. Maven pom配置
創建好項目會自動生成。
<properties><java.version>17</java.version><spring-ai.version>1.0.0-M6</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
4. 項目yml配置
server:servlet:context-path: /deepseekspring:ai:openai:api-key: <這里要輸入你自己的API Key>base-url: https://api.siliconflow.cnchat:options:model: deepseek-ai/DeepSeek-V3
- api-key:AI平臺生成,用于API調用
- base-url: AI平臺地址
- model: AI模型
5. 生成api-key
這里我們選用 硅基流動。
- 注冊
作為集合頂尖大模型的一站式云服務平臺,SiliconCloud 致力于為開發者提供更快、更全面、體驗更絲滑的模型 API。
注冊登錄地址:https://cloud.siliconflow.cn/i/8n3HTfnD
現在登錄會贈送14元額度,即2000萬Token, 方便大家測試使用。
-
生成Api-key
將生成好的 API 密鑰放入項目yml配置中 -
選擇模型
我們選擇deepseek-ai/DeepSeek-R1(思考推理)、deepseek-ai/DeepSeek-V3這兩款模型。
將模型model復制進yml配置。
6. 完成程序調用代碼
package com.example.deepseek.controller;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class AiController {private final ChatClient chatClient;public AiController(ChatClient.Builder builder) {// 給模型system一個角色,便于生成更準確的回答this.chatClient = builder.defaultSystem("你是一個IT方向技術精湛的專家,我經常會想你提問一些技術問題,你總是能給我詳細的答案。").build();}@GetMapping("/chat/{prompt}")public String chat(@PathVariable("prompt") String prompt) {return chatClient.prompt()// 提問語.user(prompt).call().content();}
}
7. 測試
啟動項目
測試地址:http://localhost:8080/deepseek/chat/分布式事務的解決方案
大家也可以在此基礎上,實現一些更智能化的功能。