(fix)(common)Make sure system exemplar gets loaded before demo chats.

This commit is contained in:
jerryjzhang
2024-06-27 11:50:05 +08:00
parent 2bf30bd75e
commit 57a727bdff
6 changed files with 18 additions and 17 deletions

View File

@@ -15,6 +15,7 @@ import dev.langchain4j.store.embedding.RetrieveQueryResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -24,6 +25,7 @@ import java.util.List;
@Service @Service
@Slf4j @Slf4j
@Order(0)
public class ExemplarServiceImpl implements ExemplarService, CommandLineRunner { public class ExemplarServiceImpl implements ExemplarService, CommandLineRunner {
private static final String SYS_EXEMPLAR_FILE = "s2ql_exemplar.json"; private static final String SYS_EXEMPLAR_FILE = "s2ql_exemplar.json";

View File

@@ -68,7 +68,7 @@ public class SqlFilterUtils {
joiner.add(SPACE + dealFilter(filter, isBizName) + SPACE); joiner.add(SPACE + dealFilter(filter, isBizName) + SPACE);
} }
}); });
log.info("getWhereClause, where sql : {}", joiner); log.debug("getWhereClause, where sql : {}", joiner);
return joiner.toString(); return joiner.toString();
} }
@@ -118,7 +118,7 @@ public class SqlFilterUtils {
} }
private String generator(Criterion criterion) { private String generator(Criterion criterion) {
log.info("criterion :{}", criterion); log.debug("criterion :{}", criterion);
String sqlPart; String sqlPart;
switch (criterion.getOperator()) { switch (criterion.getOperator()) {
case SQL_PART: case SQL_PART:

View File

@@ -67,7 +67,6 @@ public class TimeCorrector extends BaseSemanticCorrector {
//decide whether add date field to where //decide whether add date field to where
Environment environment = ContextUtils.getBean(Environment.class); Environment environment = ContextUtils.getBean(Environment.class);
String correctorDate = environment.getProperty("s2.corrector.date"); String correctorDate = environment.getProperty("s2.corrector.date");
log.info("correctorDate:{}", correctorDate);
if (StringUtils.isNotBlank(correctorDate) && !Boolean.parseBoolean(correctorDate)) { if (StringUtils.isNotBlank(correctorDate) && !Boolean.parseBoolean(correctorDate)) {
return; return;
} }

View File

@@ -88,7 +88,7 @@ public class SqlGenerateUtils {
sb.append(agg.getColumn()).append(" as ").append("value").append(locate).append(","); sb.append(agg.getColumn()).append(" as ").append("value").append(locate).append(",");
} }
String selectSql = sb.substring(0, sb.length() - 1); String selectSql = sb.substring(0, sb.length() - 1);
log.info("union select sql {}", selectSql); log.debug("union select sql {}", selectSql);
return selectSql; return selectSql;
} }
@@ -176,7 +176,7 @@ public class SqlGenerateUtils {
} else if (StringUtils.isNotEmpty(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) { } else if (StringUtils.isNotEmpty(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) {
return whereFromDate; return whereFromDate;
} else if (Objects.isNull(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) { } else if (Objects.isNull(whereFromDate) && StringUtils.isEmpty(whereClauseFromFilter)) {
log.info("the current date information is empty, enter the date initialization logic"); log.debug("the current date information is empty, enter the date initialization logic");
return dateModeUtils.defaultRecentDateInfo(queryParam.getDateInfo()); return dateModeUtils.defaultRecentDateInfo(queryParam.getDateInfo());
} }
return whereClauseFromFilter; return whereClauseFromFilter;
@@ -198,7 +198,7 @@ public class SqlGenerateUtils {
return dateModeUtils.defaultRecentDateInfo(dateInfo); return dateModeUtils.defaultRecentDateInfo(dateInfo);
} }
log.info("dateDate:{}", dateDate); log.debug("dateDate:{}", dateDate);
return dateModeUtils.getDateWhereStr(dateInfo, dateDate); return dateModeUtils.getDateWhereStr(dateInfo, dateDate);
} }
@@ -320,7 +320,7 @@ public class SqlGenerateUtils {
} }
if (!CollectionUtils.isEmpty(replace)) { if (!CollectionUtils.isEmpty(replace)) {
String expr = SqlReplaceHelper.replaceExpression(expression, replace); String expr = SqlReplaceHelper.replaceExpression(expression, replace);
log.info("derived measure {}->{}", expression, expr); log.debug("derived measure {}->{}", expression, expr);
return expr; return expr;
} }
} }

