(improvement)(chat) aggregator supports from chinese to english in s2sql (#371)

This commit is contained in:
mainmain
2023-11-13 14:51:23 +08:00
committed by GitHub
parent 731238de08
commit cdb84716b7
9 changed files with 294 additions and 11 deletions

View File

@@ -8,6 +8,7 @@ import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.ElementValue;
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.jsqlparser.AggregateEnum;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserReplaceHelper;
import java.util.List;
import java.util.Map;
@@ -22,7 +23,9 @@ public class SchemaCorrector extends BaseSemanticCorrector {
@Override
public void doCorrect(QueryReq queryReq, SemanticParseInfo semanticParseInfo) {
String sql = SqlParserReplaceHelper.replaceFunction(semanticParseInfo.getSqlInfo().getCorrectS2SQL(),
AggregateEnum.getAggregateEnum());
semanticParseInfo.getSqlInfo().setCorrectS2SQL(sql);
replaceAlias(semanticParseInfo);
updateFieldNameByLinkingValue(semanticParseInfo);

View File

@@ -24,8 +24,8 @@ public class EntityInfoExecuteResponder implements ExecuteResponder {
return;
}
String queryMode = semanticParseInfo.getQueryMode();
if (QueryManager.containsPluginQuery(queryMode) || MetricInterpretQuery.QUERY_MODE.equalsIgnoreCase(
queryMode)) {
if (QueryManager.containsPluginQuery(queryMode)
|| MetricInterpretQuery.QUERY_MODE.equalsIgnoreCase(queryMode)) {
return;
}
SemanticService semanticService = ContextUtils.getBean(SemanticService.class);

View File

@@ -26,8 +26,8 @@ public class EntityInfoParseResponder implements ParseResponder {
QueryReq queryReq = queryContext.getRequest();
selectedParses.forEach(parseInfo -> {
String queryMode = parseInfo.getQueryMode();
if (QueryManager.containsPluginQuery(queryMode) || MetricInterpretQuery.QUERY_MODE.equalsIgnoreCase(
queryMode)) {
if (QueryManager.containsPluginQuery(queryMode)
|| MetricInterpretQuery.QUERY_MODE.equalsIgnoreCase(queryMode)) {
return;
}
//1. set entity info