diff --git a/evaluation/build_models.py b/evaluation/build_models.py index 384738d20..d49bec03e 100644 --- a/evaluation/build_models.py +++ b/evaluation/build_models.py @@ -250,8 +250,8 @@ def build_dataSet(domain_id,model_id1,model_id2,model_id3,model_id4): {"viewModelConfigs":[{"id":model_id1,"includesAll":False,"metrics":metric_list1, "dimensions":dimension_list1},{"id":model_id2,"includesAll":False, "metrics":metric_list2,"dimensions":dimension_list2},{"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3}, - {"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4}]},"queryConfig":{"tagTypeDefaultConfig": - {"dimensionIds":[],"metricIds":[]},"metricTypeDefaultConfig":{"timeDefaultConfig":{"unit":1,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} + {"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4}]},"queryConfig":{"detailTypeDefaultConfig": + {"dimensionIds":[],"metricIds":[]},"aggregateTypeDefaultConfig":{"timeDefaultConfig":{"unit":1,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} json_dict={"name":"DuSQL 互联网企业","bizName":"internet","description":"DuSQL互联网企业数据源相关的指标和维度等","typeEnum":"DATASET","sensitiveLevel":0,"domainId":domain_id, "dataSetDetail":{"dataSetModelConfigs":[ @@ -260,7 +260,7 @@ def build_dataSet(domain_id,model_id1,model_id2,model_id3,model_id4): {"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3}, {"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4} ]}, - "queryConfig":{"tagTypeDefaultConfig":{},"metricTypeDefaultConfig":{"timeDefaultConfig":{"unit":0,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} + "queryConfig":{"detailTypeDefaultConfig":{},"aggregateTypeDefaultConfig":{"timeDefaultConfig":{"unit":0,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} url=get_url_pre()+"/api/semantic/dataSet" authorization=get_authorization() header = {} diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/MetricTypeDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java similarity index 89% rename from headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/MetricTypeDefaultConfig.java rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java index f9d76ec51..76a45cb89 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/MetricTypeDefaultConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java @@ -5,7 +5,7 @@ import com.tencent.supersonic.common.pojo.enums.TimeMode; import lombok.Data; @Data -public class MetricTypeDefaultConfig { +public class AggregateTypeDefaultConfig { private TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(7, DatePeriodEnum.DAY, TimeMode.RECENT); diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DataSetSchema.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DataSetSchema.java index 65a73682a..8c79066c6 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DataSetSchema.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DataSetSchema.java @@ -75,38 +75,38 @@ public class DataSetSchema { if (queryConfig == null) { return null; } - if (queryConfig.getTagTypeDefaultConfig() == null) { + if (queryConfig.getDetailTypeDefaultConfig() == null) { return null; } - return queryConfig.getTagTypeDefaultConfig().getTimeDefaultConfig(); + return queryConfig.getDetailTypeDefaultConfig().getTimeDefaultConfig(); } public TimeDefaultConfig getMetricTypeTimeDefaultConfig() { if (queryConfig == null) { return null; } - if (queryConfig.getMetricTypeDefaultConfig() == null) { + if (queryConfig.getAggregateTypeDefaultConfig() == null) { return null; } - return queryConfig.getMetricTypeDefaultConfig().getTimeDefaultConfig(); + return queryConfig.getAggregateTypeDefaultConfig().getTimeDefaultConfig(); } - public TagTypeDefaultConfig getTagTypeDefaultConfig() { + public DetailTypeDefaultConfig getTagTypeDefaultConfig() { if (queryConfig == null) { return null; } - return queryConfig.getTagTypeDefaultConfig(); + return queryConfig.getDetailTypeDefaultConfig(); } public List getTagDefaultDimensions() { - TagTypeDefaultConfig tagTypeDefaultConfig = getTagTypeDefaultConfig(); - if (Objects.isNull(tagTypeDefaultConfig) - || Objects.isNull(tagTypeDefaultConfig.getDefaultDisplayInfo())) { + DetailTypeDefaultConfig detailTypeDefaultConfig = getTagTypeDefaultConfig(); + if (Objects.isNull(detailTypeDefaultConfig) + || Objects.isNull(detailTypeDefaultConfig.getDefaultDisplayInfo())) { return new ArrayList<>(); } if (CollectionUtils.isNotEmpty( - tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { - return tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { + return detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() .map( id -> { SchemaElement metric = getElement(SchemaElementType.METRIC, id); @@ -119,14 +119,14 @@ public class DataSetSchema { } public List getTagDefaultMetrics() { - TagTypeDefaultConfig tagTypeDefaultConfig = getTagTypeDefaultConfig(); - if (Objects.isNull(tagTypeDefaultConfig) - || Objects.isNull(tagTypeDefaultConfig.getDefaultDisplayInfo())) { + DetailTypeDefaultConfig detailTypeDefaultConfig = getTagTypeDefaultConfig(); + if (Objects.isNull(detailTypeDefaultConfig) + || Objects.isNull(detailTypeDefaultConfig.getDefaultDisplayInfo())) { return new ArrayList<>(); } if (CollectionUtils.isNotEmpty( - tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { - return tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { + return detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() .map(id -> getElement(SchemaElementType.DIMENSION, id)) .filter(Objects::nonNull) .collect(Collectors.toList()); diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/TagTypeDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java similarity index 87% rename from headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/TagTypeDefaultConfig.java rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java index eefb2f0ef..28241a4fc 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/TagTypeDefaultConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java @@ -3,7 +3,7 @@ package com.tencent.supersonic.headless.api.pojo; import lombok.Data; @Data -public class TagTypeDefaultConfig { +public class DetailTypeDefaultConfig { private DefaultDisplayInfo defaultDisplayInfo; diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/QueryConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/QueryConfig.java index e1ba567aa..d78daefc4 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/QueryConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/QueryConfig.java @@ -5,7 +5,8 @@ import lombok.Data; @Data public class QueryConfig { - private TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); + private DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig(); - private MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); + private AggregateTypeDefaultConfig aggregateTypeDefaultConfig = + new AggregateTypeDefaultConfig(); } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java index 51434b3e8..8e81e640b 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java @@ -77,9 +77,9 @@ public class SemanticParseInfo { public Long getDetailLimit() { Long limit = DEFAULT_DETAIL_LIMIT; if (Objects.nonNull(queryConfig) - && Objects.nonNull(queryConfig.getTagTypeDefaultConfig()) - && Objects.nonNull(queryConfig.getTagTypeDefaultConfig().getLimit())) { - limit = queryConfig.getTagTypeDefaultConfig().getLimit(); + && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig()) + && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig().getLimit())) { + limit = queryConfig.getDetailTypeDefaultConfig().getLimit(); } return limit; } @@ -87,9 +87,9 @@ public class SemanticParseInfo { public Long getMetricLimit() { Long limit = DEFAULT_METRIC_LIMIT; if (Objects.nonNull(queryConfig) - && Objects.nonNull(queryConfig.getMetricTypeDefaultConfig()) - && Objects.nonNull(queryConfig.getMetricTypeDefaultConfig().getLimit())) { - limit = queryConfig.getMetricTypeDefaultConfig().getLimit(); + && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig()) + && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig().getLimit())) { + limit = queryConfig.getAggregateTypeDefaultConfig().getLimit(); } return limit; } diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java index 89e3cbc52..0142f96ab 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/corrector/TimeCorrector.java @@ -54,9 +54,9 @@ public class TimeCorrector extends BaseSemanticCorrector { TimeDefaultConfig timeConfig; QueryConfig queryConfig = dataSetSchema.getQueryConfig(); if (QueryType.METRIC.equals(semanticParseInfo.getQueryType())) { - timeConfig = queryConfig.getMetricTypeDefaultConfig().getTimeDefaultConfig(); + timeConfig = queryConfig.getAggregateTypeDefaultConfig().getTimeDefaultConfig(); } else { - timeConfig = queryConfig.getTagTypeDefaultConfig().getTimeDefaultConfig(); + timeConfig = queryConfig.getDetailTypeDefaultConfig().getTimeDefaultConfig(); } String timeFormat = dataSetSchema.getPartitionTimeFormat(); diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java index 9db08ab6b..625a08805 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/parser/llm/OnePassSCSqlGenStrategy.java @@ -38,6 +38,7 @@ public class OnePassSCSqlGenStrategy extends SqlGenStrategy { + "\n4.DO NOT calculate date range using functions." + "\n5.DO NOT calculate date range using DATE_SUB." + "\n6.DO NOT miss the AGGREGATE operator of metrics, always add it as needed." + + "\n7.ALWAYS USE `with` statement to handle secondary calculation scenario." + "\n#Exemplars:\n{{exemplar}}" + "#Question:\nQuestion:{{question}},Schema:{{schema}},SideInfo:{{information}}"; diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailListQuery.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailListQuery.java index 348404143..e1f718304 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailListQuery.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailListQuery.java @@ -2,11 +2,8 @@ package com.tencent.supersonic.headless.chat.query.rule.detail; import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.Order; -import com.tencent.supersonic.headless.api.pojo.DataSetSchema; -import com.tencent.supersonic.headless.api.pojo.SchemaElement; -import com.tencent.supersonic.headless.api.pojo.SchemaElementType; -import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; -import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig; import com.tencent.supersonic.headless.chat.ChatQueryContext; import org.apache.commons.collections.CollectionUtils; @@ -35,13 +32,14 @@ public abstract class DetailListQuery extends DetailSemanticQuery { Set dimensions = new LinkedHashSet<>(); Set metrics = new LinkedHashSet<>(); Set orders = new LinkedHashSet<>(); - TagTypeDefaultConfig tagTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig(); - if (tagTypeDefaultConfig != null - && tagTypeDefaultConfig.getDefaultDisplayInfo() != null) { + DetailTypeDefaultConfig detailTypeDefaultConfig = + dataSetSchema.getTagTypeDefaultConfig(); + if (detailTypeDefaultConfig != null + && detailTypeDefaultConfig.getDefaultDisplayInfo() != null) { if (CollectionUtils.isNotEmpty( - tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { + detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { metrics = - tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() .map( id -> { SchemaElement metric = @@ -59,9 +57,10 @@ public abstract class DetailListQuery extends DetailSemanticQuery { .collect(Collectors.toSet()); } if (CollectionUtils.isNotEmpty( - tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { + detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { dimensions = - tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds() + .stream() .map( id -> dataSetSchema.getElement( diff --git a/headless/chat/src/test/java/com/tencent/supersonic/headless/chat/corrector/SelectCorrectorTest.java b/headless/chat/src/test/java/com/tencent/supersonic/headless/chat/corrector/SelectCorrectorTest.java index d0dee8c00..92463a00f 100644 --- a/headless/chat/src/test/java/com/tencent/supersonic/headless/chat/corrector/SelectCorrectorTest.java +++ b/headless/chat/src/test/java/com/tencent/supersonic/headless/chat/corrector/SelectCorrectorTest.java @@ -2,14 +2,8 @@ package com.tencent.supersonic.headless.chat.corrector; import com.tencent.supersonic.common.pojo.enums.QueryType; import com.tencent.supersonic.common.util.ContextUtils; -import com.tencent.supersonic.headless.api.pojo.DataSetSchema; -import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo; -import com.tencent.supersonic.headless.api.pojo.QueryConfig; -import com.tencent.supersonic.headless.api.pojo.SchemaElement; -import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; -import com.tencent.supersonic.headless.api.pojo.SemanticSchema; -import com.tencent.supersonic.headless.api.pojo.SqlInfo; -import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig; import com.tencent.supersonic.headless.chat.ChatQueryContext; import org.junit.Assert; import org.junit.jupiter.api.Test; @@ -58,7 +52,7 @@ class SelectCorrectorTest { List dataSetSchemaList = new ArrayList<>(); DataSetSchema dataSetSchema = new DataSetSchema(); QueryConfig queryConfig = new QueryConfig(); - TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); + DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig(); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); List dimensionIds = new ArrayList<>(); dimensionIds.add(1L); @@ -70,8 +64,8 @@ class SelectCorrectorTest { metricIds.add(4L); defaultDisplayInfo.setMetricIds(metricIds); - tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); - queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); + detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); + queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig); dataSetSchema.setQueryConfig(queryConfig); SchemaElement schemaElement = new SchemaElement(); diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java index 2c5c56903..56af63059 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java @@ -9,18 +9,8 @@ import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum; import com.tencent.supersonic.common.pojo.enums.QueryType; import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum; import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum; -import com.tencent.supersonic.headless.api.pojo.DataInfo; -import com.tencent.supersonic.headless.api.pojo.DataSetInfo; -import com.tencent.supersonic.headless.api.pojo.DataSetSchema; -import com.tencent.supersonic.headless.api.pojo.Dim; -import com.tencent.supersonic.headless.api.pojo.EntityInfo; -import com.tencent.supersonic.headless.api.pojo.MetaFilter; -import com.tencent.supersonic.headless.api.pojo.QueryParam; -import com.tencent.supersonic.headless.api.pojo.SchemaElement; -import com.tencent.supersonic.headless.api.pojo.SchemaElementType; -import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; -import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig; -import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig; import com.tencent.supersonic.headless.api.pojo.enums.SemanticType; import com.tencent.supersonic.headless.api.pojo.request.DimensionValueReq; import com.tencent.supersonic.headless.api.pojo.request.QueryFilter; @@ -493,12 +483,13 @@ public class S2SemanticLayerService implements SemanticLayerService { dataSetInfo.setPrimaryKey(dataSetSchema.getEntity().getBizName()); } entityInfo.setDataSetInfo(dataSetInfo); - TagTypeDefaultConfig tagTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig(); - if (tagTypeDefaultConfig == null || tagTypeDefaultConfig.getDefaultDisplayInfo() == null) { + DetailTypeDefaultConfig detailTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig(); + if (detailTypeDefaultConfig == null + || detailTypeDefaultConfig.getDefaultDisplayInfo() == null) { return entityInfo; } List dimensions = - tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() .map( id -> { SchemaElement element = @@ -516,7 +507,7 @@ public class S2SemanticLayerService implements SemanticLayerService { .filter(Objects::nonNull) .collect(Collectors.toList()); List metrics = - tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() + detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() .map( id -> { SchemaElement element = diff --git a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/CspiderDemo.java b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/CspiderDemo.java index 6853b80b1..d9c7fb89a 100644 --- a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/CspiderDemo.java +++ b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/CspiderDemo.java @@ -8,18 +8,8 @@ import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum; import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum; import com.tencent.supersonic.common.pojo.enums.TimeMode; import com.tencent.supersonic.common.pojo.enums.TypeEnums; -import com.tencent.supersonic.headless.api.pojo.DataSetDetail; -import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; -import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo; -import com.tencent.supersonic.headless.api.pojo.Dim; -import com.tencent.supersonic.headless.api.pojo.DimensionTimeTypeParams; -import com.tencent.supersonic.headless.api.pojo.Identify; -import com.tencent.supersonic.headless.api.pojo.Measure; -import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig; -import com.tencent.supersonic.headless.api.pojo.ModelDetail; -import com.tencent.supersonic.headless.api.pojo.QueryConfig; -import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig; -import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; @@ -218,22 +208,22 @@ public class CspiderDemo extends S2BaseDemo { dataSetReq.setDataSetDetail(dsDetail); dataSetReq.setTypeEnum(TypeEnums.DATASET); QueryConfig queryConfig = new QueryConfig(); - TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); + DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig(); TimeDefaultConfig tagTimeDefaultConfig = new TimeDefaultConfig(); tagTimeDefaultConfig.setTimeMode(TimeMode.LAST); tagTimeDefaultConfig.setUnit(7); - tagTypeDefaultConfig.setTimeDefaultConfig(tagTimeDefaultConfig); + detailTypeDefaultConfig.setTimeDefaultConfig(tagTimeDefaultConfig); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); defaultDisplayInfo.setDimensionIds(Lists.newArrayList()); defaultDisplayInfo.setMetricIds(Lists.newArrayList()); - tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); - MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); + detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); + AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig(); TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(); timeDefaultConfig.setTimeMode(TimeMode.RECENT); timeDefaultConfig.setUnit(7); - metricTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); - queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); - queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); + aggregateTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); + queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig); + queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig); dataSetReq.setQueryConfig(queryConfig); dataSetService.save(dataSetReq, User.getFakeUser()); } diff --git a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/DuSQLDemo.java b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/DuSQLDemo.java index e139e3347..126c83349 100644 --- a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/DuSQLDemo.java +++ b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/DuSQLDemo.java @@ -14,16 +14,8 @@ import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum; import com.tencent.supersonic.common.pojo.enums.TimeMode; import com.tencent.supersonic.common.pojo.enums.TypeEnums; import com.tencent.supersonic.common.util.JsonUtil; -import com.tencent.supersonic.headless.api.pojo.DataSetDetail; -import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; -import com.tencent.supersonic.headless.api.pojo.Dim; -import com.tencent.supersonic.headless.api.pojo.DimensionTimeTypeParams; -import com.tencent.supersonic.headless.api.pojo.Identify; -import com.tencent.supersonic.headless.api.pojo.Measure; -import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig; -import com.tencent.supersonic.headless.api.pojo.ModelDetail; -import com.tencent.supersonic.headless.api.pojo.QueryConfig; -import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.AggregateTypeDefaultConfig; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; @@ -285,12 +277,12 @@ public class DuSQLDemo extends S2BaseDemo { dataSetReq.setDataSetDetail(dsDetail); dataSetReq.setTypeEnum(TypeEnums.DATASET); QueryConfig queryConfig = new QueryConfig(); - MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); + AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig(); TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(); timeDefaultConfig.setTimeMode(TimeMode.RECENT); timeDefaultConfig.setUnit(1); - metricTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); - queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); + aggregateTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); + queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig); dataSetReq.setQueryConfig(queryConfig); dataSetService.save(dataSetReq, User.getFakeUser()); } diff --git a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2ArtistDemo.java b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2ArtistDemo.java index a0e10a98a..c381795ea 100644 --- a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2ArtistDemo.java +++ b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2ArtistDemo.java @@ -10,16 +10,8 @@ import com.tencent.supersonic.chat.server.agent.LLMParserTool; import com.tencent.supersonic.chat.server.agent.RuleParserTool; import com.tencent.supersonic.common.pojo.enums.StatusEnum; import com.tencent.supersonic.common.pojo.enums.TypeEnums; -import com.tencent.supersonic.headless.api.pojo.DataSetDetail; -import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; -import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo; -import com.tencent.supersonic.headless.api.pojo.Dim; -import com.tencent.supersonic.headless.api.pojo.Identify; -import com.tencent.supersonic.headless.api.pojo.Measure; -import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig; -import com.tencent.supersonic.headless.api.pojo.ModelDetail; -import com.tencent.supersonic.headless.api.pojo.QueryConfig; -import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig; +import com.tencent.supersonic.headless.api.pojo.*; +import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType; @@ -163,15 +155,15 @@ public class S2ArtistDemo extends S2BaseDemo { dataSetReq.setDataSetDetail(dataSetDetail); dataSetReq.setTypeEnum(TypeEnums.DATASET); QueryConfig queryConfig = new QueryConfig(); - TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); + DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig(); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); defaultDisplayInfo.setDimensionIds(dataSetModelConfigs.get(0).getDimensions()); MetricResp jsPlayCntMetric = getMetric("js_play_cnt", singerModel); defaultDisplayInfo.setMetricIds(Lists.newArrayList(jsPlayCntMetric.getId())); - tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); - MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); - queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); - queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); + detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); + AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig(); + queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig); + queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig); dataSetReq.setQueryConfig(queryConfig); DataSetResp dataSetResp = dataSetService.save(dataSetReq, User.getFakeUser()); return dataSetResp.getId();