View File

@@ -88,7 +88,7 @@ public class DimValueAspect {
QuerySqlReq querySqlReq = (QuerySqlReq) args[0]; QuerySqlReq querySqlReq = (QuerySqlReq) args[0];
MetaFilter metaFilter = new MetaFilter(Lists.newArrayList(querySqlReq.getModelIds())); MetaFilter metaFilter = new MetaFilter(Lists.newArrayList(querySqlReq.getModelIds()));
String sql = querySqlReq.getSql(); String sql = querySqlReq.getSql();
log.info("correctorSql before replacing:{}", sql); log.debug("correctorSql before replacing:{}", sql);
List<FieldExpression> fieldExpressionList = SqlSelectHelper.getWhereExpressions(sql); List<FieldExpression> fieldExpressionList = SqlSelectHelper.getWhereExpressions(sql);
List<DimensionResp> dimensions = dimensionService.getDimensions(metaFilter); List<DimensionResp> dimensions = dimensionService.getDimensions(metaFilter);
Set<String> fieldNames = dimensions.stream().map(SchemaItem::getName).collect(Collectors.toSet()); Set<String> fieldNames = dimensions.stream().map(SchemaItem::getName).collect(Collectors.toSet());
@@ -117,7 +117,7 @@ public class DimValueAspect {
} }
} }
sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap); sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap);
log.info("correctorSql after replacing:{}", sql); log.debug("correctorSql after replacing:{}", sql);
querySqlReq.setSql(sql); querySqlReq.setSql(sql);
Map<String, Map<String, String>> techNameToBizName = getTechNameToBizName(dimensions); Map<String, Map<String, String>> techNameToBizName = getTechNameToBizName(dimensions);

View File

