ソースを参照

useRag参数调整 只有专家问答才传true,其他都是false

wangmiaomiao 8 ヶ月 前
コミット
015924003a

+ 5 - 2
slibra-admin/src/main/java/com/slibra/web/controller/business/GRPCController.java

@@ -344,6 +344,7 @@ public class GRPCController extends BaseController {
         String sessionId = chatReq.getSessionId();
         int isStrong = Objects.isNull(chatReq.getIsStrong()) ? 0 : chatReq.getIsStrong();
         boolean tools = true;//问答因为不确认是否走工具,所以传true; 但是工单一定是不用工具的,传false
+        boolean useRag = true;//只有问答才传true,其他默认都false
         //如果是工单,需要特殊处理一下showVal和question
         if(1 == module){
             if(StringUtils.isBlank(timeBegin) && StringUtils.isBlank(timeEnd)){//按天生成工单
@@ -397,6 +398,7 @@ public class GRPCController extends BaseController {
             }
             isStrong = 1;
             tools = false;
+            useRag = false;
         }
         String ipAddr = IpUtils.getIpAddr();//获取用户的ip地址 传给大模型
         int counts = 1;//默认是第一次
@@ -425,7 +427,7 @@ public class GRPCController extends BaseController {
             InferenceAPIsServiceGrpc.InferenceAPIsServiceBlockingStub stub = InferenceAPIsServiceGrpc.newBlockingStub(channel);
 //            String dataJson = "{\"bot_id\":\"721\",\"exp_id\":\"721\",\"session_id\":\"" + sessionId + "\",\"use_rag\":\"true\",\"prompt\":\"你是LibraAI水务大模型,由红杉天枰开发的水务垂直大语言模型,能够提供水务行业专家问答、智能决策、报表分析、智能工单管理等一系列功能,作为水务人的AI助手,你会竭尽全力帮助我处理工作问题。\",\"history_dia\":" + JSON.toJSONString(historyDates) + ",\"generate_args\":{\"max_new_tokens\":2048,\"max_length\":4096,\"num_beams\":1,\"do_sample\":true,\"top_p\":0.7,\"temperature\":0.95},\"extra\":{ \"ip_address\": \"" + ipAddr  + "\" },\"strengthen\":" + (isStrong == 1) + "}";
             //2024年6月25日18:12:23 优化,不再使用拼接JSON字符串
-            String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools);
+            String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools, useRag);
             log.info("请求大模型的问答参数为{}", dataJson);
             PredictionsRequest request = PredictionsRequest.newBuilder()
                     .setModelName("slibra_bot")
@@ -481,7 +483,7 @@ public class GRPCController extends BaseController {
 //        return AjaxResult.success("ok");
     }
 
-    private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, boolean tools) {
+    private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, boolean tools, boolean useRag) {
         ChatRequest chatRequest = new ChatRequest();
         chatRequest.setSessionId(sessionId);
         chatRequest.setHistoryDia(historyDates);
@@ -495,6 +497,7 @@ public class GRPCController extends BaseController {
         chatRequest.setExtra(extra);
         chatRequest.setStrengthen(isStrong == 1);
         chatRequest.setTools(String.valueOf(tools));
+        chatRequest.setUseRag(String.valueOf(useRag));
         return JSON.toJSONString(chatRequest);
     }
 

+ 14 - 0
slibra-admin/src/main/java/com/slibra/web/controller/business/HandleDataController.java

@@ -698,6 +698,20 @@ public class HandleDataController extends BaseController
     }
 
 
+    /**
+     * 手动处理 计算相关的数据,处理历史数据
+     * @return
+     */
+    @GetMapping("/handleCalculateHistoryDates")
+    public String handleCalculateHistoryDates() {
+        long begin = System.currentTimeMillis();
+
+
+        long end = System.currentTimeMillis();
+        return "ok;耗时:" + (end - begin) /1000 + "秒。";
+    }
+
+
 
     public static void main(String[] args) {
 //        File file = new File("C:\\Users\\10109\\Desktop\\新程序\\历史数据");

+ 1 - 0
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -442,6 +442,7 @@ public class AsyncTask {
     /**
      * 额外计算一下预测的准确度
      * @param tXinyiRobot
+     * todo xxxxx
      */
     public void updateForecastComparisonByRobot(TXinyiRobot tXinyiRobot) {
         BigDecimal no3Hlj1Jqr = tXinyiRobot.getNo3Hlj1Jqr();

+ 1 - 1
slibra-system/src/main/java/com/slibra/business/req/ChatRequest.java

@@ -26,7 +26,7 @@ public class ChatRequest {
     private String sessionId;
 
     @JSONField(name = "use_rag")
-    private String useRag = "true";
+    private String useRag = "false";//2024年7月12日15:25:44  只有问答才传true,其他默认都false
 
     @JSONField(name = "prompt")
     private String prompt = "你是LibraAI水务大模型,由红杉天枰开发的水务垂直大语言模型,能够提供水务行业专家问答、智能决策、报表分析、智能工单管理等一系列功能,作为水务人的AI助手,你会竭尽全力帮助我处理工作问题。";