fix(llm): 修复删除模型时可能存在的空指针异常- 在 FineTuningTaskServiceImpl 中添加删除微调任务时删除基模型的逻辑
- 在 ModelServiceServiceImpl 中移除删除模型服务时删除基模型的代码
This commit is contained in:
parent
d5c2fc3c24
commit
8f18b119ae
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.llm.service.finetuningtask;
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.basemodel.BaseModelController;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.FineTuningTaskPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.FineTuningTaskRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.FineTuningTaskSaveReqVO;
|
||||
@ -26,6 +27,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -67,6 +69,10 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService {
|
||||
|
||||
@Resource
|
||||
private ModelServiceService modelServiceService;
|
||||
@Resource
|
||||
@Lazy
|
||||
private BaseModelController baseModelController;
|
||||
|
||||
|
||||
@Override
|
||||
public Long createFineTuningTask (FineTuningTaskSaveReqVO createReqVO) {
|
||||
@ -115,6 +121,11 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService {
|
||||
// validateFineTuningTaskUse(id);
|
||||
FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMapper.selectById(id);
|
||||
// 删除
|
||||
LambdaQueryWrapper<BaseModelDO> eq = new LambdaQueryWrapper<BaseModelDO>().eq(BaseModelDO::getModelName, fineTuningTaskDO.getJobModelName());
|
||||
List<BaseModelDO> baseModelDOS = baseModelMapper.selectList(eq);
|
||||
if (baseModelDOS != null && baseModelDOS.size() > 0) {
|
||||
baseModelController.deleteTheModel(baseModelDOS.get(0).getId());
|
||||
}
|
||||
LambdaUpdateWrapper<FineTuningTaskDO> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(FineTuningTaskDO::getId, id)
|
||||
.set(FineTuningTaskDO::getDeleted, true);
|
||||
|
@ -94,10 +94,6 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
@Resource
|
||||
@Lazy
|
||||
private BaseModelService baseModelService;
|
||||
@Resource
|
||||
private BaseModelController baseModelController;
|
||||
@Resource
|
||||
private BaseModelMapper baseModelMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@ -186,12 +182,6 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(id);
|
||||
ServerNameDO serverNameDO = serverNameService.getServerName(modelServiceDO.getGpuType());
|
||||
LambdaQueryWrapper<BaseModelDO> wrapper = new LambdaQueryWrapper<BaseModelDO>().eq(BaseModelDO::getModelName, modelServiceDO.getBaseModelName());
|
||||
List<BaseModelDO> baseModelDOS = baseModelMapper.selectList(wrapper);
|
||||
if (baseModelDOS != null && baseModelDOS.size() > 0) {
|
||||
baseModelController.deleteTheModel(baseModelDOS.get(0).getId());
|
||||
}
|
||||
|
||||
// 发起模型卸载请求
|
||||
log.info("正在发起模型卸载请求,服务ID: {}", id);
|
||||
trainHttpService.modelUndeploy(new HashMap<>(), serverNameDO.getHost(), modelServiceDO.getJobId());
|
||||
|
Loading…
x
Reference in New Issue
Block a user