1. 调整Qanything代码查询逻辑

main
xueqingkun 10 months ago
parent 93c68bcd64
commit 223e25540c

@ -34,7 +34,7 @@ public class KGController {
@PostMapping("/chat")
public ChatResVo chat(@RequestBody ChatReqVo chatReqVo) throws NoSuchAlgorithmException {
return kgService.chat(chatReqVo.getQuestion());
return kgService.chat(chatReqVo);
}
@ApiOperation("qanythingChat问答对话-调试用")

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.model.KgInfo;
import com.supervision.qanything.dto.ChatResult;
import com.supervision.vo.kg.ChatReqVo;
import com.supervision.vo.kg.ChatResVo;
import com.supervision.vo.kg.UploadDocResVo;
import org.springframework.web.multipart.MultipartFile;
@ -16,6 +17,8 @@ import java.security.NoSuchAlgorithmException;
public interface KGService {
ChatResVo chat(String question) throws NoSuchAlgorithmException;
ChatResVo chat(ChatReqVo chatReqVo) throws NoSuchAlgorithmException;
IPage<KgInfo> hotKG(Page<KgInfo> page);

@ -17,6 +17,7 @@ import com.supervision.qanything.dto.UploadResult;
import com.supervision.service.GeBytearrayService;
import com.supervision.service.KGService;
import com.supervision.service.KgInfoService;
import com.supervision.vo.kg.ChatReqVo;
import com.supervision.vo.kg.ChatResVo;
import com.supervision.vo.kg.SourceKgInfo;
import com.supervision.vo.kg.UploadDocResVo;
@ -75,6 +76,20 @@ public class KGServiceImpl implements KGService {
return chatResVo;
}
@Override
public ChatResVo chat(ChatReqVo chatReqVo) throws NoSuchAlgorithmException {
ChatResVo chat = this.chat(chatReqVo.getQuestion());
if (!chat.isSuccess()
||CollUtil.isEmpty(chat.getSourceKgInfoList())
|| StrUtil.isBlank(chatReqVo.getLabel())){
return chat;
}
List<SourceKgInfo> sourceKgInfoList = chat.getSourceKgInfoList().stream()
.filter(sourceKgInfo -> chatReqVo.getLabel().equals(sourceKgInfo.getLabel())).collect(Collectors.toList());
chat.setSourceKgInfoList(sourceKgInfoList);
return chat;
}
private List<SourceKgInfo> qaSource2SourceKgInfo(List<SourceDTO> sourceDTOList){
List<SourceKgInfo> sourceKgInfoList = CollUtil.newArrayList();
if (CollUtil.isEmpty(sourceDTOList)){

@ -6,4 +6,9 @@ import lombok.Data;
public class ChatReqVo {
private String question;
/**
* 1 2 3 4 5: 6:
*/
private String label;
}

@ -8,12 +8,19 @@ import java.util.List;
@Data
public class ChatResVo {
private boolean success = true;
private String response;
List<SourceKgInfo> sourceKgInfoList;
public boolean isSuccess() {
return success;
}
public static ChatResVo makeError() {
ChatResVo chatResVo = new ChatResVo();
chatResVo.success = false;
chatResVo.response = "未查询到相关信息";
chatResVo.sourceKgInfoList = new ArrayList<>();
return chatResVo;

Loading…
Cancel
Save