mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +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:
@@ -45,8 +45,8 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
|
||||
private final ShowCaseCustomMapper showCaseCustomMapper;
|
||||
|
||||
public ChatQueryRepositoryImpl(ChatQueryDOMapper chatQueryDOMapper,
|
||||
ChatParseMapper chatParseMapper,
|
||||
ShowCaseCustomMapper showCaseCustomMapper) {
|
||||
ChatParseMapper chatParseMapper,
|
||||
ShowCaseCustomMapper showCaseCustomMapper) {
|
||||
this.chatQueryDOMapper = chatQueryDOMapper;
|
||||
this.chatParseMapper = chatParseMapper;
|
||||
this.showCaseCustomMapper = showCaseCustomMapper;
|
||||
@@ -136,12 +136,13 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
|
||||
|
||||
@Override
|
||||
public List<ChatParseDO> batchSaveParseInfo(ChatContext chatCtx, QueryReq queryReq,
|
||||
ParseResp parseResult,
|
||||
List<SemanticParseInfo> candidateParses) {
|
||||
ParseResp parseResult, List<SemanticParseInfo> candidateParses) {
|
||||
Long queryId = createChatQuery(parseResult, chatCtx, queryReq);
|
||||
List<ChatParseDO> chatParseDOList = new ArrayList<>();
|
||||
getChatParseDO(chatCtx, queryReq, queryId, candidateParses, chatParseDOList);
|
||||
chatParseMapper.batchSaveParseInfo(chatParseDOList);
|
||||
if (!CollectionUtils.isEmpty(candidateParses)) {
|
||||
chatParseMapper.batchSaveParseInfo(chatParseDOList);
|
||||
}
|
||||
return chatParseDOList;
|
||||
}
|
||||
|
||||
@@ -153,7 +154,7 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
|
||||
}
|
||||
|
||||
public void getChatParseDO(ChatContext chatCtx, QueryReq queryReq, Long queryId,
|
||||
List<SemanticParseInfo> parses, List<ChatParseDO> chatParseDOList) {
|
||||
List<SemanticParseInfo> parses, List<ChatParseDO> chatParseDOList) {
|
||||
for (int i = 0; i < parses.size(); i++) {
|
||||
ChatParseDO chatParseDO = new ChatParseDO();
|
||||
chatParseDO.setChatId(Long.valueOf(chatCtx.getChatId()));
|
||||
|
||||
@@ -24,16 +24,16 @@ public class RespBuildProcessor implements ParseResultProcessor {
|
||||
parseResp.setChatId(queryReq.getChatId());
|
||||
parseResp.setQueryText(queryReq.getQueryText());
|
||||
List<SemanticQuery> candidateQueries = queryContext.getCandidateQueries();
|
||||
ChatService chatService = ContextUtils.getBean(ChatService.class);
|
||||
if (candidateQueries.size() > 0) {
|
||||
List<SemanticParseInfo> candidateParses = candidateQueries.stream()
|
||||
.map(SemanticQuery::getParseInfo).collect(Collectors.toList());
|
||||
parseResp.setSelectedParses(candidateParses);
|
||||
parseResp.setState(ParseResp.ParseState.COMPLETED);
|
||||
ChatService chatService = ContextUtils.getBean(ChatService.class);
|
||||
chatService.batchAddParse(chatContext, queryReq, parseResp);
|
||||
} else {
|
||||
parseResp.setState(ParseResp.ParseState.FAILED);
|
||||
}
|
||||
chatService.batchAddParse(chatContext, queryReq, parseResp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -60,8 +60,8 @@ public class SqlInfoProcessor implements ParseResultProcessor {
|
||||
}
|
||||
SqlInfo sqlInfo = parseInfo.getSqlInfo();
|
||||
if (semanticQuery instanceof LLMSqlQuery) {
|
||||
keyPipelineLog.info("s2sql:{}\ncorrectS2SQL:{}\nquerySQL:{}", sqlInfo.getS2SQL(), sqlInfo.getCorrectS2SQL(),
|
||||
explainSql);
|
||||
keyPipelineLog.info("\ns2sql:{}\ncorrectS2SQL:{}\nquerySQL:{}", sqlInfo.getS2SQL(),
|
||||
sqlInfo.getCorrectS2SQL(), explainSql);
|
||||
}
|
||||
sqlInfo.setQuerySQL(explainSql);
|
||||
}
|
||||
|
||||
@@ -217,7 +217,15 @@ public class QueryServiceImpl implements QueryService {
|
||||
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,
|
||||
String queryText, Long queryId,
|
||||
String userName, Long chatId) {
|
||||
|
||||
@@ -49,7 +49,7 @@ s2:
|
||||
chat-model:
|
||||
provider: open_ai
|
||||
openai:
|
||||
api-key: sk
|
||||
api-key: api_key
|
||||
model-name: gpt-3.5-turbo-16k
|
||||
temperature: 0.0
|
||||
timeout: PT60S
|
||||
|
||||
Reference in New Issue
Block a user