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 detailList) { List 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; } }