feat/multi-channel-framework #17
|
|
@ -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<Message> history = sessionManagerService.getSessionMessages(session.getSessionId());
|
||||
|
||||
ChatRequest chatRequest = ChatRequest.fromInboundMessage(message);
|
||||
List<ChatMessage> 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(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue