From 7544780ff748285f52b03fbafbce9d9068994985 Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Fri, 13 Oct 2023 10:05:51 +0800 Subject: [PATCH] (improvment)(chat) remove the parse in candidate parse that has the same score as selectparse (#201) Co-authored-by: jolunoluo --- .../supersonic/chat/service/impl/QueryServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java index d2e201e5b..6fce496e8 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java @@ -160,7 +160,12 @@ public class QueryServiceImpl implements QueryService { return candidateParses; } int selectParseSize = selectedParses.size(); + Set selectParseScoreSet = selectedParses.stream() + .map(SemanticParseInfo::getScore).collect(Collectors.toSet()); int candidateParseSize = 5 - selectParseSize; + candidateParses = candidateParses.stream() + .filter(candidateParse -> !selectParseScoreSet.contains(candidateParse.getScore())) + .collect(Collectors.toList()); SemanticParseInfo semanticParseInfo = selectedParses.get(0); Long modelId = semanticParseInfo.getModelId(); if (modelId == null || modelId <= 0) {