rasa : 修改 RasaModelManager

dev_2.1.0
xueqingkun 1 year ago
parent ce3c84a0d6
commit 15145881b0

@ -0,0 +1,72 @@
package com.supervision.rasa.pojo.dto;
import cn.hutool.core.collection.CollUtil;
import lombok.Data;
import java.util.List;
/**
* rasa
*/
@Data
public class RasaRunParam {
/**
* bash
*/
private String bashPath;
/**
* rasa
*/
private String shellPath;
/**
* rasa
*/
private String rasaModelPath;
/**
* rasa
*/
private String endpointsPath;
/**
* rasa
*/
private String port;
/**
* listRasaRunParam
* @param args bashPath = args[0], shellPath = args[1], rasaModelPath = args[2], endpointsPath = args[3], port = args[4]
* @return
*/
public static RasaRunParam build(List<String> args) {
RasaRunParam rasaRunParam = new RasaRunParam();
if (CollUtil.isEmpty(args)){
return rasaRunParam;
}
rasaRunParam.setBashPath(args.get(0));
if (args.size()>1){
rasaRunParam.setShellPath(args.get(1));
}
if (args.size()>2){
rasaRunParam.setRasaModelPath(args.get(2));
}
if (args.size()>3){
rasaRunParam.setEndpointsPath(args.get(3));
}
if (args.size()>4){
rasaRunParam.setPort(args.get(4));
}
return rasaRunParam;
}
public List<String> toList(){
return CollUtil.newArrayList(bashPath,shellPath,rasaModelPath,endpointsPath,port);
}
}

@ -0,0 +1,86 @@
package com.supervision.rasa.pojo.dto;
import cn.hutool.core.collection.CollUtil;
import lombok.Data;
import java.util.List;
/**
* rasa
*/
@Data
public class RasaTrainParam {
/**
* bash
*/
private String bashPath;
/**
* rasa
*/
private String shellPath;
/**
* rasa
*/
private String configPath;
/**
* rasa (rules.yml nlu.yml)
*/
private String localDataPath;
/**
* rasa domain.yml
*/
private String domainPath;
/**
* rasa
*/
private String localModelsPath;
/**
*
*/
private String fixedModelName;
/**
* listRasaTrainParam
* @param args bashPath = args[0] shellPath = args[1] configPath = args[2]
* localDataPath = args[3] domainPath = args[4] localModelsPath = args[5] fixedModelName = args[6]
* @return
*/
public static RasaTrainParam build(List<String> args) {
RasaTrainParam rasaTrainParam = new RasaTrainParam();
if (CollUtil.isEmpty(args)){
return rasaTrainParam;
}
rasaTrainParam.bashPath = args.get(0);
if (args.size() > 1){
rasaTrainParam.shellPath = args.get(1);
}
if (args.size() > 2){
rasaTrainParam.configPath = args.get(2);
}
if (args.size() > 3){
rasaTrainParam.localDataPath = args.get(3);
}
if (args.size() > 4){
rasaTrainParam.domainPath = args.get(4);
}
if (args.size() > 5){
rasaTrainParam.localModelsPath = args.get(5);
}
if (args.size() > 6){
rasaTrainParam.fixedModelName = args.get(6);
}
return rasaTrainParam;
}
public List<String> toList() {
return CollUtil.newArrayList(bashPath, shellPath, configPath, localDataPath, domainPath, localModelsPath, fixedModelName);
}
}

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.supervision.model.RasaModelInfo;
import com.supervision.rasa.constant.RasaConstant;
import com.supervision.rasa.pojo.dto.RasaRunParam;
import com.supervision.rasa.util.PortUtil;
import com.supervision.service.RasaModeService;
import lombok.RequiredArgsConstructor;
@ -42,14 +43,16 @@ public class RasaModelManager {
for (RasaModelInfo rasaModelInfo : activeRasaList) {
if (!PortUtil.portIsActive(rasaModelInfo.getPort())){
try {
List<String> runCmd = rasaModelInfo.getRunCmd();
runCmd.add(String.valueOf(rasaModelInfo.getPort()));
runCmd.set(1,rasaCmdService.getShellPath(RasaConstant.RUN_SHELL));
List<String> outMessageList = rasaCmdService.execCmd(rasaModelInfo.getRunCmd(),
RasaRunParam rasaRunParam = RasaRunParam.build(rasaModelInfo.getRunCmd());
rasaRunParam.setPort(String.valueOf(rasaModelInfo.getPort()));
rasaRunParam.setShellPath(rasaCmdService.getShellPath(RasaConstant.RUN_SHELL));
List<String> outMessageList = rasaCmdService.execCmd(rasaRunParam.toList(),
s -> StrUtil.isNotBlank(s) && s.contains(RasaConstant.RUN_SUCCESS_MESSAGE), 300);
rasaModelInfo.setTrainLog(String.join("\r\n",outMessageList));
rasaModelInfo.setRunLog(String.join("\r\n",outMessageList));
rasaModelInfo.setRunCmd(rasaRunParam.toList());
rasaModeService.updateById(rasaModelInfo);
if (!runIsSuccess(outMessageList)){
log.info("wakeUpInterruptServer: restart server port for {} failed,details info : {}",rasaModelInfo.getPort(),String.join("\r\n",outMessageList));
}

Loading…
Cancel
Save