模型调优修改
This commit is contained in:
parent
8f429d4a02
commit
713b1b2b39
@ -71,12 +71,28 @@ public class FineTuningTaskController {
|
||||
return success(BeanUtils.toBean(fineTuningTask, FineTuningTaskRespVO.class));
|
||||
}
|
||||
|
||||
@PutMapping("/stop")
|
||||
@Operation(summary = "停止模型调优 —— 微调任务")
|
||||
@PreAuthorize("@ss.hasPermission('llm:fine-tuning-task:update')")
|
||||
public CommonResult<Boolean> stopFineTuningTask(@RequestParam("id") Long id) {
|
||||
fineTuningTaskService.stopFineTuningTask(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PutMapping("start")
|
||||
@Operation(summary = "部署模型调优 —— 微调任务")
|
||||
@PreAuthorize("@ss.hasPermission('llm:fine-tuning-task:update')")
|
||||
public CommonResult<Boolean> startFineTuningTask(@RequestParam("id") Long id) {
|
||||
fineTuningTaskService.startFineTuningTask(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模型调优 —— 微调任务分页")
|
||||
@PreAuthorize("@ss.hasPermission('llm:fine-tuning-task:query')")
|
||||
public CommonResult<PageResult<FineTuningTaskRespVO>> getFineTuningTaskPage(@Valid FineTuningTaskPageReqVO pageReqVO) {
|
||||
PageResult<FineTuningTaskDO> pageResult = fineTuningTaskService.getFineTuningTaskPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, FineTuningTaskRespVO.class));
|
||||
PageResult<FineTuningTaskRespVO> pageResult = fineTuningTaskService.getFineTuningTaskPage1(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
|
@ -88,4 +88,7 @@ public class FineTuningTaskPageReqVO extends PageParam {
|
||||
@Schema(description = "状态,使用字典(llm_fine_tuning_task_status)", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description ="基础模型服务Id")
|
||||
private Long baseModelId;
|
||||
|
||||
}
|
@ -125,5 +125,13 @@ public class FineTuningTaskRespVO {
|
||||
@ExcelProperty(value = "状态,使用字典(llm_fine_tuning_task_status)", converter = DictConvert.class)
|
||||
@DictFormat("llm_fine_tuning_task_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private Integer status;
|
||||
@Schema(description ="基础模型服务Id")
|
||||
private Long baseModelId;
|
||||
|
||||
@Schema(description = "基础模型服务名称")
|
||||
private String baseModelName;
|
||||
|
||||
@Schema(description = "数据集名称")
|
||||
private String datasetName;
|
||||
|
||||
}
|
@ -83,4 +83,7 @@ public class FineTuningTaskSaveReqVO {
|
||||
@NotNull(message = "状态,使用字典(llm_fine_tuning_task_status)不能为空")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "基础模型服务Id")
|
||||
private Long baseModelId;
|
||||
|
||||
}
|
@ -135,5 +135,9 @@ public class FineTuningTaskDO extends BaseDO {
|
||||
* 枚举 {@link TODO llm_fine_tuning_task_status 对应的类}
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 基础服务模型Id
|
||||
*/
|
||||
private Long baseModelId;
|
||||
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
package cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
/**
|
||||
* 模型调优 —— 微调任务 Mapper
|
||||
@ -47,4 +47,6 @@ public interface FineTuningTaskMapper extends BaseMapperX<FineTuningTaskDO> {
|
||||
.orderByDesc(FineTuningTaskDO::getId));
|
||||
}
|
||||
|
||||
@Update("update llm_fine_tuning_task set status = #{status} where id = #{id}")
|
||||
void stopStartTask(@Param("id") Long id,@Param("status") int status);
|
||||
}
|
@ -52,4 +52,23 @@ public interface FineTuningTaskService {
|
||||
*/
|
||||
PageResult<FineTuningTaskDO> getFineTuningTaskPage(FineTuningTaskPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得模型调优 —— 微调任务分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 模型调优 —— 微调任务分页
|
||||
*/
|
||||
PageResult<FineTuningTaskRespVO> getFineTuningTaskPage1(FineTuningTaskPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 停止微调任务
|
||||
* @param id
|
||||
*/
|
||||
void stopFineTuningTask(Long id);
|
||||
|
||||
/**
|
||||
* 部署微调任务
|
||||
* @param id
|
||||
*/
|
||||
void startFineTuningTask(Long id);
|
||||
}
|
@ -1,12 +1,21 @@
|
||||
package cn.iocoder.yudao.module.llm.service.finetuningtask;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.finetuningtask.vo.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
@ -30,6 +39,10 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService {
|
||||
|
||||
@Resource
|
||||
private FineTuningTaskMapper fineTuningTaskMapper;
|
||||
@Resource
|
||||
private BaseModelMapper baseModelMapper;
|
||||
@Resource
|
||||
private DatasetMapper datasetMapper;
|
||||
|
||||
@Override
|
||||
public Long createFineTuningTask(FineTuningTaskSaveReqVO createReqVO) {
|
||||
@ -71,9 +84,56 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService {
|
||||
public FineTuningTaskDO getFineTuningTask(Long id) {
|
||||
return fineTuningTaskMapper.selectById(id);
|
||||
}
|
||||
@Override
|
||||
public PageResult<FineTuningTaskRespVO> getFineTuningTaskPage1(FineTuningTaskPageReqVO pageReqVO) {
|
||||
PageResult<FineTuningTaskDO> pageResult = fineTuningTaskMapper.selectPage(pageReqVO);
|
||||
PageResult<FineTuningTaskRespVO> result = BeanUtils.toBean(pageResult, FineTuningTaskRespVO.class);
|
||||
if (CollectionUtils.isNotEmpty(pageResult.getList())){
|
||||
List<Long> modelIds = pageResult.getList().stream().map(FineTuningTaskDO::getBaseModelId).collect(Collectors.toList());
|
||||
List<BaseModelDO> baseModelDOS = baseModelMapper.selectList(new LambdaQueryWrapper<BaseModelDO>()
|
||||
.in(BaseModelDO::getId, modelIds));
|
||||
Map<Long, BaseModelDO> longModelServiceDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(baseModelDOS, BaseModelDO::getId);
|
||||
result.getList().forEach(item->{
|
||||
BaseModelDO baseModelDO = longModelServiceDOMap.get(item.getBaseModelId());
|
||||
if(baseModelDO != null){
|
||||
item.setBaseModelName(baseModelDO.getModelName());
|
||||
}
|
||||
});
|
||||
List<Long> dataSetlIds = pageResult.getList().stream().map(FineTuningTaskDO::getDataset).collect(Collectors.toList());
|
||||
List<DatasetDO> datasetDOS = datasetMapper.selectList(new LambdaQueryWrapper<DatasetDO>().in(DatasetDO::getId, dataSetlIds));
|
||||
Map<Long, DatasetDO> datasetDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(datasetDOS, DatasetDO::getId);
|
||||
result.getList().forEach(item->{
|
||||
DatasetDO datasetDO = datasetDOMap.get(item.getDataset());
|
||||
if(datasetDO != null){
|
||||
item.setDatasetName(datasetDO.getDatasetName());
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 停止服务
|
||||
* @param id
|
||||
*/
|
||||
@Override
|
||||
public void stopFineTuningTask(Long id) {
|
||||
fineTuningTaskMapper.stopStartTask(id,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startFineTuningTask(Long id) {
|
||||
fineTuningTaskMapper.stopStartTask(id,1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<FineTuningTaskDO> getFineTuningTaskPage(FineTuningTaskPageReqVO pageReqVO) {
|
||||
PageResult<FineTuningTaskDO> pageResult = fineTuningTaskMapper.selectPage(pageReqVO);
|
||||
PageResult<FineTuningTaskRespVO> result = BeanUtils.toBean(pageResult, FineTuningTaskRespVO.class);
|
||||
|
||||
return fineTuningTaskMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user