[improvement][chat]Introduce AllFieldMapper to increase parsing robustness when normal pipeline fails.

This commit is contained in:
jerryjzhang
2024-12-26 21:33:40 +08:00
parent 8e03531424
commit d834e98a66
20 changed files with 163 additions and 42 deletions

View File

@@ -76,7 +76,6 @@ public class ChatWorkflowEngine {
long start = System.currentTimeMillis();
performTranslating(queryCtx, parseResult);
parseResult.getParseTimeCost().setSqlTime(System.currentTimeMillis() - start);
parseResult.setState(ParseResp.ParseState.COMPLETED);
queryCtx.setChatWorkflowState(ChatWorkflowState.FINISHED);
break;
default:
@@ -137,7 +136,12 @@ public class ChatWorkflowEngine {
ContextUtils.getBean(SemanticLayerService.class);
SemanticTranslateResp explain =
queryService.translate(semanticQueryReq, queryCtx.getRequest().getUser());
parseInfo.getSqlInfo().setQuerySQL(explain.getQuerySQL());
if (explain.isOk()) {
parseInfo.getSqlInfo().setQuerySQL(explain.getQuerySQL());
parseResult.setState(ParseResp.ParseState.COMPLETED);
} else {
parseResult.setState(ParseResp.ParseState.FAILED);
}
if (StringUtils.isNotBlank(explain.getErrMsg())) {
errorMsg.add(explain.getErrMsg());
}