package com.supervision.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.supervision.pojo.rasa.train.dto.RasaReqDTO; import com.supervision.pojo.rasa.train.dto.RasaResDTO; import com.supervision.vo.rasa.RasaTalkVo; import lombok.extern.slf4j.Slf4j; import org.springframework.core.env.Environment; import java.util.List; import java.util.stream.Collectors; @Slf4j public class RasaUtil { private static final Environment environment = SpringBeanUtil.getBean(Environment.class); private static final String RASA_TALK_URL = environment.getProperty("rasa.base-url") + environment.getProperty("rasa.talk"); public static String talkRasa(String question, String sessionId, String patientId) { RasaTalkVo rasaTalkVo = new RasaTalkVo(); rasaTalkVo.setQuestion(question); rasaTalkVo.setSessionId(sessionId); rasaTalkVo.setModelId(patientId); String post = HttpUtil.post(RASA_TALK_URL, JSONUtil.toJsonStr(rasaTalkVo)); List list = JSONUtil.toList(post, String.class); log.info("调用rasa对话返回结果:{}",post); if (CollUtil.isEmpty(list)){ return "对不起,我没有听懂您说的是什么意思"; } return CollUtil.getFirst(list); } }