mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
(improvement)(chat) After a failed query, the absence of a returned queryId causes the recommendation question call to fail. (#562)
This commit is contained in:
@@ -136,12 +136,13 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ChatParseDO> batchSaveParseInfo(ChatContext chatCtx, QueryReq queryReq,
|
public List<ChatParseDO> batchSaveParseInfo(ChatContext chatCtx, QueryReq queryReq,
|
||||||
ParseResp parseResult,
|
ParseResp parseResult, List<SemanticParseInfo> candidateParses) {
|
||||||
List<SemanticParseInfo> candidateParses) {
|
|
||||||
Long queryId = createChatQuery(parseResult, chatCtx, queryReq);
|
Long queryId = createChatQuery(parseResult, chatCtx, queryReq);
|
||||||
List<ChatParseDO> chatParseDOList = new ArrayList<>();
|
List<ChatParseDO> chatParseDOList = new ArrayList<>();
|
||||||
getChatParseDO(chatCtx, queryReq, queryId, candidateParses, chatParseDOList);
|
getChatParseDO(chatCtx, queryReq, queryId, candidateParses, chatParseDOList);
|
||||||
|
if (!CollectionUtils.isEmpty(candidateParses)) {
|
||||||
chatParseMapper.batchSaveParseInfo(chatParseDOList);
|
chatParseMapper.batchSaveParseInfo(chatParseDOList);
|
||||||
|
}
|
||||||
return chatParseDOList;
|
return chatParseDOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,16 +24,16 @@ public class RespBuildProcessor implements ParseResultProcessor {
|
|||||||
parseResp.setChatId(queryReq.getChatId());
|
parseResp.setChatId(queryReq.getChatId());
|
||||||
parseResp.setQueryText(queryReq.getQueryText());
|
parseResp.setQueryText(queryReq.getQueryText());
|
||||||
List<SemanticQuery> candidateQueries = queryContext.getCandidateQueries();
|
List<SemanticQuery> candidateQueries = queryContext.getCandidateQueries();
|
||||||
|
ChatService chatService = ContextUtils.getBean(ChatService.class);
|
||||||
if (candidateQueries.size() > 0) {
|
if (candidateQueries.size() > 0) {
|
||||||
List<SemanticParseInfo> candidateParses = candidateQueries.stream()
|
List<SemanticParseInfo> candidateParses = candidateQueries.stream()
|
||||||
.map(SemanticQuery::getParseInfo).collect(Collectors.toList());
|
.map(SemanticQuery::getParseInfo).collect(Collectors.toList());
|
||||||
parseResp.setSelectedParses(candidateParses);
|
parseResp.setSelectedParses(candidateParses);
|
||||||
parseResp.setState(ParseResp.ParseState.COMPLETED);
|
parseResp.setState(ParseResp.ParseState.COMPLETED);
|
||||||
ChatService chatService = ContextUtils.getBean(ChatService.class);
|
|
||||||
chatService.batchAddParse(chatContext, queryReq, parseResp);
|
|
||||||
} else {
|
} else {
|
||||||
parseResp.setState(ParseResp.ParseState.FAILED);
|
parseResp.setState(ParseResp.ParseState.FAILED);
|
||||||
}
|
}
|
||||||
|
chatService.batchAddParse(chatContext, queryReq, parseResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ public class SqlInfoProcessor implements ParseResultProcessor {
|
|||||||
}
|
}
|
||||||
SqlInfo sqlInfo = parseInfo.getSqlInfo();
|
SqlInfo sqlInfo = parseInfo.getSqlInfo();
|
||||||
if (semanticQuery instanceof LLMSqlQuery) {
|
if (semanticQuery instanceof LLMSqlQuery) {
|
||||||
keyPipelineLog.info("s2sql:{}\ncorrectS2SQL:{}\nquerySQL:{}", sqlInfo.getS2SQL(), sqlInfo.getCorrectS2SQL(),
|
keyPipelineLog.info("\ns2sql:{}\ncorrectS2SQL:{}\nquerySQL:{}", sqlInfo.getS2SQL(),
|
||||||
explainSql);
|
sqlInfo.getCorrectS2SQL(), explainSql);
|
||||||
}
|
}
|
||||||
sqlInfo.setQuerySQL(explainSql);
|
sqlInfo.setQuerySQL(explainSql);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,7 +217,15 @@ public class QueryServiceImpl implements QueryService {
|
|||||||
return queryResult;
|
return queryResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
// save time cost data
|
/**
|
||||||
|
* save time cost data
|
||||||
|
*
|
||||||
|
* @param timeCostDOList
|
||||||
|
* @param queryText
|
||||||
|
* @param queryId
|
||||||
|
* @param userName
|
||||||
|
* @param chatId
|
||||||
|
*/
|
||||||
private void saveTimeCostInfo(List<StatisticsDO> timeCostDOList,
|
private void saveTimeCostInfo(List<StatisticsDO> timeCostDOList,
|
||||||
String queryText, Long queryId,
|
String queryText, Long queryId,
|
||||||
String userName, Long chatId) {
|
String userName, Long chatId) {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ s2:
|
|||||||
chat-model:
|
chat-model:
|
||||||
provider: open_ai
|
provider: open_ai
|
||||||
openai:
|
openai:
|
||||||
api-key: sk
|
api-key: api_key
|
||||||
model-name: gpt-3.5-turbo-16k
|
model-name: gpt-3.5-turbo-16k
|
||||||
temperature: 0.0
|
temperature: 0.0
|
||||||
timeout: PT60S
|
timeout: PT60S
|
||||||
|
|||||||
Reference in New Issue
Block a user