diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/finetuningtask/FineTuningTaskController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/finetuningtask/FineTuningTaskController.java index a9876e762..c248f2b61 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/finetuningtask/FineTuningTaskController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/finetuningtask/FineTuningTaskController.java @@ -123,8 +123,8 @@ public class FineTuningTaskController { @Operation(summary = "获得模型微调日志") @Parameter(name = "id", description = "编号", required = true, example = "1024") // @PreAuthorize("@ss.hasPermission('llm:fine-tuning:query')") - public CommonResult getFineTuningLog(@RequestParam("id") Long id) { - String fineTuning = fineTuningTaskService.getFineTuningLog(id); + public CommonResult> getFineTuningLog(@RequestParam("id") Long id) { + Map fineTuning = fineTuningTaskService.getFineTuningLog(id); return success(fineTuning); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/finetuningtask/FineTuningTaskDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/finetuningtask/FineTuningTaskDO.java index 83e9b9ea8..156a9cbd6 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/finetuningtask/FineTuningTaskDO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/finetuningtask/FineTuningTaskDO.java @@ -156,6 +156,8 @@ public class FineTuningTaskDO extends BaseDO { private Long jobModelListId; // 日志文件地址 private String trainLog; + // 数据处理日志 + private String mergeLogPath; //检查点文件地址 private String checkPointFilePath; 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 116405476..bccc9148d 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 @@ -133,6 +133,7 @@ public class AsyncFineTuningTaskService { updateObj.setStatus(FinetuningTaskStatusEnum.WAITING.getStatus()); updateObj.setJobModelName(resp.getFineTunedModel()); updateObj.setTrainLog(resp.getTrainLog()); + updateObj.setMergeLogPath(resp.getMergeLogPath()); log.info("微调任务创建成功。任务ID: {}, 任务模型名称: {} , 任务状态: {}", fineTuningTask.getId(), resp.getFineTunedModel(), FinetuningTaskStatusEnum.WAITING.getStatus()); } else { updateObj.setStatus(FinetuningTaskStatusEnum.FAILED.getStatus()); diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskService.java index c36badadd..0eab2b07f 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskService.java @@ -103,7 +103,7 @@ public interface FineTuningTaskService { */ Map getModelTuningByDatasetId (Long datasetId); - String getFineTuningLog(Long id); + Map getFineTuningLog(Long id); FineTuningTaskDO selectName(LambdaQueryWrapper eq); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskServiceImpl.java index 550d09a1d..1df57a5d9 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/finetuningtask/FineTuningTaskServiceImpl.java @@ -32,6 +32,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -262,7 +263,12 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService { // 2. 修改微调任务状态为等待中 log.info("开始修改微调任务状态为等待中,任务ID: {}", id); - fineTuningTaskMapper.stopStartTask(id, FinetuningTaskStatusEnum.WAITING.getStatus()); + FineTuningTaskDO taskDO = new FineTuningTaskDO(); + taskDO.setId(id); + taskDO.setStatus(FinetuningTaskStatusEnum.WAITING.getStatus()); + taskDO.setCreateTime(LocalDateTime.now()); + fineTuningTaskMapper.updateById(taskDO); +// fineTuningTaskMapper.stopStartTask(id, FinetuningTaskStatusEnum.WAITING.getStatus()); log.info("微调任务状态修改成功,任务ID: {}", id); // 3. 异步调用模型服务,停止微调任务 @@ -361,19 +367,30 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService { } @Override - public String getFineTuningLog (Long id) { + public Map getFineTuningLog (Long id) { FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMapper.selectById(id); + Map result = new HashMap<>(); if (fineTuningTaskDO != null && StringUtils.isNotBlank(fineTuningTaskDO.getTrainLog())) { String query = "?log_path="+fineTuningTaskDO.getTrainLog(); - Map map = new HashMap<>(); - map.put("log_path", fineTuningTaskDO.getTrainDuration()); +// Map map = new HashMap<>(); +// map.put("log_path", fineTuningTaskDO.getTrainDuration()); ServerNameDO serverNameDO = serverNameMapper.selectById(fineTuningTaskDO.getGpuType()); if (serverNameDO == null){ - return ""; + result.put("trainLog", ""); } - return trainHttpService.getTrainLog(serverNameDO.getHost(),query); + String trainLog = trainHttpService.getTrainLog(serverNameDO.getHost(), query); + result.put("trainLog", trainLog); } - return null; + if (fineTuningTaskDO != null && StringUtils.isNotBlank(fineTuningTaskDO.getMergeLogPath())){ + String path = "?log_path=" + fineTuningTaskDO.getMergeLogPath(); + ServerNameDO serverNameDO = serverNameMapper.selectById(fineTuningTaskDO.getGpuType()); + if (serverNameDO == null){ + result.put("mergeLogPath", ""); + } + String mergeLogPath = trainHttpService.getTrainLog(serverNameDO.getHost(), path); + result.put("mergeLogPath", mergeLogPath); + } + return result; } @Override