package com.zy.ai.utils;
|
|
import com.alibaba.fastjson.JSON;
|
import com.zy.ai.entity.WcsDiagnosisRequest;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
public class AiUtils {
|
|
public WcsDiagnosisRequest makeAiRequest(int logLimit, String alarmMessage) {
|
WcsDiagnosisRequest request = new WcsDiagnosisRequest();
|
request.setAlarmMessage(alarmMessage);
|
request.setLogLimit(logLimit);
|
return request;
|
}
|
|
public String buildDiagnosisUserContentMcp(WcsDiagnosisRequest request) {
|
StringBuilder sb = new StringBuilder();
|
|
if (request == null) {
|
return "";
|
}
|
|
if (request.getAlarmMessage() != null && !request.getAlarmMessage().isEmpty()) {
|
sb.append("【问题描述】\n");
|
sb.append(request.getAlarmMessage()).append("\n\n");
|
}
|
|
if (request.getCraneNo() != null) {
|
sb.append("【诊断范围】\n");
|
sb.append("当前重点关注堆垛机:").append(request.getCraneNo()).append("\n\n");
|
}
|
|
if (request.getLogLimit() != null && request.getLogLimit() > 0) {
|
sb.append("【查询建议】\n");
|
sb.append("如需日志,请优先查询最近 ").append(request.getLogLimit()).append(" 行。\n\n");
|
}
|
|
if (request.getExtraContext() != null && !request.getExtraContext().isEmpty()) {
|
sb.append("【额外上下文 extraContext】\n");
|
sb.append(JSON.toJSONString(request.getExtraContext(), true)).append("\n\n");
|
}
|
|
sb.append("请先通过 MCP 工具获取任务、设备、日志和配置等实时数据,再基于事实分析。\n");
|
return sb.toString();
|
}
|
}
|