diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatQueryServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatQueryServiceImpl.java index 78571dc68..61afeee5c 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatQueryServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatQueryServiceImpl.java @@ -119,6 +119,13 @@ public class ChatQueryServiceImpl implements ChatQueryService { chatManageService.updateParseCostTime(parseContext.getResponse()); } + // no need for explicit user feedback if there is only one candidate parses + if (parseContext.needFeedback() && parseContext.getResponse().getSelectedParses().size() == 1) { + chatParseReq.setQueryId(parseContext.getResponse().getQueryId()); + chatParseReq.setSelectedParse(parseContext.getResponse().getSelectedParses().get(0)); + return parse(chatParseReq); + } + return parseContext.getResponse(); } diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/ChatQueryContext.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/ChatQueryContext.java index a37e4c1cd..dda36ae8a 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/ChatQueryContext.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/ChatQueryContext.java @@ -44,14 +44,11 @@ public class ChatQueryContext { } public List getCandidateQueries() { - ParserConfig parserConfig = ContextUtils.getBean(ParserConfig.class); - int parseShowCount = - Integer.parseInt(parserConfig.getParameterValue(ParserConfig.PARSER_SHOW_COUNT)); candidateQueries = candidateQueries.stream() .sorted(Comparator.comparing( semanticQuery -> semanticQuery.getParseInfo().getScore(), Comparator.reverseOrder())) - .limit(parseShowCount).collect(Collectors.toList()); + .limit(1).collect(Collectors.toList()); return candidateQueries; }