mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-20 06:34:55 +00:00
[improvement](chat) Resolve the issue of an empty result in schemaLinkParse. (#500)
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user