Ver código fonte

工单参数存放位置调整

wangmiaomiao 8 meses atrás
pai
commit
52b781806d

+ 14 - 32
slibra-admin/src/main/java/com/slibra/web/controller/business/GRPCController.java

@@ -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);
     }