From 811ef217b4f4b2bfb6866a59e09d6228f547e566 Mon Sep 17 00:00:00 2001 From: liu Date: Mon, 22 Apr 2024 16:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/gpt/AnswerQuestionHandler.java | 16 +++++++++++++++- .../supervision/service/impl/AskServiceImpl.java | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/kbqa-graph/src/main/java/com/supervision/handler/gpt/AnswerQuestionHandler.java b/kbqa-graph/src/main/java/com/supervision/handler/gpt/AnswerQuestionHandler.java index 595f873..ae3f4f7 100644 --- a/kbqa-graph/src/main/java/com/supervision/handler/gpt/AnswerQuestionHandler.java +++ b/kbqa-graph/src/main/java/com/supervision/handler/gpt/AnswerQuestionHandler.java @@ -44,9 +44,10 @@ public class AnswerQuestionHandler { /** * 回答单轮对话问题 + * * @return 单轮对话问题的答案 */ - public String answerSingleQuestion(String question, Map> detailMap){ + public String answerSingleQuestion(String question, Map> detailMap) { List 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> detailMap) { + String template = "作为AI助手,你的任务是帮助用户查找和理解特定政务的政策内容并给于用户答案。在这个场景中,你将使用政策内容来回答用户问题:{}。请根据政策内容\n" + + "\"\"\"{}\"\"\"\n" + + "并用不超过 100 个词的长度准确和详细的回答用户的问题。"; + List 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; + } } diff --git a/kbqa-graph/src/main/java/com/supervision/service/impl/AskServiceImpl.java b/kbqa-graph/src/main/java/com/supervision/service/impl/AskServiceImpl.java index 442753c..40f4674 100644 --- a/kbqa-graph/src/main/java/com/supervision/service/impl/AskServiceImpl.java +++ b/kbqa-graph/src/main/java/com/supervision/service/impl/AskServiceImpl.java @@ -345,7 +345,7 @@ public class AskServiceImpl implements AskService { return SingleTalkResVO.builder().answerText("暂时还不会回答这个问题哦!").build(); } // 提交GPT,问问题的答案 - String answer = answerQuestionHandler.answerSingleQuestion(singleTalkReqVO.getUserTalk(), detailMap); + String answer = answerQuestionHandler.answerSingleQuestionNew(singleTalkReqVO.getUserTalk(), detailMap); if (StrUtil.isBlank(answer)) { return SingleTalkResVO.builder().answerText("暂时还不会回答这个问题哦!").build(); }