diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceServiceImpl.java index 71e9c613c..40b916753 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceServiceImpl.java @@ -7,7 +7,6 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 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; -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.mysql.finetuningtask.FineTuningTaskMapper; @@ -15,7 +14,6 @@ import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper; import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties; import cn.iocoder.yudao.module.llm.service.application.ApplicationService; import cn.iocoder.yudao.module.llm.service.async.AsyncModelServiceService; -import cn.iocoder.yudao.module.llm.service.finetuningtask.FineTuningTaskService; import cn.iocoder.yudao.module.llm.service.http.ModelService; import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskAutoService; import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessTaskManualService; @@ -73,11 +71,11 @@ public class ModelServiceServiceImpl implements ModelServiceService { @Override - public Long createModelService(ModelServiceSaveReqVO createReqVO) { + public Long createModelService (ModelServiceSaveReqVO createReqVO) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ModelServiceDO::getFineTuningTask,createReqVO.getFineTuningTask()); + queryWrapper.eq(ModelServiceDO::getFineTuningTask, createReqVO.getFineTuningTask()); List modelServiceDOS = modelServiceMapper.selectList(queryWrapper); - if(modelServiceDOS.size() > 0){ + if (modelServiceDOS.size() > 0) { throw exception(new ErrorCode(10003_001, "该微调任务已生成过模型服务,不可再生成")); } @@ -87,7 +85,7 @@ public class ModelServiceServiceImpl implements ModelServiceService { FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMapper.selectById(createReqVO.getFineTuningTask()); - if (fineTuningTaskDO != null){ + if (fineTuningTaskDO != null) { //aigc模型列表中的id 以及 对话用的modelName modelService.setJobId(fineTuningTaskDO.getJobModelListId()); modelService.setBaseModelName(fineTuningTaskDO.getJobModelName()); @@ -102,12 +100,12 @@ public class ModelServiceServiceImpl implements ModelServiceService { modelService.setStatus(0); modelServiceMapper.insert(modelService); -// asyncModelServiceService.createModelService(modelService); + // asyncModelServiceService.createModelService(modelService); // 返回 return modelService.getId(); } - public String getApikey() { + public String getApikey () { Random random = new Random(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 30; i++) { @@ -126,7 +124,7 @@ public class ModelServiceServiceImpl implements ModelServiceService { } @Override - public void updateModelService(ModelServiceSaveReqVO updateReqVO) { + public void updateModelService (ModelServiceSaveReqVO updateReqVO) { // 校验存在 validateModelServiceExists(updateReqVO.getId()); validateModelServiceNameExists(updateReqVO); @@ -136,7 +134,7 @@ public class ModelServiceServiceImpl implements ModelServiceService { } @Override - public void deleteModelService(Long id) { + public void deleteModelService (Long id) { // 校验存在 validateModelServiceExists(id); // 校验使用 @@ -221,43 +219,44 @@ public class ModelServiceServiceImpl implements ModelServiceService { } } - private void validateModelServiceExists(Long id) { + private void validateModelServiceExists (Long id) { if (modelServiceMapper.selectById(id) == null) { throw exception(MODEL_SERVICE_NOT_EXISTS); } } - private void validateModelServiceNameExists(ModelServiceSaveReqVO updateReqVO) { + + private void validateModelServiceNameExists (ModelServiceSaveReqVO updateReqVO) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(ModelServiceDO::getServiceName, updateReqVO.getServiceName()); - if (updateReqVO.getId() != null){ + if (updateReqVO.getId() != null) { wrapper.ne(ModelServiceDO::getId, updateReqVO.getId()); } List modelServiceDOS = modelServiceMapper.selectList(wrapper); - if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(modelServiceDOS)){ + if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(modelServiceDOS)) { throw exception(MODEL_SERVIC_ENAME_NOT_EXISTS); } } @Override - public ModelServiceDO getModelService(Long id) { + public ModelServiceDO getModelService (Long id) { return modelServiceMapper.selectById(id); } @Override - public PageResult getModelServicePage(ModelServicePageReqVO pageReqVO) { + public PageResult getModelServicePage (ModelServicePageReqVO pageReqVO) { return modelServiceMapper.selectPage(pageReqVO); } @Override - public List getModelServiceList() { + public List getModelServiceList () { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ModelServiceDO::getStatus,2); + queryWrapper.eq(ModelServiceDO::getStatus, 2); return modelServiceMapper.selectList(queryWrapper); } @Override - public void active(ModelServiceSaveReqVO updateReqVO) { + public void active (ModelServiceSaveReqVO updateReqVO) { ModelServiceDO updateObj = BeanUtils.toBean(updateReqVO, ModelServiceDO.class); updateObj.setStatus(1); modelServiceMapper.updateById(updateObj); @@ -267,7 +266,7 @@ public class ModelServiceServiceImpl implements ModelServiceService { } @Override - public void unactive(ModelServiceSaveReqVO updateReqVO) { + public void unactive (ModelServiceSaveReqVO updateReqVO) { ModelServiceDO updateObj = BeanUtils.toBean(updateReqVO, ModelServiceDO.class); updateObj.setStatus(0); modelServiceMapper.updateById(updateObj); @@ -279,18 +278,18 @@ public class ModelServiceServiceImpl implements ModelServiceService { } @Override - public PageResult getModelServicePage1(ModelServicePageReqVO pageReqVO) { + public PageResult getModelServicePage1 (ModelServicePageReqVO pageReqVO) { PageResult pageResult = modelServiceMapper.selectPage(pageReqVO); PageResult respVo = BeanUtils.toBean(pageResult, ModelServiceRespVO.class); - if (!CollectionUtils.isAnyEmpty(pageResult.getList())){ + if (!CollectionUtils.isAnyEmpty(pageResult.getList())) { List ids = pageResult.getList().stream() .map(ModelServiceDO::getFineTuningTask) .collect(Collectors.toList()); List fineTuningTaskDOS = fineTuningTaskMapper.selectBatchIds(ids); Map fineTuningTaskMap = CollectionUtils.convertMap(fineTuningTaskDOS, FineTuningTaskDO::getId); - respVo.getList().forEach(item->{ + respVo.getList().forEach(item -> { FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMap.get(item.getFineTuningTask()); - if(fineTuningTaskDO != null){ + if (fineTuningTaskDO != null) { item.setFineTuningTaskName(fineTuningTaskDO.getTaskName()); } }); @@ -299,31 +298,43 @@ public class ModelServiceServiceImpl implements ModelServiceService { } @Override - public ModelServiceDO getByApiKey(String apiKey) { + public ModelServiceDO getByApiKey (String apiKey) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ModelServiceDO::getApiKey,apiKey); - return modelServiceMapper.selectOne(queryWrapper); + queryWrapper.eq(ModelServiceDO::getApiKey, apiKey); + return modelServiceMapper.selectOne(queryWrapper); } @Override - public List getDownLoadList(Long id) { + public List getDownLoadList (Long id) { ModelServiceDO modelServiceDO = modelServiceMapper.selectById(id); String baseModelName = modelServiceDO.getBaseModelName(); + List fileList = modelService.getFileList(baseModelName); String modelFileDownload = llmBackendProperties.getModelFileDownload(); List res = new ArrayList<>(); - if (fileList != null){ + if (fileList != null) { for (String fileName : fileList) { Pattern extensionPattern = Pattern.compile("\\.[a-zA-Z0-9]+$"); - if (!extensionPattern.matcher(fileName).find()){ + if (!extensionPattern.matcher(fileName).find()) { continue; } - res.add(modelFileDownload + baseModelName +"/" + fileName); + res.add(modelFileDownload + baseModelName + "/" + fileName); } } return res; } + /** + * 根据 ID 获取 GPU 类型 + * + * @param id id + * @return Gpu类型 + */ + public Long getGpuTypeById (Long id) { + ModelServiceDO modelServiceDO = modelServiceMapper.selectById(id); + return modelServiceDO.getGpuType(); + } + /** * 获取模型服务管理数量 *