diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncFineTuningTaskService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncFineTuningTaskService.java index d4716b99b..3b5113d3c 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncFineTuningTaskService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncFineTuningTaskService.java @@ -3,8 +3,10 @@ package cn.iocoder.yudao.module.llm.service.async; import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetRespVO; 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.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.servername.ServerNameMapper; import cn.iocoder.yudao.module.llm.enums.FinetuningTaskStatusEnum; import cn.iocoder.yudao.module.llm.service.dataset.DatasetService; import cn.iocoder.yudao.module.llm.service.http.TrainHttpService; @@ -35,6 +37,9 @@ public class AsyncFineTuningTaskService { @Resource private BaseModelMapper baseModelMapper; + @Resource + private ServerNameMapper serverNameMapper; + //大模型平台创建调优任务 @Async public void createTuning(FineTuningTaskDO fineTuningTask) { @@ -50,8 +55,12 @@ public class AsyncFineTuningTaskService { req.setDataset(StringUtils.isNotBlank(dataset.getDatasetFileUrl())?dataset.getDatasetFileUrl():"storage/json/2025/01/_xVKpfDH8.json"); req.setDataset(dataset.getFileUrl()); req.setSuffix("T-"+String.valueOf(fineTuningTask.getId())); - AigcFineTuningCreateRespVO resp = trainHttpService.finetuningCreate(new HashMap<>(), req); FineTuningTaskDO updateObj = new FineTuningTaskDO(); + ServerNameDO serverNameDO = serverNameMapper.selectById(fineTuningTask.getGpuType()); + if (serverNameDO == null){ + updateObj.setStatus(FinetuningTaskStatusEnum.CANCELLED.getStatus()); + } + AigcFineTuningCreateRespVO resp = trainHttpService.finetuningCreate(new HashMap<>(),serverNameDO.getHost(), req); updateObj.setId(fineTuningTask.getId()); if (resp != null) { updateObj.setJobId(resp.getJobId()); diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java index 1d6f98066..e4a7b0121 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/TrainHttpService.java @@ -149,13 +149,13 @@ public class TrainHttpService { /** * 创建微调任务 POST */ - public AigcFineTuningCreateRespVO finetuningCreate(Map headers, AigcFineTuningCreateReqVO req){ + public AigcFineTuningCreateRespVO finetuningCreate(Map headers,String url, AigcFineTuningCreateReqVO req){ login(headers); // TODO: 在上个方法中已经将数据集的文件id赋予,调试时需要写死再放开 // String fileId = "6237ed4d-a046-479c-80d6-8579a0283994"; // req.setFileId(fileId); log.info(" finetuningCreate:{}", JSON.toJSONString(req)); - String res = HttpUtils.post(llmBackendProperties.getFinetuningCreate(), headers, JSON.toJSONString(req)); + String res = HttpUtils.post(url+llmBackendProperties.getFinetuningCreate(), headers, JSON.toJSONString(req)); log.info(" finetuningCreate:{}", res); AigcRespVO aigcRespVO = JSON.parseObject(res, AigcRespVO.class); var aigcFineTuningCreateRespVO = JSON.parseObject(res, AigcFineTuningCreateRespVO.class);