refactor(llm): 调整模型服务状态和刷新逻辑- 修改 refreshTheModelService 方法的定时调度时间,从每分钟执行改为每 5 分钟执行- 更新模型服务状态判断逻辑,本地模型状态,从"启动中"改为"运行中"
This commit is contained in:
parent
3a919f884a
commit
507ea2551c
@ -15,7 +15,9 @@ import cn.iocoder.yudao.module.llm.service.basemodel.vo.ModelListRes;
|
||||
import cn.iocoder.yudao.module.llm.service.basemodel.vo.PedestalModelVO;
|
||||
import cn.iocoder.yudao.module.llm.service.http.FineTuningTaskHttpService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.TrainHttpService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.AigcModelDeploySaveReq;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.AigcModelDeployVO;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.ModelDeployRespVO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@ -109,33 +111,33 @@ public class BaseModelTaskService {
|
||||
String status = latestRecord.getStatus();
|
||||
log.info("最新模型部署记录状态: {}", status);
|
||||
|
||||
// // 如果模型状态为 "stop",则重新部署
|
||||
// if ("stop".equals(status)) {
|
||||
// log.info("模型状态为 'stop',正在重新部署模型...");
|
||||
//
|
||||
// // 构建模型部署请求
|
||||
// AigcModelDeploySaveReq aigcModelDeploySaveReq = new AigcModelDeploySaveReq(
|
||||
// baseModelDO.getAigcModelName(), "gpu");
|
||||
// log.info("模型部署请求参数: {}", JSON.toJSONString(aigcModelDeploySaveReq));
|
||||
//
|
||||
// // 发起模型部署请求
|
||||
// ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(
|
||||
// new HashMap<>(), serverName.getHost(), aigcModelDeploySaveReq);
|
||||
// log.info("模型部署请求完成。响应内容: {}", JSON.toJSONString(modelDeployRespVO));
|
||||
//
|
||||
// // 更新基础模型信息
|
||||
// if (!"error".equals(modelDeployRespVO.getMessage())) {
|
||||
// log.info("模型部署成功。正在更新基础模型信息...");
|
||||
// BaseModelSaveReqVO baseModelSaveReqVO = new BaseModelSaveReqVO();
|
||||
// baseModelSaveReqVO.setId(baseModelDO.getId());
|
||||
// baseModelSaveReqVO.setModelId(modelDeployRespVO.getId());
|
||||
// baseModelSaveReqVO.setChatUrl(modelDeployRespVO.getPort() + DEFAULT_MODEL_URL_SUFFIX);
|
||||
// baseModelService.updateBaseModel(baseModelSaveReqVO);
|
||||
// log.info("基础模型信息更新完成。模型ID: {}", baseModelDO.getId());
|
||||
// } else {
|
||||
// log.error("模型部署失败。模型ID: {}", baseModelDO.getId());
|
||||
// }
|
||||
// }
|
||||
// // 如果模型状态为 "stop",则重新部署
|
||||
// if ("stop".equals(status)) {
|
||||
// log.info("模型状态为 'stop',正在重新部署模型...");
|
||||
//
|
||||
// // 构建模型部署请求
|
||||
// AigcModelDeploySaveReq aigcModelDeploySaveReq = new AigcModelDeploySaveReq(
|
||||
// baseModelDO.getAigcModelName(), "gpu");
|
||||
// log.info("模型部署请求参数: {}", JSON.toJSONString(aigcModelDeploySaveReq));
|
||||
//
|
||||
// // 发起模型部署请求
|
||||
// ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(
|
||||
// new HashMap<>(), serverName.getHost(), aigcModelDeploySaveReq);
|
||||
// log.info("模型部署请求完成。响应内容: {}", JSON.toJSONString(modelDeployRespVO));
|
||||
//
|
||||
// // 更新基础模型信息
|
||||
// if (!"error".equals(modelDeployRespVO.getMessage())) {
|
||||
// log.info("模型部署成功。正在更新基础模型信息...");
|
||||
// BaseModelSaveReqVO baseModelSaveReqVO = new BaseModelSaveReqVO();
|
||||
// baseModelSaveReqVO.setId(baseModelDO.getId());
|
||||
// baseModelSaveReqVO.setModelId(modelDeployRespVO.getId());
|
||||
// baseModelSaveReqVO.setChatUrl(modelDeployRespVO.getPort() + DEFAULT_MODEL_URL_SUFFIX);
|
||||
// baseModelService.updateBaseModel(baseModelSaveReqVO);
|
||||
// log.info("基础模型信息更新完成。模型ID: {}", baseModelDO.getId());
|
||||
// } else {
|
||||
// log.error("模型部署失败。模型ID: {}", baseModelDO.getId());
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
log.warn("未找到模型部署记录。模型ID: {}", modelId);
|
||||
}
|
||||
@ -150,7 +152,7 @@ public class BaseModelTaskService {
|
||||
|
||||
|
||||
// @Scheduled(cron ="0 0/1 * * * ?")
|
||||
public void updateBaseModel () {
|
||||
public void updateBaseModel() {
|
||||
Log.info("定时任务启动");
|
||||
String resStr = trainHttpService.modelsList("");
|
||||
Log.info("获取aicg模型列表返回数据内容{}", resStr);
|
||||
@ -252,7 +254,7 @@ public class BaseModelTaskService {
|
||||
}
|
||||
|
||||
|
||||
// @Scheduled(cron = "0 0/1 * * * ?")
|
||||
@Scheduled(cron = "0 0/5 * * * ?")
|
||||
public void refreshTheModelService () {
|
||||
try {
|
||||
// 获取所有基础模型列表
|
||||
@ -273,7 +275,7 @@ public class BaseModelTaskService {
|
||||
.collect(Collectors.toList());
|
||||
//如果状态启动中没起来将状态变为停止
|
||||
List<ModelServiceDO> differentModels = modelServiceDOS.stream()
|
||||
.filter(baseModel -> !remoteModelNames.contains(baseModel.getBaseModelName()) && (baseModel.getStatus() == 4 || baseModel.getStatus() == 2))
|
||||
.filter(baseModel -> !remoteModelNames.contains(baseModel.getBaseModelName()) && (baseModel.getStatus() == 2 || baseModel.getStatus() == 1))
|
||||
.collect(Collectors.toList());
|
||||
for (ModelServiceDO baseModel : differentModels) {
|
||||
baseModel.setStatus(3);
|
||||
@ -307,25 +309,25 @@ public class BaseModelTaskService {
|
||||
modelServiceMapper.updateById(localModel);
|
||||
} else {
|
||||
String string1 = pedestalModelVo.getHost() + "/v1/chat/completions";
|
||||
localModel.setStatus(4);
|
||||
localModel.setStatus(2);
|
||||
localModel.setModelUrl(string1);
|
||||
// localModel.setApiUrl(string1);
|
||||
// localModel.setApiUrl(string1);
|
||||
localModel.setJobId((long) pedestalModelVo.getId());
|
||||
modelServiceMapper.updateById(localModel);
|
||||
log.info("模型 {} 状态为 running,无需更新", pedestalModelVo.getDeploymentName());
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// //新增基座模型
|
||||
// if ("running".equals(pedestalModelVo.getStatus())){
|
||||
// BaseModelSaveReqVO baseModelSaveReqVO = new BaseModelSaveReqVO();
|
||||
// baseModelSaveReqVO.setModelName(pedestalModelVo.getDeploymentName());
|
||||
// baseModelSaveReqVO.setIsActive(1);
|
||||
// baseModelSaveReqVO.setAigcModelName(pedestalModelVo.getDeploymentName());
|
||||
// baseModelSaveReqVO.setChatUrl(pedestalModelVo.getHost() + "/v1/chat/completions");
|
||||
// baseModelService.createBaseModel(baseModelSaveReqVO);
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// //新增基座模型
|
||||
// if ("running".equals(pedestalModelVo.getStatus())){
|
||||
// BaseModelSaveReqVO baseModelSaveReqVO = new BaseModelSaveReqVO();
|
||||
// baseModelSaveReqVO.setModelName(pedestalModelVo.getDeploymentName());
|
||||
// baseModelSaveReqVO.setIsActive(1);
|
||||
// baseModelSaveReqVO.setAigcModelName(pedestalModelVo.getDeploymentName());
|
||||
// baseModelSaveReqVO.setChatUrl(pedestalModelVo.getHost() + "/v1/chat/completions");
|
||||
// baseModelService.createBaseModel(baseModelSaveReqVO);
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
List<ModelServiceDO> localModels = modelServiceDOS.stream()
|
||||
.filter(baseModel -> name.equals(baseModel.getBaseModelName()))
|
||||
|
Loading…
x
Reference in New Issue
Block a user