From d25859e754db751eaebea0614326432db05a1d9d Mon Sep 17 00:00:00 2001 From: MerCry Date: Thu, 26 Feb 2026 23:25:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD=E8=B0=83?= =?UTF-8?q?=E8=AF=95=20=E7=A1=AE=E4=BF=9D=E5=8F=AF=E4=BB=A5=E8=81=94?= =?UTF-8?q?=E9=80=9Aai=E4=B8=AD=E5=8F=B0[AC-INIT]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MessageRouterServiceImpl.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java b/src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java index 28e2de2..0153cbf 100644 --- a/src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java +++ b/src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java @@ -5,6 +5,7 @@ import com.wecom.robot.adapter.TransferCapable; import com.wecom.robot.dto.InboundMessage; import com.wecom.robot.dto.OutboundMessage; import com.wecom.robot.dto.ai.ChatRequest; +import com.wecom.robot.dto.ai.ChatMessage; import com.wecom.robot.dto.ai.ChatResponse; import com.wecom.robot.entity.Message; import com.wecom.robot.entity.Session; @@ -17,6 +18,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -94,7 +96,20 @@ public class MessageRouterServiceImpl implements MessageRouterService { List history = sessionManagerService.getSessionMessages(session.getSessionId()); - ChatRequest chatRequest = ChatRequest.fromInboundMessage(message); + List chatHistory = new ArrayList<>(); + if (history != null && !history.isEmpty()) { + for (Message msg : history) { + String role = Message.SENDER_TYPE_CUSTOMER.equals(msg.getSenderType()) + ? ChatMessage.ROLE_USER + : ChatMessage.ROLE_ASSISTANT; + chatHistory.add(ChatMessage.builder() + .role(role) + .content(msg.getContent()) + .build()); + } + } + + ChatRequest chatRequest = ChatRequest.fromInboundMessage(message, chatHistory); ChatResponse chatResponse; try { chatResponse = aiServiceClient.generateReply(chatRequest).get(); @@ -110,8 +125,8 @@ public class MessageRouterServiceImpl implements MessageRouterService { double confidence = chatResponse.getConfidence() != null ? chatResponse.getConfidence() : 0.0; int messageCount = sessionManagerService.getMessageCount(session.getSessionId()); - boolean shouldTransfer = chatResponse.getShouldTransfer() != null && chatResponse.getShouldTransfer(); - + // boolean shouldTransfer = chatResponse.getShouldTransfer() != null && chatResponse.getShouldTransfer(); + boolean shouldTransfer =false; if (!shouldTransfer) { shouldTransfer = transferService.shouldTransferToManual( message.getContent(),