mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
[improvement][chat]Modify core workflow of NL2SQLParser, always invoking rule-based parsers first.#1729
This commit is contained in:
@@ -22,7 +22,7 @@ public class QueryNLReq extends SemanticQueryReq {
|
||||
private User user;
|
||||
private QueryFilters queryFilters;
|
||||
private boolean saveAnswer = true;
|
||||
private Text2SQLType text2SQLType = Text2SQLType.RULE_AND_LLM;
|
||||
private Text2SQLType text2SQLType = Text2SQLType.LLM_OR_RULE;
|
||||
private MapModeEnum mapModeEnum = MapModeEnum.STRICT;
|
||||
private QueryDataType queryDataType = QueryDataType.ALL;
|
||||
private Map<String, ChatApp> chatAppConfig;
|
||||
|
||||
@@ -60,15 +60,12 @@ public class QueryReqBuilder {
|
||||
queryStructReq.setGroups(parseInfo.getDimensions().stream().map(SchemaElement::getBizName)
|
||||
.collect(Collectors.toList()));
|
||||
queryStructReq.setLimit(parseInfo.getLimit());
|
||||
// only one metric is queried at once
|
||||
Set<SchemaElement> metrics = parseInfo.getMetrics();
|
||||
if (!CollectionUtils.isEmpty(metrics)) {
|
||||
SchemaElement metricElement = parseInfo.getMetrics().iterator().next();
|
||||
Set<Order> order =
|
||||
getOrder(parseInfo.getOrders(), parseInfo.getAggType(), metricElement);
|
||||
queryStructReq
|
||||
.setAggregators(getAggregatorByMetric(parseInfo.getAggType(), metricElement));
|
||||
queryStructReq.setOrders(new ArrayList<>(order));
|
||||
|
||||
for (SchemaElement metricElement : parseInfo.getMetrics()) {
|
||||
queryStructReq.getAggregators()
|
||||
.addAll(getAggregatorByMetric(parseInfo.getAggType(), metricElement));
|
||||
queryStructReq.setOrders(new ArrayList<>(
|
||||
getOrder(parseInfo.getOrders(), parseInfo.getAggType(), metricElement)));
|
||||
}
|
||||
|
||||
deletionDuplicated(queryStructReq);
|
||||
|
||||
Reference in New Issue
Block a user