@@ -76,7 +76,7 @@ public class QueryReqConverter {
// correct order item is same as agg alias // correct order item is same as agg alias
String reqSql = querySQLReq.getSql(); String reqSql = querySQLReq.getSql();
querySQLReq.setSql(SqlReplaceHelper.replaceAggAliasOrderItem(querySQLReq.getSql())); querySQLReq.setSql(SqlReplaceHelper.replaceAggAliasOrderItem(querySQLReq.getSql()));
log.info("replaceOrderAggSameAlias {} -> {}", reqSql, querySQLReq.getSql()); log.debug("replaceOrderAggSameAlias {} -> {}", reqSql, querySQLReq.getSql());
//4.build MetricTables //4.build MetricTables
List<String> allFields = SqlSelectHelper.getAllFields(querySQLReq.getSql()); List<String> allFields = SqlSelectHelper.getAllFields(querySQLReq.getSql());
List<MetricSchemaResp> metricSchemas = getMetrics(semanticSchemaResp, allFields); List<MetricSchemaResp> metricSchemas = getMetrics(semanticSchemaResp, allFields);
@@ -122,7 +122,7 @@ public class QueryReqConverter {
queryStructReq.setDateInfo(queryStructUtils.getDateConfBySql(querySQLReq.getSql())); queryStructReq.setDateInfo(queryStructUtils.getDateConfBySql(querySQLReq.getSql()));
queryStructReq.setDataSetId(querySQLReq.getDataSetId()); queryStructReq.setDataSetId(querySQLReq.getDataSetId());
queryStructReq.setQueryType(getQueryType(aggOption)); queryStructReq.setQueryType(getQueryType(aggOption));
log.info("QueryReqConverter queryStructReq[{}]", queryStructReq); log.debug("QueryReqConverter queryStructReq[{}]", queryStructReq);
QueryParam queryParam = new QueryParam(); QueryParam queryParam = new QueryParam();
convert(queryStructReq, queryParam); convert(queryStructReq, queryParam);
QueryStatement queryStatement = new QueryStatement(); QueryStatement queryStatement = new QueryStatement();
@@ -161,7 +161,7 @@ public class QueryReqConverter {
long defaultAggNullCnt = metricSchemas.stream() long defaultAggNullCnt = metricSchemas.stream()
.filter(m -> Objects.isNull(m.getDefaultAgg()) || StringUtils.isBlank(m.getDefaultAgg())).count(); .filter(m -> Objects.isNull(m.getDefaultAgg()) || StringUtils.isBlank(m.getDefaultAgg())).count();
if (defaultAggNullCnt > 0) { if (defaultAggNullCnt > 0) {
log.info("getAggOption find null defaultAgg metric set to NATIVE"); log.debug("getAggOption find null defaultAgg metric set to NATIVE");
return AggOption.OUTER; return AggOption.OUTER;
} }
return AggOption.DEFAULT; return AggOption.DEFAULT;
@@ -170,9 +170,9 @@ public class QueryReqConverter {
private void convertNameToBizName(QuerySqlReq querySqlReq, SemanticSchemaResp semanticSchemaResp) { private void convertNameToBizName(QuerySqlReq querySqlReq, SemanticSchemaResp semanticSchemaResp) {
Map<String, String> fieldNameToBizNameMap = getFieldNameToBizNameMap(semanticSchemaResp); Map<String, String> fieldNameToBizNameMap = getFieldNameToBizNameMap(semanticSchemaResp);
String sql = querySqlReq.getSql(); String sql = querySqlReq.getSql();
log.info("dataSetId:{},convert name to bizName before:{}", querySqlReq.getDataSetId(), sql); log.debug("dataSetId:{},convert name to bizName before:{}", querySqlReq.getDataSetId(), sql);
String replaceFields = SqlReplaceHelper.replaceFields(sql, fieldNameToBizNameMap, true); String replaceFields = SqlReplaceHelper.replaceFields(sql, fieldNameToBizNameMap, true);
log.info("dataSetId:{},convert name to bizName after:{}", querySqlReq.getDataSetId(), replaceFields); log.debug("dataSetId:{},convert name to bizName after:{}", querySqlReq.getDataSetId(), replaceFields);
querySqlReq.setSql(replaceFields); querySqlReq.setSql(replaceFields);
} }
@@ -240,7 +240,7 @@ public class QueryReqConverter {
String sql = querySqlReq.getSql(); String sql = querySqlReq.getSql();
sql = SqlReplaceHelper.replaceTable(sql, sql = SqlReplaceHelper.replaceTable(sql,
Constants.TABLE_PREFIX + querySqlReq.getDataSetId()); Constants.TABLE_PREFIX + querySqlReq.getDataSetId());
log.info("correctTableName after:{}", sql); log.debug("correctTableName after:{}", sql);
querySqlReq.setSql(sql); querySqlReq.setSql(sql);
} }
@@ -286,7 +286,7 @@ public class QueryReqConverter {
m.getMetricDefineByMeasureParams()))) { m.getMetricDefineByMeasureParams()))) {
return; return;
} }
log.info("begin to generateDerivedMetric {} [{}]", aggOption, metrics); log.debug("begin to generateDerivedMetric {} [{}]", aggOption, metrics);
Set<String> allFields = new HashSet<>(); Set<String> allFields = new HashSet<>();
Map<String, Measure> allMeasures = new HashMap<>(); Map<String, Measure> allMeasures = new HashMap<>();
semanticSchemaResp.getModelResps().forEach(modelResp -> { semanticSchemaResp.getModelResps().forEach(modelResp -> {
@@ -310,7 +310,7 @@ public class QueryReqConverter {
visitedMetric, visitedMetric,
deriveMetric, deriveDimension); deriveMetric, deriveDimension);
replaces.put(metricResp.getBizName(), expr); replaces.put(metricResp.getBizName(), expr);
log.info("derived metric {}->{}", metricResp.getBizName(), expr); log.debug("derived metric {}->{}", metricResp.getBizName(), expr);
} else { } else {
measures.add(metricResp.getBizName()); measures.add(metricResp.getBizName());
} }