feat(llm): 增加微调任务日志功能
- 在 FineTuningTaskDO 中添加 mergeLogPath 字段,用于存储数据处理日志路径 - 修改 AsyncFineTuningTaskService,增加对 mergeLogPath 的处理 - 更新 FineTuningTaskController 和 FineTuningTaskService 接口,将日志返回类型改为 Map<String, String> - 实现 FineTuningTaskServiceImpl 中的 getFineTuningLog 方法,支持获取训练日志和数据处理日志
This commit is contained in:
parent
bf05fbda28
commit
b762f11ebe
@ -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<String> getFineTuningLog(@RequestParam("id") Long id) {
|
||||
String fineTuning = fineTuningTaskService.getFineTuningLog(id);
|
||||
public CommonResult<Map<String, String>> getFineTuningLog(@RequestParam("id") Long id) {
|
||||
Map<String, String> fineTuning = fineTuningTaskService.getFineTuningLog(id);
|
||||
return success(fineTuning);
|
||||
}
|
||||
|
||||
|
@ -156,6 +156,8 @@ public class FineTuningTaskDO extends BaseDO {
|
||||
private Long jobModelListId;
|
||||
// 日志文件地址
|
||||
private String trainLog;
|
||||
// 数据处理日志
|
||||
private String mergeLogPath;
|
||||
|
||||
//检查点文件地址
|
||||
private String checkPointFilePath;
|
||||
|
@ -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());
|
||||
|
@ -103,7 +103,7 @@ public interface FineTuningTaskService {
|
||||
*/
|
||||
Map<Long, String> getModelTuningByDatasetId (Long datasetId);
|
||||
|
||||
String getFineTuningLog(Long id);
|
||||
Map<String, String> getFineTuningLog(Long id);
|
||||
|
||||
FineTuningTaskDO selectName(LambdaQueryWrapper<FineTuningTaskDO> eq);
|
||||
}
|
||||
|
@ -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<String, String> getFineTuningLog (Long id) {
|
||||
FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMapper.selectById(id);
|
||||
Map<String, String> result = new HashMap<>();
|
||||
if (fineTuningTaskDO != null && StringUtils.isNotBlank(fineTuningTaskDO.getTrainLog())) {
|
||||
String query = "?log_path="+fineTuningTaskDO.getTrainLog();
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("log_path", fineTuningTaskDO.getTrainDuration());
|
||||
// Map<String, String> 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user