diff --git a/common/src/main/java/com/tencent/supersonic/common/pojo/SysParameter.java b/common/src/main/java/com/tencent/supersonic/common/pojo/SysParameter.java index 6fcdc9544..0fae3fc54 100644 --- a/common/src/main/java/com/tencent/supersonic/common/pojo/SysParameter.java +++ b/common/src/main/java/com/tencent/supersonic/common/pojo/SysParameter.java @@ -8,7 +8,6 @@ import java.util.stream.Collectors; import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.springframework.util.CollectionUtils; -import retrofit2.http.HEAD; @Data public class SysParameter { @@ -31,7 +30,7 @@ public class SysParameter { return ""; } Map nameToValue = parameters.stream() - .collect(Collectors.toMap(a -> a.getName(), a -> a.getValue(), (k1, k2) -> k1)); + .collect(Collectors.toMap(Parameter::getName, Parameter::getValue, (k1, k2) -> k1)); return nameToValue.get(name); } @@ -47,52 +46,54 @@ public class SysParameter { parameters = Lists.newArrayList(); admins = Lists.newArrayList("admin"); //llm config - parameters.add(new Parameter("llm.model.name", "gpt4", - "模型名称(大语言模型相关配置)", "string", "大语言模型相关配置")); + Parameter parameter = new Parameter("llm.model.name", "gpt3.5", + "模型名称", "list", "大语言模型相关配置"); + parameter.setCandidateValues(Lists.newArrayList("gpt3.5", "gpt3.5-16k")); + parameters.add(parameter); parameters.add(new Parameter("llm.api.key", "sk-afdasdasd", - "模型密钥(大语言模型相关配置)", "string", "大语言模型相关配置")); + "模型密钥", "string", "大语言模型相关配置")); parameters.add(new Parameter("llm.temperature", "0.0", "温度值", "number", "大语言模型相关配置")); - //detect config - parameters.add(new Parameter("one.detection.size", "8", - "一次探测个数(hanlp相关配置)", "number", "hanlp相关配置")); - parameters.add(new Parameter("one.detection.max.size", "20", - "一次探测最大个数(hanlp相关配置)", "number", "hanlp相关配置")); - - //mapper config - parameters.add(new Parameter("metric.dimension.min.threshold", "0.3", - "指标名、维度名最小文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置")); - parameters.add(new Parameter("metric.dimension.threshold", "0.3", - "指标名、维度名文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置")); - parameters.add(new Parameter("dimension.value.threshold", "0.5", - "维度值最小文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置")); - - //skip config - parameters.add(new Parameter("query.text.length.threshold", "10", - "文本长短阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置")); - parameters.add(new Parameter("short.text.threshold", "5", - "短文本匹配阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置")); - parameters.add(new Parameter("long.text.threshold", "0.8", - "长文本匹配阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置")); - - //embedding mapper config - parameters.add(new Parameter("embedding.mapper.word.min", - "4", "用于向量召回最小的文本长度(向量召回mapper相关配置)", "number", "向量召回mapper相关配置")); - parameters.add(new Parameter("embedding.mapper.word.max", "5", - "用于向量召回最大的文本长度(向量召回mapper相关配置)", "number", "向量召回mapper相关配置")); - parameters.add(new Parameter("embedding.mapper.batch", "50", - "批量向量召回文本请求个数(向量召回mapper相关配置)", "number", "向量召回mapper相关配置")); - parameters.add(new Parameter("embedding.mapper.number", "5", - "批量向量召回文本返回结果个数(向量召回mapper相关配置)", "number", "向量召回mapper相关配置")); - parameters.add(new Parameter("embedding.mapper.distance.threshold", - "0.58", "Mapper阶段向量召回相似度阈值(向量召回mapper相关配置)", "number", "向量召回mapper相关配置")); - //s2SQL config parameters.add(new Parameter("s2SQL.generation", "2-steps", "S2SQL生成方式", "string", "S2SQL相关配置")); parameters.add(new Parameter("s2SQL.linking.value.switch", "true", "是否将linkingValues提供给大模型", "bool", "S2SQL相关配置")); + + //detect config + parameters.add(new Parameter("one.detection.size", "8", + "一次探测个数", "number", "[mapper]hanlp相关配置")); + parameters.add(new Parameter("one.detection.max.size", "20", + "一次探测最大个数", "number", "[mapper]hanlp相关配置")); + + //mapper config + parameters.add(new Parameter("metric.dimension.min.threshold", "0.3", + "指标名、维度名最小文本相似度", "number", "[mapper]模糊匹配相关配置")); + parameters.add(new Parameter("metric.dimension.threshold", "0.3", + "指标名、维度名文本相似度", "number", "[mapper]模糊匹配相关配置")); + parameters.add(new Parameter("dimension.value.threshold", "0.5", + "维度值最小文本相似度", "number", "[mapper]模糊匹配相关配置")); + + //embedding mapper config + parameters.add(new Parameter("embedding.mapper.word.min", + "4", "用于向量召回最小的文本长度", "number", "[mapper]向量召回相关配置")); + parameters.add(new Parameter("embedding.mapper.word.max", "5", + "用于向量召回最大的文本长度", "number", "[mapper]向量召回相关配置")); + parameters.add(new Parameter("embedding.mapper.batch", "50", + "批量向量召回文本请求个数", "number", "[mapper]向量召回相关配置")); + parameters.add(new Parameter("embedding.mapper.number", "5", + "批量向量召回文本返回结果个数", "number", "[mapper]向量召回相关配置")); + parameters.add(new Parameter("embedding.mapper.distance.threshold", + "0.58", "向量召回相似度阈值", "number", "[mapper]向量召回相关配置")); + + //skip config + parameters.add(new Parameter("query.text.length.threshold", "10", + "文本长短阈值", "number", "是否跳过当前parser相关配置")); + parameters.add(new Parameter("short.text.threshold", "5", + "短文本匹配阈值", "number", "是否跳过当前parser相关配置")); + parameters.add(new Parameter("long.text.threshold", "0.8", + "长文本匹配阈值", "number", "是否跳过当前parser相关配置")); } } diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/integration/MetricQueryTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/integration/MetricQueryTest.java index 0c1a79a86..54be0d19a 100644 --- a/launchers/standalone/src/test/java/com/tencent/supersonic/integration/MetricQueryTest.java +++ b/launchers/standalone/src/test/java/com/tencent/supersonic/integration/MetricQueryTest.java @@ -124,7 +124,6 @@ public class MetricQueryTest extends BaseQueryTest { expectedResult.setQueryMode(MetricFilterQuery.QUERY_MODE); expectedParseInfo.setAggType(NONE); - expectedParseInfo.getDimensions().add(DataUtils.getSchemaElement("用户名")); expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("访问次数")); List list = new ArrayList<>(); diff --git a/launchers/standalone/src/test/resources/db/schema-h2.sql b/launchers/standalone/src/test/resources/db/schema-h2.sql index 5d2cfdddd..d75ced5a8 100644 --- a/launchers/standalone/src/test/resources/db/schema-h2.sql +++ b/launchers/standalone/src/test/resources/db/schema-h2.sql @@ -180,6 +180,7 @@ CREATE TABLE IF NOT EXISTS `s2_datasource` ( `depends` varchar(500) DEFAULT NULL , `datasource_detail` LONGVARCHAR NOT NULL , `status` int(11) DEFAULT NULL , + `filter_sql` varchar(1000) DEFAULT NULL , `created_at` TIMESTAMP NOT NULL , `created_by` varchar(100) NOT NULL , `updated_at` TIMESTAMP NOT NULL ,