fix(llm): 修复模型服务删除时未删除基础模型的问题- 在 ModelServiceServiceImpl 类中添加了 BaseModelController 和 BaseModelMapper 的引用

- 在删除模型服务时,增加了删除对应基础模型的逻辑- 通过查询基础模型名称来获取基础模型 ID,并调用删除方法
This commit is contained in:
sunxiqing 2025-03-21 15:33:59 +08:00
parent fbca4192f0
commit d5c2fc3c24

View File

@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
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.modelservice.vo.ModelServicePageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceSaveReqVO;
@ -14,6 +15,7 @@ import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.servername.ServerNameDO;
import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask.FineTuningTaskMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties;
@ -92,6 +94,10 @@ public class ModelServiceServiceImpl implements ModelServiceService {
@Resource
@Lazy
private BaseModelService baseModelService;
@Resource
private BaseModelController baseModelController;
@Resource
private BaseModelMapper baseModelMapper;
@Override
@ -180,6 +186,11 @@ 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);