(improvement)(chat) support show logicSql querySql llmParseSql (#148)

This commit is contained in:
lexluo09
2023-09-26 20:17:02 +08:00
committed by GitHub
parent e4af83380b
commit 4ad3e1d9cf
4 changed files with 24 additions and 13 deletions

View File

@@ -1,20 +1,20 @@
package com.tencent.supersonic.chat.api.pojo; package com.tencent.supersonic.chat.api.pojo;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.LinkedHashSet;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.Comparator;
import com.tencent.supersonic.chat.api.pojo.request.QueryFilter; import com.tencent.supersonic.chat.api.pojo.request.QueryFilter;
import com.tencent.supersonic.chat.api.pojo.response.EntityInfo; import com.tencent.supersonic.chat.api.pojo.response.EntityInfo;
import com.tencent.supersonic.chat.api.pojo.response.SqlInfo;
import com.tencent.supersonic.common.pojo.DateConf; import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.pojo.Order; import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum; import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import lombok.Data; import lombok.Data;
@Data @Data
@@ -37,8 +37,7 @@ public class SemanticParseInfo {
private List<SchemaElementMatch> elementMatches = new ArrayList<>(); private List<SchemaElementMatch> elementMatches = new ArrayList<>();
private Map<String, Object> properties = new HashMap<>(); private Map<String, Object> properties = new HashMap<>();
private EntityInfo entityInfo; private EntityInfo entityInfo;
private String logicSql; private SqlInfo sqlInfo = new SqlInfo();
private String querySql;
public Long getModelId() { public Long getModelId() {
return model != null ? model.getId() : 0L; return model != null ? model.getId() : 0L;

View File

@@ -0,0 +1,11 @@
package com.tencent.supersonic.chat.api.pojo.response;
import lombok.Data;
@Data
public class SqlInfo {
private String llmParseSql;
private String logicSql;
private String querySql;
}

View File

@@ -132,7 +132,7 @@ public class LLMDslParser implements SemanticParser {
if (StringUtils.isEmpty(correctorSql)) { if (StringUtils.isEmpty(correctorSql)) {
correctorSql = semanticCorrectInfo.getSql(); correctorSql = semanticCorrectInfo.getSql();
} }
parseInfo.setLogicSql(correctorSql); parseInfo.getSqlInfo().setLogicSql(correctorSql);
List<FilterExpression> expressions = SqlParserSelectHelper.getFilterExpression(correctorSql); List<FilterExpression> expressions = SqlParserSelectHelper.getFilterExpression(correctorSql);
//set dataInfo //set dataInfo
try { try {
@@ -281,6 +281,7 @@ public class LLMDslParser implements SemanticParser {
parseInfo.setProperties(properties); parseInfo.setProperties(properties);
parseInfo.setScore(function_bonus_threshold); parseInfo.setScore(function_bonus_threshold);
parseInfo.setQueryMode(semanticQuery.getQueryMode()); parseInfo.setQueryMode(semanticQuery.getQueryMode());
parseInfo.getSqlInfo().setLlmParseSql(dslParseResult.getLlmResp().getSqlOutput());
SemanticSchema semanticSchema = ContextUtils.getBean(SchemaService.class).getSemanticSchema(); SemanticSchema semanticSchema = ContextUtils.getBean(SchemaService.class).getSemanticSchema();
Map<Long, String> modelIdToName = semanticSchema.getModelIdToName(); Map<Long, String> modelIdToName = semanticSchema.getModelIdToName();

View File

@@ -165,7 +165,7 @@ public class QueryServiceImpl implements QueryService {
if (Objects.isNull(explain)) { if (Objects.isNull(explain)) {
return; return;
} }
parseInfo.setQuerySql(explain.getSql()); parseInfo.getSqlInfo().setQuerySql(explain.getSql());
} }
@Override @Override