Przeglądaj źródła

调用大模型的所有接口 默认工具都是传否false 除了普通的问答以外

wangmiaomiao 9 miesięcy temu
rodzic
commit
ae77792569

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

@@ -343,6 +343,7 @@ public class GRPCController extends BaseController {
         StringBuilder sb = new StringBuilder();
         String sessionId = chatReq.getSessionId();
         int isStrong = Objects.isNull(chatReq.getIsStrong()) ? 0 : chatReq.getIsStrong();
+        boolean tools = true;//问答因为不确认是否走工具,所以传true; 但是工单一定是不用工具的,传false
         //如果是工单,需要特殊处理一下showVal和question
         if(1 == module){
             if(StringUtils.isBlank(timeBegin) && StringUtils.isBlank(timeEnd)){//按天生成工单
@@ -395,6 +396,7 @@ public class GRPCController extends BaseController {
                 chatReq.setRemark(JSON.toJSONString(frontService.customWorkOrderHandleByData(workOrderReq, workOrderRes), JSONWriter.Feature.WriteNulls));
             }
             isStrong = 1;
+            tools = false;
         }
         String ipAddr = IpUtils.getIpAddr();//获取用户的ip地址 传给大模型
         int counts = 1;//默认是第一次
@@ -423,7 +425,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());
+            String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools);
             log.info("请求大模型的问答参数为{}", dataJson);
             PredictionsRequest request = PredictionsRequest.newBuilder()
                     .setModelName("slibra_bot")
@@ -479,7 +481,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) {
+    private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, boolean tools) {
         ChatRequest chatRequest = new ChatRequest();
         chatRequest.setSessionId(sessionId);
         chatRequest.setHistoryDia(historyDates);
@@ -492,6 +494,7 @@ public class GRPCController extends BaseController {
         extra.put("ip_address", ipAddr);
         chatRequest.setExtra(extra);
         chatRequest.setStrengthen(isStrong == 1);
+        chatRequest.setTools(String.valueOf(tools));
         return JSON.toJSONString(chatRequest);
     }
 

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

@@ -1068,7 +1068,7 @@ public class AsyncTask {
         extra.put("ip_address", ipAddr);
         chatRequest.setExtra(extra);
         chatRequest.setStrengthen(strengthen);
-        //2024年7月3日16:21:28 明确该常见不用调工具
+        //2024年7月3日16:21:28 明确该场景不用调工具
         chatRequest.setTools(String.valueOf(false));
         return JSON.toJSONString(chatRequest);
     }

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

@@ -44,8 +44,9 @@ public class ChatRequest {
     private Boolean strengthen;
 
     //2024年7月3日16:18:48 新增参数
+    //2024年7月8日13:37:58 逻辑调整:截止到目前,只有专家问答才传true(可能走工具调用),其他都是false(都不走工具)。
     @JSONField(name = "tools")
-    private String tools = "true";
+    private String tools = "false";
 
 
 }