|
@@ -476,7 +476,6 @@ public class GRPCController extends BaseController {
|
|
|
Date reportDate = chatReq.getReportDate();//如果传过值来了 代表的是工单类型的问答
|
|
|
String timeBegin = chatReq.getTimeBegin();
|
|
|
String timeEnd = chatReq.getTimeEnd();
|
|
|
- String prompt = "";
|
|
|
if((Objects.isNull(reportDate) && StringUtils.isBlank(timeBegin) && StringUtils.isBlank(timeEnd)) && module == 1){//工单 必须要输入日期
|
|
|
//智能工单需要传入一个时间的参数
|
|
|
try {
|
|
@@ -493,6 +492,7 @@ public class GRPCController extends BaseController {
|
|
|
int isStrong = Objects.isNull(chatReq.getIsStrong()) ? 0 : chatReq.getIsStrong();
|
|
|
String tools = STR_TRUE;//问答因为不确认是否走工具,所以传true; 但是工单一定是走工具的,传工具名称
|
|
|
boolean useRag = true;//只有问答才传true,其他默认都false
|
|
|
+ String extraStr = "";
|
|
|
//如果是工单,需要特殊处理一下showVal和question
|
|
|
if(1 == module){
|
|
|
if(StringUtils.isBlank(timeBegin) && StringUtils.isBlank(timeEnd)){//按天生成工单
|
|
@@ -521,7 +521,10 @@ public class GRPCController extends BaseController {
|
|
|
//2024年6月25日19:11:49 prompt优化
|
|
|
chatReq.setQuestion(this.buildGDQuestionNew(date, dateBefore, tXinyiDailiesNow.get(0), tXinyiDailiesBefore.get(0)));*/
|
|
|
//2024年7月29日11:38:53 工单改版,由大模型处理数据
|
|
|
- chatReq.setQuestion(this.buildGDNormalQuestion(DateUtils.parseDateToStr(DateUtils.YYYYMMDD_TS, reportDate)));
|
|
|
+// chatReq.setQuestion(this.buildGDNormalQuestion(DateUtils.parseDateToStr(DateUtils.YYYYMMDD_TS, reportDate)));
|
|
|
+ chatReq.setQuestion(MODULE_CONTENT_NORMAL);
|
|
|
+ extraStr = this.buildGDNormalQuestion(DateUtils.parseDateToStr(DateUtils.YYYYMMDD_TS, reportDate));
|
|
|
+
|
|
|
}else{//自定义工单
|
|
|
chatReq.setShowVal(GONGDAN_TITLE_CUSTOM.replace("#{0}", timeBegin).replace("#{1}", timeEnd));//处理展示的标题
|
|
|
/*WorkOrderReq workOrderReq = new WorkOrderReq();
|
|
@@ -543,8 +546,9 @@ public class GRPCController extends BaseController {
|
|
|
return;
|
|
|
}*/
|
|
|
//2024年7月29日11:47:05 调整:图表以及大模型的数据都由大模型处理,这里拼接他需要的格式
|
|
|
- chatReq.setQuestion(this.buildGDCustomQuestion(timeBegin, timeEnd, chatReq.getWhichWay()));
|
|
|
- prompt = getGDPrompt(timeBegin, timeEnd, chatReq.getWhichWay());
|
|
|
+// chatReq.setQuestion(this.buildGDCustomQuestion(timeBegin, timeEnd, chatReq.getWhichWay()));
|
|
|
+ chatReq.setQuestion(MODULE_CONTENT_CUSTOM);
|
|
|
+ extraStr = buildGDCustomQuestion(timeBegin, timeEnd, chatReq.getWhichWay());
|
|
|
//2024年6月20日16:48:08 如果是自定义工单,需要处理图表 放到remark中
|
|
|
// chatReq.setRemark(JSON.toJSONString(frontService.customWorkOrderHandleByData(workOrderReq, workOrderRes), JSONWriter.Feature.WriteNulls));
|
|
|
}
|
|
@@ -591,7 +595,7 @@ public class GRPCController extends BaseController {
|
|
|
// else
|
|
|
// tools = tools;
|
|
|
}
|
|
|
- String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools, useRag, prompt);
|
|
|
+ String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools, useRag, extraStr);
|
|
|
log.info("******请求大模型的问答参数为{}", dataJson);
|
|
|
PredictionsRequest request = PredictionsRequest.newBuilder()
|
|
|
.setModelName("slibra_bot")
|
|
@@ -648,30 +652,9 @@ public class GRPCController extends BaseController {
|
|
|
// return AjaxResult.success("ok");
|
|
|
}
|
|
|
|
|
|
- private String getGDPrompt(String timeBegin, String timeEnd, int whichWay) {
|
|
|
- //存放的JSON
|
|
|
- HashMap<String, Object> map = new HashMap<>();
|
|
|
- map.put(TIMEBEGIN, timeBegin);
|
|
|
- map.put(TIMEEND, timeEnd);
|
|
|
- map.put(MODULE, MODULE_CONTENT_CUSTOM);
|
|
|
- map.put(TYPE, CUSTOM_WORK_ORDER);
|
|
|
- //拼装的SQL
|
|
|
- HashMap<String, Object> sqlMap = new HashMap<>();
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
- if(whichWay == 0){//日报
|
|
|
- sqlMap.put(REPORT, sb.append(TOOLS_WORK_ORDER_SQL_DAILY).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEBEGIN).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEEND).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_END).toString());
|
|
|
- sb = new StringBuilder();
|
|
|
- }else{//工业库
|
|
|
- sqlMap.put(ONLINE, sb.append(TOOLS_WORK_ORDER_SQL_INDUSTRY).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEBEGIN).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEEND).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_END).toString());
|
|
|
- sb = new StringBuilder();
|
|
|
- }
|
|
|
- sqlMap.put(ROBOT, sb.append(TOOLS_WORK_ORDER_SQL_ROBOT).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEBEGIN).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEEND).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_END).toString());
|
|
|
- map.put(DATA, sqlMap);
|
|
|
- return JSON.toJSONString(map);
|
|
|
- }
|
|
|
|
|
|
private String buildGDCustomQuestion(String timeBegin, String timeEnd, int whichWay) {
|
|
|
- /*//存放的JSON
|
|
|
+ //存放的JSON
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
|
map.put(TIMEBEGIN, timeBegin);
|
|
|
map.put(TIMEEND, timeEnd);
|
|
@@ -689,8 +672,7 @@ public class GRPCController extends BaseController {
|
|
|
}
|
|
|
sqlMap.put(ROBOT, sb.append(TOOLS_WORK_ORDER_SQL_ROBOT).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEBEGIN).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN_BEGIN).append(TIMEEND).append(TOOLS_WORK_ORDER_SQL_DIAN_END).append(TOOLS_WORK_ORDER_SQL_END).toString());
|
|
|
map.put(DATA, sqlMap);
|
|
|
- return JSON.toJSONString(map);*/
|
|
|
- return MODULE_CONTENT_CUSTOM;
|
|
|
+ return JSON.toJSONString(map);
|
|
|
}
|
|
|
|
|
|
private String buildGDNormalQuestion(String date) {
|
|
@@ -703,7 +685,7 @@ public class GRPCController extends BaseController {
|
|
|
return JSON.toJSONString(map);
|
|
|
}
|
|
|
|
|
|
- private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, String tools, boolean useRag, String prompt) {
|
|
|
+ private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, String tools, boolean useRag, String extraStr) {
|
|
|
ChatRequest chatRequest = new ChatRequest();
|
|
|
chatRequest.setSessionId(sessionId);
|
|
|
chatRequest.setHistoryDia(historyDates);
|
|
@@ -714,12 +696,12 @@ public class GRPCController extends BaseController {
|
|
|
chatRequest.setGenerateArgs(generateArgs);
|
|
|
Map<String, Object> extra = new HashMap<>();
|
|
|
extra.put("ip_address", ipAddr);
|
|
|
+ if(StringUtils.isNotBlank(extraStr))
|
|
|
+ extra.put(TOOLS_WORK_ORDER, extraStr);
|
|
|
chatRequest.setExtra(extra);
|
|
|
chatRequest.setStrengthen(isStrong == 1);
|
|
|
chatRequest.setTools(tools);
|
|
|
chatRequest.setUseRag(useRag);
|
|
|
- if(StringUtils.isNotBlank(prompt))
|
|
|
- chatRequest.setPrompt(prompt);
|
|
|
return JSON.toJSONString(chatRequest);
|
|
|
}
|
|
|
|