From 14177e265f522c4100f4db9d1ce383552f851325 Mon Sep 17 00:00:00 2001 From: yudong Date: Mon, 2 Sep 2024 21:41:19 +0800 Subject: [PATCH] =?UTF-8?q?(fix)(headless)=20=E4=BF=AE=E5=A4=8DLLM?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8F=98=E6=88=90=E6=9C=AF=E8=AF=AD=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#1617)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: wangyudong --- .../supersonic/headless/chat/mapper/TermDescMapper.java | 4 ++++ .../supersonic/headless/server/utils/ChatWorkflowEngine.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/TermDescMapper.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/TermDescMapper.java index a7ea1a65e..6abb739b1 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/TermDescMapper.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/TermDescMapper.java @@ -23,11 +23,15 @@ public class TermDescMapper extends BaseMapper { chatQueryContext.setOriQueryText(chatQueryContext.getQueryText()); } for (SchemaElement schemaElement : termDescriptionToMap) { + if (schemaElement.isDescriptionMapped()) { + continue; + } if (chatQueryContext.getQueryText().equals(schemaElement.getDescription())) { schemaElement.setDescriptionMapped(true); continue; } chatQueryContext.setQueryText(schemaElement.getDescription()); + break; } if (CollectionUtils.isEmpty(chatQueryContext.getMapInfo().getTermDescriptionToMap())) { chatQueryContext.setQueryText(chatQueryContext.getOriQueryText()); diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ChatWorkflowEngine.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ChatWorkflowEngine.java index f5ecc607d..46ca010d2 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ChatWorkflowEngine.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ChatWorkflowEngine.java @@ -47,6 +47,8 @@ public class ChatWorkflowEngine { parseResult.setState(ParseResp.ParseState.FAILED); parseResult.setErrorMsg("No semantic entities can be mapped against user question."); queryCtx.setChatWorkflowState(ChatWorkflowState.FINISHED); + } else if (queryCtx.getMapInfo().needContinueMap()) { + queryCtx.setChatWorkflowState(ChatWorkflowState.MAPPING); } else { queryCtx.setChatWorkflowState(ChatWorkflowState.PARSING); }