Merge remote-tracking branch 'origin/main'

main
xueqingkun 11 months ago
commit a5c70885b9

@ -54,7 +54,7 @@ public class SessionController {
irSessionService.finishSession(finishSessionVO);
}
@ApiOperation("查询会话历史记录列表")
@ApiOperation("查询会话历史记录列表(结束时评分选择使用,非对话框内容)")
@GetMapping("querySessionHistory")
public List<IrSessionHistory> querySessionHistory(@NotBlank(message = "会话ID不能为空") String sessionId) {
return irSessionService.querySessionHistory(sessionId);

@ -12,7 +12,7 @@ import lombok.Data;
*
* @TableName ir_knowledge_similar
*/
@TableName(value ="ir_knowledge_similar")
@TableName(value ="ir_knowledge_similar",schema = "interro_robot")
@Data
public class IrKnowledgeSimilar implements Serializable {
/**

@ -8,4 +8,6 @@ import lombok.Data;
public class QuestionReqDTO {
private String question;
private Double scoreThreshold;
}

@ -19,9 +19,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.lang.reflect.Type;
import java.net.HttpURLConnection;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
@ -36,6 +37,9 @@ public class MatchToolServiceImpl implements MatchToolService {
@Value("${matchTool.url}")
private String matchToolUrl;
@Value("${matchTool.scoreThreshold}")
private String scoreThreshold;
@Override
public void refreshMatchToolLibrary() {
// 获取所有的问题
@ -60,13 +64,19 @@ public class MatchToolServiceImpl implements MatchToolService {
}
// 调用tool服务进行更新操作
submitRefresh(matchToolQuestionDTOList);
// 更新完成之后,将数据置为生效
irKnowledgeService.lambdaUpdate().set(IrKnowledge::getState, 1).in(IrKnowledge::getId, questionLibrary.keySet()).update();
Set<String> similarKnowledgeIdSet = similarList.stream().map(IrKnowledgeSimilar::getId).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(similarKnowledgeIdSet)) {
irKnowledgeSimilarService.lambdaUpdate().set(IrKnowledgeSimilar::getState, 1).in(IrKnowledgeSimilar::getId, similarKnowledgeIdSet).update();
}
}
@Override
public List<MatchQuestionAnswerDTO> execMatch(String question) {
log.info("开始调用talkQaSimilarity,问题:{}", question);
try {
String post = HttpUtil.post(matchToolUrl + "/matchQuestion", JSONUtil.toJsonStr(new QuestionReqDTO(question)));
String post = HttpUtil.post(matchToolUrl + "/matchQuestion", JSONUtil.toJsonStr(new QuestionReqDTO(question, Double.valueOf(scoreThreshold))));
log.info("相似度匹配答案:{}", post);
TypeReference<GlobalResult<List<MatchQuestionAnswerDTO>>> globalResultTypeReference = new TypeReference<GlobalResult<List<MatchQuestionAnswerDTO>>>() {
};
@ -74,8 +84,11 @@ public class MatchToolServiceImpl implements MatchToolService {
if (result.getCode() != 200) {
throw new BusinessException("匹配失败");
}
return result.getData();
List<MatchQuestionAnswerDTO> data = result.getData();
if (CollUtil.isEmpty(data)){
throw new BusinessException("未识别的问题");
}
return data;
} catch (Exception e) {
log.error("调用talkQaSimilarity error ", e);
return null;

@ -42,7 +42,8 @@ spring:
slow-sql-millis: 5000
merge-sql: false
matchTool:
url: http://192.168.10.137:8080
url: http://192.168.10.29:8000
scoreThreshold: 0.4
mybatis-plus:
mapper-locations: classpath*:mapper/**/*.xml
configuration:

Loading…
Cancel
Save