KBQA代码提交
parent
df31d7fb2e
commit
e2bcf288e5
@ -0,0 +1,32 @@
|
||||
package com.supervision.handler.gpt;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.supervision.ai.AiUtil;
|
||||
import com.supervision.ai.dto.MessageDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class AnswerQuestionHandler {
|
||||
|
||||
public String answerQuestion(String question, List<String> detailList) {
|
||||
List<MessageDTO> messageList = new ArrayList<>();
|
||||
messageList.add(new MessageDTO("system", "你是一个政务事项领域的大模型,我现在给一些政务文件的内容,再给你一个问题,请根据文件内容,将这个问题进行解答.除了解答的内容,什么其他的都不要说."));
|
||||
messageList.add(new MessageDTO("assistant", "好的"));
|
||||
messageList.add(new MessageDTO("user", StrUtil.format("政务文件内容:[{}]", CollUtil.join(detailList, ";"))));
|
||||
messageList.add(new MessageDTO("assistant", "继续"));
|
||||
messageList.add(new MessageDTO("user", StrUtil.format("问题:{}", question)));
|
||||
messageList.add(new MessageDTO("assistant", "继续"));
|
||||
messageList.add(new MessageDTO("user", StrUtil.format("现在你可以回答了")));
|
||||
log.info("answerQuestion的prompt是:{}", JSONUtil.toJsonStr(messageList));
|
||||
String answer = AiUtil.chatByMessage(messageList);
|
||||
log.info("answerQuestion的答案是:{}", answer);
|
||||
return answer;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.supervision.handler.graph;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.supervision.exception.BusinessException;
|
||||
import com.supervision.ngbatis.dao.CommonQueryDao;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class FindItemDetailHandler {
|
||||
|
||||
@Resource
|
||||
private CommonQueryDao commonQueryDao;
|
||||
|
||||
public List<String> findItemDetail(String itemVid, String itemType, String edgeType) {
|
||||
List<String> itemDetail = commonQueryDao.findItemDetail(itemVid, edgeType, itemType);
|
||||
if (CollUtil.isEmpty(itemDetail)){
|
||||
throw new BusinessException("未找到事项信息");
|
||||
}
|
||||
return itemDetail;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue