[improvement](chat) Resolve the issue of an empty result in schemaLinkParse. (#500)

This commit is contained in:
lexluo09
2023-12-13 11:18:15 +08:00
committed by GitHub
parent caefa501f2
commit 340cb2c835
2 changed files with 5 additions and 4 deletions

View File

@@ -24,11 +24,11 @@ public class OutputFormat {
if (matcher.find()) { if (matcher.find()) {
schemaLinkOutput = matcher.group(1).trim(); schemaLinkOutput = matcher.group(1).trim();
} else { } else {
schemaLinkOutput = null; schemaLinkOutput = "";
} }
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);
schemaLinkOutput = null; schemaLinkOutput = "";
} }
return schemaLinkOutput; return schemaLinkOutput;
} }

View File

@@ -5,7 +5,6 @@ import com.tencent.supersonic.chat.config.OptimizationConfig;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq; import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.ElementValue; import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.ElementValue;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.SqlGenerationMode; import com.tencent.supersonic.chat.query.llm.s2sql.LLMReq.SqlGenerationMode;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil; import com.tencent.supersonic.common.util.JsonUtil;
import dev.langchain4j.data.message.AiMessage; import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.model.chat.ChatLanguageModel; import dev.langchain4j.model.chat.ChatLanguageModel;
@@ -33,6 +32,9 @@ public class TwoStepSqlGeneration implements SqlGeneration, InitializingBean {
@Autowired @Autowired
private OptimizationConfig optimizationConfig; private OptimizationConfig optimizationConfig;
@Autowired
private SqlPromptGenerator sqlPromptGenerator;
@Override @Override
public String generation(LLMReq llmReq, String modelClusterKey) { public String generation(LLMReq llmReq, String modelClusterKey) {
String text2sqlCollectionName = optimizationConfig.getText2sqlCollectionName(); String text2sqlCollectionName = optimizationConfig.getText2sqlCollectionName();
@@ -46,7 +48,6 @@ public class TwoStepSqlGeneration implements SqlGeneration, InitializingBean {
List<String> fieldNameList = llmReq.getSchema().getFieldNameList(); List<String> fieldNameList = llmReq.getSchema().getFieldNameList();
List<ElementValue> linking = llmReq.getLinking(); List<ElementValue> linking = llmReq.getLinking();
SqlPromptGenerator sqlPromptGenerator = ContextUtils.getBean(SqlPromptGenerator.class);
String linkingPromptStr = sqlPromptGenerator.generateSchemaLinkingPrompt(queryText, modelName, fieldNameList, String linkingPromptStr = sqlPromptGenerator.generateSchemaLinkingPrompt(queryText, modelName, fieldNameList,
linking, sqlExamples); linking, sqlExamples);