diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/parser/NL2SQLParser.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/parser/NL2SQLParser.java index ec88c2291..7022a54cf 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/parser/NL2SQLParser.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/parser/NL2SQLParser.java @@ -101,7 +101,7 @@ public class NL2SQLParser implements ChatQueryParser { doParse(queryNLReq, parseResp); } - if (parseResp.getSelectedParses().isEmpty()) { + if (parseResp.getSelectedParses().isEmpty() && candidateParses.isEmpty()) { queryNLReq.setMapModeEnum(MapModeEnum.LOOSE); doParse(queryNLReq, parseResp); } diff --git a/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlSelectHelper.java b/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlSelectHelper.java index 5b94a9001..fe5641f3d 100644 --- a/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlSelectHelper.java +++ b/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlSelectHelper.java @@ -276,8 +276,10 @@ public class SqlSelectHelper { Set aliases = new HashSet<>(); for (PlainSelect plainSelect : plainSelects) { List fields = getFieldsByPlainSelect(plainSelect); + Set subaliases = getAliasFields(plainSelect); + subaliases.removeAll(fields); results.addAll(fields); - aliases.addAll(getAliasFields(plainSelect)); + aliases.addAll(subaliases); } // do not account in aliases results.removeAll(aliases); diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/MapperConfig.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/MapperConfig.java index 38178b7cd..583071c84 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/MapperConfig.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/mapper/MapperConfig.java @@ -51,7 +51,7 @@ public class MapperConfig extends ParameterConfig { "每个文本进行向量语义召回的文本结果个数", "number", "Mapper相关配置"); public static final Parameter EMBEDDING_MAPPER_THRESHOLD = - new Parameter("s2.mapper.embedding.threshold", "0.8", "向量召回相似度阈值", "相似度小于该阈值的则舍弃", + new Parameter("s2.mapper.embedding.threshold", "0.9", "向量召回相似度阈值", "相似度小于该阈值的则舍弃", "number", "Mapper相关配置"); public static final Parameter EMBEDDING_MAPPER_ROUND_NUMBER = diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java b/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java index bc90f22c0..028f269cf 100644 --- a/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java +++ b/launchers/standalone/src/test/java/com/tencent/supersonic/evaluation/Text2SQLEval.java @@ -108,6 +108,7 @@ public class Text2SQLEval extends BaseTest { } @Test + @SetSystemProperty(key = "s2.test", value = "true") public void test_filter_and_top() throws Exception { long start = System.currentTimeMillis(); QueryResult result = submitNewChat("近半个月来marketing部门访问量最高的用户是谁", agent.getId());