|
|
@ -147,6 +147,7 @@ public class AskServiceImpl implements AskService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 判断待匹配的节点是不是只有一个了,如果有多个,就从路径中选择一个问题问前端
|
|
|
|
// 判断待匹配的节点是不是只有一个了,如果有多个,就从路径中选择一个问题问前端
|
|
|
|
if (sessionParamDTO.getWaitMatchItemLeafMap().size() != 1) {
|
|
|
|
if (sessionParamDTO.getWaitMatchItemLeafMap().size() != 1) {
|
|
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(sessionParamDTO.getCurrentEntity())) {
|
|
|
|
if (ObjectUtil.isNotEmpty(sessionParamDTO.getCurrentEntity())) {
|
|
|
|
// 如果当前对话实体不为空,说明当前问答就是上一个问题的回复,这个时候,就去GPT中进行匹配并排除路径
|
|
|
|
// 如果当前对话实体不为空,说明当前问答就是上一个问题的回复,这个时候,就去GPT中进行匹配并排除路径
|
|
|
|
filterPath(sessionParamDTO, roundTalkReqVO.getUserTalk());
|
|
|
|
filterPath(sessionParamDTO, roundTalkReqVO.getUserTalk());
|
|
|
@ -202,6 +203,9 @@ public class AskServiceImpl implements AskService {
|
|
|
|
if (StrUtil.isBlank(answer)) {
|
|
|
|
if (StrUtil.isBlank(answer)) {
|
|
|
|
return RoundTalkResVO.builder().sessionId(sessionParamDTO.getSessionId()).replyQuestion("暂时还不会回答这个问题哦").build();
|
|
|
|
return RoundTalkResVO.builder().sessionId(sessionParamDTO.getSessionId()).replyQuestion("暂时还不会回答这个问题哦").build();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 清空问话实体
|
|
|
|
|
|
|
|
sessionParamDTO.setCurrentEntity(null);
|
|
|
|
|
|
|
|
redisTemplate.opsForValue().set(SESSION_PARAM + sessionParamDTO.getSessionId(), sessionParamDTO);
|
|
|
|
return RoundTalkResVO.builder().sessionId(sessionParamDTO.getSessionId()).replyQuestion(answer).build();
|
|
|
|
return RoundTalkResVO.builder().sessionId(sessionParamDTO.getSessionId()).replyQuestion(answer).build();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|