package com.supervision.handler.gpt; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; 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.Collection; import java.util.List; /** * 条件判断handler */ @Slf4j @Component public class ConditionJudgeHandler { public String conditionJudge(String question, Collection candidateAnswerList, String userAnswer) { List messageList = new ArrayList<>(); messageList.add(new MessageDTO("system", "你是一个条件判断模型且精通政务事项,我现在给你一个问题,给你候选答案,请你根据用户的实际回答,从候选答案中给我选择一个对应的候选答案.除了候选答案,什么其他的都不要说.")); 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("候选答案:[{};未找到匹配答案]", StrUtil.join(";", candidateAnswerList)))); messageList.add(new MessageDTO("assistant", "继续")); messageList.add(new MessageDTO("user", StrUtil.format("用户答案:[{}],现在请给我匹配的候选答案,其他什么都不要说.如果有多个候选答案,用;号分割", userAnswer))); return AiUtil.chatByMessage(messageList); } }