文章目錄
文章目錄
前言
一、創建 spring boot 工程
二、申請key
三、修改配置文件?application.properties
四、編寫控制器(controller)
五、運行調試
前言
提示:
隨著人工智能的不斷發展,ai這門技術也越來越重要,很多人都開啟了擁抱ai,本文就介紹Spring Boot 整合 DeepSeek。
一、創建 spring boot 工程
點擊下一步 勾選 web和ai依賴
點擊完成
注:jdk必須為17如果沒有 自行下載
二、申請key
? ? ? ? 訪問:DeepSeek 開放平臺
? ? ? ? 登入進入以下頁面 創建一個key??
注:需要充值才能使用
三、修改配置文件?
??application.properties
spring.ai.openai.api-key=你申請的key
spring.ai.openai.base-url=https://api.deepseek.com
spring.ai.openai.chat.options.model=deepseek-chat
spring.ai.openai.chat.options.temperature=0.7# The DeepSeek API doesn't support embeddings, so we need to disable it.
spring.ai.openai.embedding.enabled=false
四、編寫控制器(controller)
@RestController
public class ChatController {// 注入OpenAI聊天模型實例,已通過配置文件完成API密鑰等參數配置@Autowiredprivate OpenAiChatModel chatModel;// 使用List維護對話上下文,包含系統消息和用戶消息private List<Message> chatHistory = new ArrayList<>();// Bean初始化后自動執行,設置AI的初始角色@PostConstructpublic void init() {// 添加系統消息定義AI行為準則chatHistory.add(new SystemMessage("You are a helpful assistant."));}// 處理GET請求的聊天接口,produces默認為application/json@GetMapping("/chat")public ChatResponse chat(String message) {System.out.println(message); // 打印調試信息// 將用戶輸入封裝為消息對象并加入歷史chatHistory.add(new UserMessage(message));// 構建包含完整對話歷史的Prompt對象Prompt prompt = new Prompt(chatHistory);// 調用OpenAI模型生成響應(同步調用方式)ChatResponse response = chatModel.call(prompt);// 將AI響應加入對話歷史以保持上下文連貫chatHistory.add(response.getResult().getOutput());return response; // 返回包含完整響應元數據的對象}
}