|
|
|
@ -44,9 +44,10 @@ public class AnswerQuestionHandler {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 回答单轮对话问题
|
|
|
|
|
*
|
|
|
|
|
* @return 单轮对话问题的答案
|
|
|
|
|
*/
|
|
|
|
|
public String answerSingleQuestion(String question, Map<String,List<String>> detailMap){
|
|
|
|
|
public String answerSingleQuestion(String question, Map<String, List<String>> detailMap) {
|
|
|
|
|
List<MessageDTO> messageList = new ArrayList<>();
|
|
|
|
|
messageList.add(new MessageDTO("system", "现在你是一个政务事项领域的问答大模型.\n" +
|
|
|
|
|
"现在有一个问题,根据这个问题我查到了一些政策内容\n" +
|
|
|
|
@ -62,4 +63,17 @@ public class AnswerQuestionHandler {
|
|
|
|
|
log.info("answerQuestion的答案是:{}", answer);
|
|
|
|
|
return answer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String answerSingleQuestionNew(String question, Map<String, List<String>> detailMap) {
|
|
|
|
|
String template = "作为AI助手,你的任务是帮助用户查找和理解特定政务的政策内容并给于用户答案。在这个场景中,你将使用政策内容来回答用户问题:{}。请根据政策内容\n" +
|
|
|
|
|
"\"\"\"{}\"\"\"\n" +
|
|
|
|
|
"并用不超过 100 个词的长度准确和详细的回答用户的问题。";
|
|
|
|
|
List<MessageDTO> messageList = new ArrayList<>();
|
|
|
|
|
messageList.add(new MessageDTO("user", StrUtil.format(template, question, JSONUtil.toJsonStr(detailMap))));
|
|
|
|
|
|
|
|
|
|
log.info("answerQuestion的prompt是:{}", JSONUtil.toJsonStr(messageList));
|
|
|
|
|
String answer = AiUtil.chatByMessage(messageList);
|
|
|
|
|
log.info("answerQuestion的答案是:{}", answer);
|
|
|
|
|
return answer;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|