From 24b89a98e80ae048134524265ef6e4afc36eb574 Mon Sep 17 00:00:00 2001 From: qmstyle Date: Tue, 15 Apr 2025 15:57:42 +0800 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B44=E6=9C=8815=E6=97=A515:57:37?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../local/chat/controller/ChatController.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhangmeng/deepseek/local/chat/controller/ChatController.java b/src/main/java/com/zhangmeng/deepseek/local/chat/controller/ChatController.java index 0dd8d98..8fd4808 100644 --- a/src/main/java/com/zhangmeng/deepseek/local/chat/controller/ChatController.java +++ b/src/main/java/com/zhangmeng/deepseek/local/chat/controller/ChatController.java @@ -1,7 +1,10 @@ package com.zhangmeng.deepseek.local.chat.controller; +import com.zhangmeng.deepseek.local.chat.repository.ChatHistoryRepository; import lombok.RequiredArgsConstructor; import org.springframework.ai.chat.client.ChatClient; +import org.springframework.ai.chat.client.advisor.AbstractChatMemoryAdvisor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -20,14 +23,23 @@ import java.util.List; @RestController public class ChatController { + @Autowired private final ChatClient chatClient; + @Autowired + private final ChatHistoryRepository chatHistoryRepository; + @RequestMapping(value = "/chat", produces = "text/html;charset=utf-8") public Flux chat( @RequestParam("prompt") String prompt, @RequestParam("chatId") String chatId, @RequestParam(value = "files", required = false) List files) { - return chatClient.prompt().user(prompt).stream().content(); + // 1.保存会话id + chatHistoryRepository.save("chat", chatId); + // 2.发送消息 + return chatClient.prompt().user(prompt) + .advisors(a -> a.param(AbstractChatMemoryAdvisor.CHAT_MEMORY_CONVERSATION_ID_KEY, chatId)) + .stream().content(); } }