diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java index 8999daabc..f327feab0 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java @@ -1,12 +1,20 @@ package cn.iocoder.yudao.module.llm.controller.admin.modelservice; +import cn.iocoder.yudao.framework.common.util.http.HttpUtils; +import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelSaveReqVO; import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatApiReqVO; import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatReqVO; import cn.iocoder.yudao.module.llm.controller.admin.conversation.vo.ChatRespVO; import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.FineTuningTaskRespVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO; +import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper; +import cn.iocoder.yudao.module.llm.service.basemodel.BaseModelService; +import cn.iocoder.yudao.module.llm.service.basemodel.vo.AListOfPedestalModelsVO; import cn.iocoder.yudao.module.llm.service.conversation.ConversationService; import cn.iocoder.yudao.module.llm.service.finetuningtask.FineTuningTaskService; import cn.iocoder.yudao.module.llm.service.http.ModelService; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -20,6 +28,7 @@ import javax.validation.*; import javax.servlet.http.*; import java.util.*; import java.io.IOException; +import java.util.stream.Collectors; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -52,6 +61,9 @@ public class ModelServiceController { @Resource private ConversationService conversationService; + @Resource + @Lazy + private BaseModelService baseModelService; @PostMapping("/create") @Operation(summary = "创建模型服务") @@ -126,6 +138,34 @@ public class ModelServiceController { return success(pageResult); } + @GetMapping("/get-all-pedestal-models") + @Operation(summary = "获得模型服务") + public CommonResult> getAllPedestalModels() { + LambdaQueryWrapper select = new LambdaQueryWrapper() + .select(BaseModelDO::getId, BaseModelDO::getModelName); + List baseModelDOS = baseModelService.selectList(select); +// List differentModelNames = baseModelDOS.stream() +// .map(BaseModelDO::getModelName) +// .collect(Collectors.toList()); + return success(baseModelDOS); + } + + @PutMapping("/start") + @Operation(summary = "启动模型") +// @PreAuthorize("@ss.hasPermission('llm:base-model:update')") + public CommonResult start(@Valid @RequestBody ModelServiceSaveReqVO updateReqVO) { + modelServiceService.startTheModel(updateReqVO); + return success(true); + } + + @PutMapping("/disable") + @Operation(summary = "禁用模型") +// @PreAuthorize("@ss.hasPermission('llm:base-model:update')") + public CommonResult disable(@Valid @RequestBody ModelServiceSaveReqVO updateReqVO) { + modelServiceService.disableTheModel(updateReqVO); + return success(true); + } + @GetMapping("/export-excel") @Operation(summary = "导出模型服务 Excel") // @PreAuthorize("@ss.hasPermission('llm:model-service:export')") diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java index 49c146b63..5f06d130d 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/framework/backend/config/LLMBackendProperties.java @@ -118,6 +118,8 @@ public class LLMBackendProperties { private String deleteModel; + private String aListOfAvailableModels; + /** * 知识库向量嵌入 */ diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java index e45b2724d..a7feeaa50 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java @@ -4,6 +4,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelPageReqVO; import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelSaveReqVO; import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import javax.validation.Valid; import java.util.List; @@ -76,4 +78,8 @@ public interface BaseModelService { List getAllModels(); void updetatebyIds(List differentModels); + + List selectList(LambdaQueryWrapper select); + + List selectBatchIds(List ids); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java index d7f0ca3b2..48b198023 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelPageReqVO; import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelSaveReqVO; 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.mysql.basemodel.BaseModelMapper; import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties; import cn.iocoder.yudao.module.llm.service.application.ApplicationService; @@ -199,6 +200,16 @@ public class BaseModelServiceImpl implements BaseModelService { baseModelMapper.updateBatch(differentModels); } + @Override + public List selectList(LambdaQueryWrapper select) { + return baseModelMapper.selectList(select); + } + + @Override + public List selectBatchIds(List ids) { + return baseModelMapper.selectBatchIds(ids); + } + /** * 校验模型使用情况 * diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelTaskService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelTaskService.java index 182a7dcc5..6be8ad286 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelTaskService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelTaskService.java @@ -1,15 +1,18 @@ package cn.iocoder.yudao.module.llm.service.basemodel; -import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.util.http.HttpUtils; import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelSaveReqVO; import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO; +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.modelservice.ModelServiceMapper; import cn.iocoder.yudao.module.llm.dal.mysql.servername.ServerNameMapper; import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties; import cn.iocoder.yudao.module.llm.handler.AigcCustomDateTimeDeserializer; +import cn.iocoder.yudao.module.llm.service.basemodel.vo.AListOfPedestalModelsVO; 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.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; @@ -45,6 +48,10 @@ public class BaseModelTaskService { @Resource BaseModelService baseModelService; @Resource + private ModelServiceMapper modelServiceMapper; + @Resource + private BaseModelMapper baseModelMapper; + @Resource ServerNameMapper serverNameMapper; @Resource private FineTuningTaskHttpService fineTuningTaskHttpService; @@ -199,54 +206,108 @@ public class BaseModelTaskService { List baseModelList = baseModelService.getAllModels(); log.info("获取到 {} 个基础模型", baseModelList.size()); + // 调用接口获取远程模型状态 + String resStr = HttpUtils.get(llmBackendProperties.getAListOfAvailableModels(), null); + log.info("获取aicg模型列表返回数据内容: {}", resStr); + + List aListOfPedestalModelsVOS = JSONArray.parseArray(resStr, AListOfPedestalModelsVO.class); + //获取所有名称 + List remoteModelNames = aListOfPedestalModelsVOS.stream() + .map(AListOfPedestalModelsVO::getName) + .collect(Collectors.toCollection(HashSet::new)) + .stream() + .collect(Collectors.toList()); + //获取数据库所有模型名称 + List differentModelNames = baseModelList.stream() + .map(BaseModelDO::getModelName) + .collect(Collectors.toList()); + //删除不存在的模型 + List differentModels = baseModelList.stream() + .filter(baseModel -> !remoteModelNames.contains(baseModel.getModelName())) + .collect(Collectors.toList()); + if (differentModels.size()>0) { + for (BaseModelDO baseModel : differentModels){ + baseModel.setDeleted(true); + } + baseModelService.updetatebyIds(differentModels); + } + + // 筛选出 remoteModelNames 中不在 differentModels 中的模型名称 + List uniqueRemoteModelNames = remoteModelNames.stream() + .filter(remoteModelName -> !differentModelNames.contains(remoteModelName)) + .collect(Collectors.toList()); + if (uniqueRemoteModelNames.size()>0) { + for (String remoteModelName : uniqueRemoteModelNames) { + BaseModelDO baseModelDO = new BaseModelDO(); + baseModelDO.setModelName(remoteModelName); + baseModelMapper.insert(baseModelDO); + } + } + } catch (Exception e) { + log.error("更新基础模型状态时发生异常: {}", e.getMessage(), e); + } + } + + +// @Scheduled(cron = "0 0/5 * * * ?") + public void refreshTheModelService() { + try { + // 获取所有基础模型列表 + List modelServiceDOS = modelServiceMapper.selectList(); + log.info("获取到 {} 模型服务", modelServiceDOS.size()); + // 调用接口获取远程模型状态 String resStr = HttpUtils.post(llmBackendProperties.getBaseModelStatus(), null, ""); log.info("获取aicg模型列表返回数据内容: {}", resStr); JSONArray objects = JSONArray.parseArray(resStr); String s = JSON.toJSONString(objects); - List modelListRes = JSONObject.parseArray(s, PedestalModelVo.class); + List modelListRes = JSONObject.parseArray(s, PedestalModelVO.class); List remoteModelNames = modelListRes.stream() - .map(PedestalModelVo::getDeploymentName) + .map(PedestalModelVO::getDeploymentName) .collect(Collectors.toCollection(HashSet::new)) .stream() .collect(Collectors.toList()); - List differentModels = baseModelList.stream() - .filter(baseModel -> !remoteModelNames.contains(baseModel.getModelName())&& baseModel.getIsActive()==1) + List differentModels = modelServiceDOS.stream() + .filter(baseModel -> !remoteModelNames.contains(baseModel.getBaseModelName()) && baseModel.getStatus() == 2) .collect(Collectors.toList()); - for (BaseModelDO baseModel : differentModels){ - baseModel.setIsActive(2); + for (ModelServiceDO baseModel : differentModels){ + baseModel.setStatus(1); } if (differentModels.size()>0) { - baseModelService.updetatebyIds(differentModels); + modelServiceMapper.updateById(differentModels); } for (String name : remoteModelNames) { // JSONObject jsonObject = (JSONObject) object; // String string = JSON.toJSONString(jsonObject); -// PedestalModelVo pedestalModelVo = JSON.parseObject(string, PedestalModelVo.class); - List collect = modelListRes.stream().filter(pedestalModelVo -> pedestalModelVo.getDeploymentName().equals(name) && "running".equals(pedestalModelVo.getStatus())).collect(Collectors.toList()); +// PedestalModelVO pedestalModelVo = JSON.parseObject(string, PedestalModelVO.class); + List collect = modelListRes.stream() + .filter(pedestalModelVO -> pedestalModelVO.getDeploymentName() + .equals(name) && "running" + .equals(pedestalModelVO.getStatus())) + .collect(Collectors.toList()); if (collect.size() > 0) { - PedestalModelVo pedestalModelVo = collect.get(0); + PedestalModelVO pedestalModelVo = collect.get(0); // 查找本地模型 - List localModels = baseModelList.stream() - .filter(baseModel -> pedestalModelVo.getDeploymentName().equals(baseModel.getModelName())) + List localModels = modelServiceDOS.stream() + .filter(baseModel -> pedestalModelVo.getDeploymentName().equals(baseModel.getBaseModelName())) .collect(Collectors.toList()); if (localModels != null && localModels.size() > 0) { - BaseModelDO localModel = localModels.get(0); + ModelServiceDO localModel = localModels.get(0); // 如果状态不是 "running",更新本地状态 if (!"running".equals(pedestalModelVo.getStatus())) { log.info("更新模型状态,模型名称: {}, 状态: {}", pedestalModelVo.getDeploymentName(), pedestalModelVo.getStatus()); - localModel.setIsActive(2); - localModel.setModelId((long) pedestalModelVo.getId()); - baseModelService.updetatebyId(localModel); + localModel.setStatus(1); + localModel.setJobId((long) pedestalModelVo.getId()); + modelServiceMapper.updateById(localModel); } else { String string1 = pedestalModelVo.getHost() + "/v1/chat/completions"; - localModel.setIsActive(1); - localModel.setChatUrl(string1); - localModel.setApiUrl(string1); - localModel.setModelId((long) pedestalModelVo.getId()); - baseModelService.updetatebyId(localModel); + localModel.setStatus(2); + localModel.setModelUrl(string1); +// localModel.setApiUrl(string1); + localModel.setJobId((long) pedestalModelVo.getId()); + modelServiceMapper.updateById(localModel); log.info("模型 {} 状态为 running,无需更新", pedestalModelVo.getDeploymentName()); } } @@ -262,14 +323,14 @@ public class BaseModelTaskService { // } // } } else { - List localModels = baseModelList.stream() - .filter(baseModel -> name.equals(baseModel.getModelName())) + List localModels = modelServiceDOS.stream() + .filter(baseModel -> name.equals(baseModel.getBaseModelName())) .collect(Collectors.toList()); if (localModels != null && localModels.size() > 0) { - BaseModelDO localModel = localModels.get(0); + ModelServiceDO localModel = localModels.get(0); // 如果状态不是 "running",更新本地状态 - localModel.setIsActive(2); - baseModelService.updetatebyId(localModel); + localModel.setStatus(1); + modelServiceMapper.updateById(localModel); } } } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/AListOfPedestalModelsVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/AListOfPedestalModelsVO.java new file mode 100644 index 000000000..e6d25dd11 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/AListOfPedestalModelsVO.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.llm.service.basemodel.vo; + +import lombok.Data; + +@Data +public class AListOfPedestalModelsVO { + public String name; + + public String path; +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVo.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVO.java similarity index 97% rename from yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVo.java rename to yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVO.java index e632b9885..b5341a8c4 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVo.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/vo/PedestalModelVO.java @@ -4,7 +4,7 @@ import lombok.Data; @Data -public class PedestalModelVo { +public class PedestalModelVO { /** * 创建时间 diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceService.java index 43db9ae26..8f931a961 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelservice/ModelServiceService.java @@ -89,4 +89,8 @@ public interface ModelServiceService { Map getModelServiceByTaskId (Long taskId); List queryCheckpoints(Long id); + + void startTheModel(ModelServiceSaveReqVO updateReqVO); + + void disableTheModel(ModelServiceSaveReqVO updateReqVO); } 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 47d7e8d3c..1c1f5767b 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 @@ -4,10 +4,12 @@ import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.exception.ErrorCode; 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.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.dataobject.servername.ServerNameDO; @@ -16,6 +18,7 @@ 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.basemodel.BaseModelService; import cn.iocoder.yudao.module.llm.service.http.ModelService; import cn.iocoder.yudao.module.llm.service.http.TrainHttpService; import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskAutoService; @@ -83,6 +86,9 @@ public class ModelServiceServiceImpl implements ModelServiceService { @Resource private TrainHttpService trainHttpService; + @Resource + @Lazy + private BaseModelService baseModelService; @Override public Long createModelService (ModelServiceSaveReqVO createReqVO) { @@ -113,6 +119,10 @@ public class ModelServiceServiceImpl implements ModelServiceService { modelService.setApiUrl(replace); modelService.setStatus(0); +// BaseModelDO byAigcId = baseModelService.getByAigcId(modelService.getFineTuningTask()); +// if (byAigcId != null){ +// modelService.setBaseModelName(byAigcId.getModelName()); +// } modelServiceMapper.insert(modelService); // asyncModelServiceService.createModelService(modelService); // 返回 @@ -311,12 +321,12 @@ public class ModelServiceServiceImpl implements ModelServiceService { List ids = pageResult.getList().stream() .map(ModelServiceDO::getFineTuningTask) .collect(Collectors.toList()); - List fineTuningTaskDOS = fineTuningTaskMapper.selectBatchIds(ids); - Map fineTuningTaskMap = CollectionUtils.convertMap(fineTuningTaskDOS, FineTuningTaskDO::getId); + List fineTuningTaskDOS = baseModelService.selectBatchIds(ids); + Map fineTuningTaskMap = CollectionUtils.convertMap(fineTuningTaskDOS, BaseModelDO::getId); respVo.getList().forEach(item -> { - FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMap.get(item.getFineTuningTask()); + BaseModelDO fineTuningTaskDO = fineTuningTaskMap.get(item.getFineTuningTask()); if (fineTuningTaskDO != null) { - item.setFineTuningTaskName(fineTuningTaskDO.getTaskName()); + item.setFineTuningTaskName(fineTuningTaskDO.getModelName()); } }); } @@ -429,4 +439,31 @@ public class ModelServiceServiceImpl implements ModelServiceService { return res; } + @Override + public void startTheModel(ModelServiceSaveReqVO updateReqVO) { + try { + Long fineTuningTask = updateReqVO.getFineTuningTask(); + BaseModelDO byAigcId = baseModelService.getByAigcId(fineTuningTask); + Map map = new HashMap<>(); + map.put("model",byAigcId.getModelName()); + String resStr = HttpUtils.post(llmBackendProperties.getDeployModel(), null,JSON.toJSONString(map)); + + }catch (Exception e){ + log.error("启动基础模型状态时发生异常: {}", e.getMessage(), e); + } + } + + @Override + public void disableTheModel(ModelServiceSaveReqVO updateReqVO) { + try { + Long fineTuningTask = updateReqVO.getFineTuningTask(); + BaseModelDO byAigcId = baseModelService.getByAigcId(fineTuningTask); + String resStr = HttpUtils.post(llmBackendProperties.getDeleteModel()+"?deploy_id="+byAigcId.getModelId(), null, ""); + log.info(" unActive:{}", resStr); + // 禁用模型 + }catch (Exception e){ + log.error("禁用基础模型状态时发生异常: {}", e.getMessage(), e); + } + } + } diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index e9b7563d9..9ddaf0153 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -334,6 +334,8 @@ llm: deploy_model: http://36.103.199.248:5123/llm/deploy # 模型删除 delete_model: http://36.103.199.248:5123/llm/deploy/stop + # 模型列表 get + a_list_of_available_models: http://36.103.199.248:5123/llm/list #################### 30000: 大模型对话相关API。 ################### #### 大模型对话 diff --git a/yudao-server/src/main/resources/application-ymx.yaml b/yudao-server/src/main/resources/application-ymx.yaml index 6eff6e88e..da75e7772 100644 --- a/yudao-server/src/main/resources/application-ymx.yaml +++ b/yudao-server/src/main/resources/application-ymx.yaml @@ -334,6 +334,8 @@ llm: deploy_model: http://127.0.0.1:5123/llm/deploy # 模型删除 delete_model: http://127.0.0.1:5123/llm/deploy/stop + # 模型列表 get + a_list_of_available_models: http://127.0.0.1:5123/llm/list #################### 30000: 大模型对话相关API。 ################### #### 大模型对话