From 340cb2c8356b82ac09772ecc23caacd5cf8e0355 Mon Sep 17 00:00:00 2001 From: lexluo09 <39718951+lexluo09@users.noreply.github.com> Date: Wed, 13 Dec 2023 11:18:15 +0800 Subject: [PATCH] [improvement](chat) Resolve the issue of an empty result in schemaLinkParse. (#500) --- .../tencent/supersonic/chat/parser/sql/llm/OutputFormat.java | 4 ++-- .../supersonic/chat/parser/sql/llm/TwoStepSqlGeneration.java | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/OutputFormat.java b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/OutputFormat.java index fda0031a1..5aefc16d0 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/OutputFormat.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/OutputFormat.java @@ -24,11 +24,11 @@ public class OutputFormat { if (matcher.find()) { schemaLinkOutput = matcher.group(1).trim(); } else { - schemaLinkOutput = null; + schemaLinkOutput = ""; } } catch (Exception e) { log.error("", e); - schemaLinkOutput = null; + schemaLinkOutput = ""; } return schemaLinkOutput; } diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/TwoStepSqlGeneration.java b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/TwoStepSqlGeneration.java index d2614e751..fa0b5fdef 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/TwoStepSqlGeneration.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/TwoStepSqlGeneration.java @@ -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.ElementValue; 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 dev.langchain4j.data.message.AiMessage; import dev.langchain4j.model.chat.ChatLanguageModel; @@ -33,6 +32,9 @@ public class TwoStepSqlGeneration implements SqlGeneration, InitializingBean { @Autowired private OptimizationConfig optimizationConfig; + @Autowired + private SqlPromptGenerator sqlPromptGenerator; + @Override public String generation(LLMReq llmReq, String modelClusterKey) { String text2sqlCollectionName = optimizationConfig.getText2sqlCollectionName(); @@ -46,7 +48,6 @@ public class TwoStepSqlGeneration implements SqlGeneration, InitializingBean { List fieldNameList = llmReq.getSchema().getFieldNameList(); List linking = llmReq.getLinking(); - SqlPromptGenerator sqlPromptGenerator = ContextUtils.getBean(SqlPromptGenerator.class); String linkingPromptStr = sqlPromptGenerator.generateSchemaLinkingPrompt(queryText, modelName, fieldNameList, linking, sqlExamples);