|
@@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.pytorch.serve.grpc.inference.InferenceAPIsServiceGrpc;
|
|
|
import org.pytorch.serve.grpc.inference.PredictionResponse;
|
|
|
import org.pytorch.serve.grpc.inference.PredictionsRequest;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -477,6 +476,7 @@ 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 {
|
|
@@ -544,6 +544,7 @@ public class GRPCController extends BaseController {
|
|
|
}*/
|
|
|
//2024年7月29日11:47:05 调整:图表以及大模型的数据都由大模型处理,这里拼接他需要的格式
|
|
|
chatReq.setQuestion(this.buildGDCustomQuestion(timeBegin, timeEnd, chatReq.getWhichWay()));
|
|
|
+ prompt = getGDPrompt(timeBegin, timeEnd, chatReq.getWhichWay());
|
|
|
//2024年6月20日16:48:08 如果是自定义工单,需要处理图表 放到remark中
|
|
|
// chatReq.setRemark(JSON.toJSONString(frontService.customWorkOrderHandleByData(workOrderReq, workOrderRes), JSONWriter.Feature.WriteNulls));
|
|
|
}
|
|
@@ -590,7 +591,7 @@ public class GRPCController extends BaseController {
|
|
|
// else
|
|
|
// tools = tools;
|
|
|
}
|
|
|
- String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools, useRag);
|
|
|
+ String dataJson = buildBigModelReqForChat(sessionId, historyDates, ipAddr, isStrong, chatReq.getTopP(), chatReq.getTemperature(), tools, useRag, prompt);
|
|
|
log.info("******请求大模型的问答参数为{}", dataJson);
|
|
|
PredictionsRequest request = PredictionsRequest.newBuilder()
|
|
|
.setModelName("slibra_bot")
|
|
@@ -647,7 +648,7 @@ public class GRPCController extends BaseController {
|
|
|
// return AjaxResult.success("ok");
|
|
|
}
|
|
|
|
|
|
- private String buildGDCustomQuestion(String timeBegin, String timeEnd, int whichWay) {
|
|
|
+ private String getGDPrompt(String timeBegin, String timeEnd, int whichWay) {
|
|
|
//存放的JSON
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
|
map.put(TIMEBEGIN, timeBegin);
|
|
@@ -669,6 +670,29 @@ public class GRPCController extends BaseController {
|
|
|
return JSON.toJSONString(map);
|
|
|
}
|
|
|
|
|
|
+ private String buildGDCustomQuestion(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);*/
|
|
|
+ return MODULE_CONTENT_CUSTOM;
|
|
|
+ }
|
|
|
+
|
|
|
private String buildGDNormalQuestion(String date) {
|
|
|
//存放的JSON
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
@@ -679,7 +703,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) {
|
|
|
+ private String buildBigModelReqForChat(String sessionId, List<String> historyDates, String ipAddr, int isStrong, Double topP, Double temperature, String tools, boolean useRag, String prompt) {
|
|
|
ChatRequest chatRequest = new ChatRequest();
|
|
|
chatRequest.setSessionId(sessionId);
|
|
|
chatRequest.setHistoryDia(historyDates);
|
|
@@ -694,6 +718,8 @@ public class GRPCController extends BaseController {
|
|
|
chatRequest.setStrengthen(isStrong == 1);
|
|
|
chatRequest.setTools(tools);
|
|
|
chatRequest.setUseRag(useRag);
|
|
|
+ if(StringUtils.isNotBlank(prompt))
|
|
|
+ chatRequest.setPrompt(prompt);
|
|
|
return JSON.toJSONString(chatRequest);
|
|
|
}
|
|
|
|