diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/QueryTypeParser.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/QueryTypeParser.java index f999db625..11ad82f97 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/QueryTypeParser.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/QueryTypeParser.java @@ -23,7 +23,7 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -/** QueryTypeParser resolves query type as either METRIC or TAG, or ID. */ +/** QueryTypeParser resolves query type as either AGGREGATE or DETAIL or ID. */ @Slf4j public class QueryTypeParser implements SemanticParser { diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/SatisfactionChecker.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/SatisfactionChecker.java deleted file mode 100644 index 8aa3092cb..000000000 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/SatisfactionChecker.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.tencent.supersonic.headless.chat.parser; - -import com.tencent.supersonic.common.util.ContextUtils; -import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; -import com.tencent.supersonic.headless.chat.ChatQueryContext; -import com.tencent.supersonic.headless.chat.query.SemanticQuery; -import com.tencent.supersonic.headless.chat.query.llm.s2sql.LLMSqlQuery; -import lombok.extern.slf4j.Slf4j; - -import static com.tencent.supersonic.headless.chat.parser.ParserConfig.PARSER_TEXT_LENGTH_THRESHOLD; -import static com.tencent.supersonic.headless.chat.parser.ParserConfig.PARSER_TEXT_LENGTH_THRESHOLD_LONG; -import static com.tencent.supersonic.headless.chat.parser.ParserConfig.PARSER_TEXT_LENGTH_THRESHOLD_SHORT; - -/** - * This checker can be used by semantic parsers to check if query intent has already been satisfied - * by current candidate queries. If so, current parser could be skipped. - */ -@Slf4j -@Deprecated -public class SatisfactionChecker { - - // check all the parse info in candidate - public static boolean isSkip(ChatQueryContext chatQueryContext) { - for (SemanticQuery query : chatQueryContext.getCandidateQueries()) { - if (query.getQueryMode().equals(LLMSqlQuery.QUERY_MODE)) { - continue; - } - if (checkThreshold(chatQueryContext.getRequest().getQueryText(), - query.getParseInfo())) { - return true; - } - } - return false; - } - - private static boolean checkThreshold(String queryText, SemanticParseInfo semanticParseInfo) { - int queryTextLength = queryText.replaceAll(" ", "").length(); - double degree = semanticParseInfo.getScore() / queryTextLength; - ParserConfig parserConfig = ContextUtils.getBean(ParserConfig.class); - int textLengthThreshold = - Integer.valueOf(parserConfig.getParameterValue(PARSER_TEXT_LENGTH_THRESHOLD)); - double longTextLengthThreshold = - Double.valueOf(parserConfig.getParameterValue(PARSER_TEXT_LENGTH_THRESHOLD_LONG)); - double shortTextLengthThreshold = - Double.valueOf(parserConfig.getParameterValue(PARSER_TEXT_LENGTH_THRESHOLD_SHORT)); - - if (queryTextLength > textLengthThreshold) { - if (degree < longTextLengthThreshold) { - return false; - } - } else if (degree < shortTextLengthThreshold) { - return false; - } - log.info("queryMode:{}, degree:{}, parse info:{}", semanticParseInfo.getQueryMode(), degree, - semanticParseInfo); - return true; - } -}