修改人工评估预知模型我的模型问题

This commit is contained in:
limin 2025-01-03 14:19:10 +08:00
parent c3f705ee4f
commit 87831ce26b
6 changed files with 75 additions and 13 deletions

View File

@ -83,5 +83,7 @@ public interface ErrorCodeConstants {
ErrorCode MODEL_ASSESS_TASK_MANUAL_BACKUP_EXISTS = new ErrorCode(100_1002, "人工评估已备份");
ErrorCode DATASET_NAME_EXISTS = new ErrorCode(10034, "数据集名称重复");
ErrorCode MODEL_ASSESS_TASK_MANUAL_NAME_EXISTS = new ErrorCode(10035, "模型评估任务人工评估名称重复");
}

View File

@ -58,6 +58,11 @@ public class ModelAssessTaskManualRespVO {
@Schema(description = "数据集名称")
private String datasetName;
/**
* 模型类型
*/
@Schema(description = "模型类型0普通1官方")
private Integer modelType;

View File

@ -37,4 +37,7 @@ public class ModelAssessTaskManualSaveReqVO {
@Schema(description = "任务进度")
private Integer progress;
@Schema(description ="模型类型0普通1官方")
private Integer modelType;
}

View File

@ -61,4 +61,9 @@ public class ModelAssessTaskManualDO extends BaseDO {
*/
private Integer progress;
/**
* 模型类型
*/
private Integer modelType;
}

View File

@ -138,8 +138,13 @@ public class DatasetServiceImpl implements DatasetService {
}
}
private void validateDatasetNameExists(DatasetSaveReqVO dateReqVO){
List<DatasetDO> datasetDOS = datasetMapper.selectList(new LambdaQueryWrapper<DatasetDO>()
.eq(DatasetDO::getDatasetName, dateReqVO.getDatasetName()));
LambdaQueryWrapper<DatasetDO> wrapper = new LambdaQueryWrapper<DatasetDO>()
.eq(DatasetDO::getDatasetName, dateReqVO.getDatasetName());
if (dateReqVO.getId() != null){
wrapper.ne(DatasetDO::getId, dateReqVO.getId());
}
List<DatasetDO> datasetDOS = datasetMapper.selectList(wrapper);
if (CollectionUtils.isNotEmpty(datasetDOS)){
throw exception(DATASET_NAME_EXISTS);
}

View File

@ -3,12 +3,14 @@ package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo.ModelAssessTaskManualBackupSaveReqVO;
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.modelassessstoplist.ModelAssessStoplistDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnnoDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO;
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 cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnnoMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessDimensionMapper;
@ -69,9 +71,12 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
private ModelAssessTaskManualBackupService modelAssessTaskManualBackupService;
@Resource
private ManualModelAnnoMapper manualModelAnnoMapper;
@Resource
private BaseModelMapper baseModelMapper;
@Override
public Long createModelAssessTaskManual(ModelAssessTaskManualSaveReqVO createReqVO) {
validateModelAssessTaskManualNameExists(createReqVO);
// 插入
ModelAssessTaskManualDO modelAssessTaskManual = BeanUtils.toBean(createReqVO, ModelAssessTaskManualDO.class);
modelAssessTaskManual.setStatus(3);
@ -92,6 +97,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
@Override
public void updateModelAssessTaskManual(ModelAssessTaskManualSaveReqVO updateReqVO) {
// 校验存在
validateModelAssessTaskManualNameExists(updateReqVO);
validateModelAssessTaskManualExists(updateReqVO.getId());
// 更新
ModelAssessTaskManualDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskManualDO.class);
@ -131,6 +137,17 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
throw exception(MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS);
}
}
private void validateModelAssessTaskManualNameExists(ModelAssessTaskManualSaveReqVO reqVO) {
LambdaQueryWrapper<ModelAssessTaskManualDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskManualDO>()
.eq(ModelAssessTaskManualDO::getTaskName, reqVO.getTaskName());
if (reqVO.getId() != null){
wrapper.ne(ModelAssessTaskManualDO::getId, reqVO.getId());
}
List<ModelAssessTaskManualDO> modelAssessTaskManualDOS = modelAssessTaskManualMapper.selectList(wrapper);
if (!CollectionUtils.isEmpty(modelAssessTaskManualDOS)){
throw exception(MODEL_ASSESS_TASK_MANUAL_NAME_EXISTS);
}
}
@Override
public ModelAssessTaskManualRespVO getModelAssessTaskManual(Long id) {
@ -158,9 +175,16 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
);
}
result.setDimensions(modelAssessTaskDimensionRespVOS);
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(modelAssessTaskManual.getModelService());
if (modelServiceDO != null){
result.setModelServiceName(modelServiceDO.getServiceName());
if (modelAssessTaskManual.getModelType() == 0){
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(modelAssessTaskManual.getModelService());
if (modelServiceDO != null){
result.setModelServiceName(modelServiceDO.getServiceName());
}
}else {
BaseModelDO baseModelDO = baseModelMapper.selectById(modelAssessTaskManual.getModelService());
if (baseModelDO != null){
result.setModelServiceName(baseModelDO.getModelName());
}
}
DatasetDO datasetDO = datasetMapper.selectById(modelAssessTaskManual.getDataset());
if (datasetDO != null){
@ -174,17 +198,35 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
PageResult<ModelAssessTaskManualDO> modelAssessTaskManualDOPageResult = modelAssessTaskManualMapper.selectPage(pageReqVO);
PageResult<ModelAssessTaskManualRespVO> result = BeanUtils.toBean(modelAssessTaskManualDOPageResult, ModelAssessTaskManualRespVO.class);
if (CollectionUtils.isNotEmpty(result.getList())){
List<Long> serviceIds = modelAssessTaskManualDOPageResult.getList().stream().map(ModelAssessTaskManualDO::getModelService).collect(Collectors.toList());
LambdaQueryWrapper<ModelServiceDO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ModelServiceDO::getId,serviceIds);
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(wrapper);
Map<Long, ModelServiceDO> longModelServiceDOMap = cn.iocoder.yudao.framework.common.util.collection.
// 我的模型获取校验
List<Long> serviceMyIds = modelAssessTaskManualDOPageResult.getList().stream().
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 0)
.map(ModelAssessTaskManualDO::getModelService).collect(Collectors.toList());
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(new LambdaQueryWrapper<ModelServiceDO>()
.in(ModelServiceDO::getId,serviceMyIds));
Map<Long, ModelServiceDO> serviceMyMaps = cn.iocoder.yudao.framework.common.util.collection.
CollectionUtils.convertMap(modelServiceDOS, ModelServiceDO::getId);
// 人工模型获取校验
List<Long> serviceForeseeIds = modelAssessTaskManualDOPageResult.getList().stream().
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 1)
.map(ModelAssessTaskManualDO::getModelService).collect(Collectors.toList());
List<BaseModelDO> baseModelDOS = baseModelMapper.selectList(new LambdaQueryWrapper<BaseModelDO>()
.in(BaseModelDO::getId, serviceForeseeIds));
Map<Long, BaseModelDO> serviceForeseeMaps = cn.iocoder.yudao.framework.common.util.collection.
CollectionUtils.convertMap(baseModelDOS, BaseModelDO::getId);
result.getList().stream().forEach(modelAssessTaskManualRespVO -> {
ModelServiceDO modelServiceDO = longModelServiceDOMap.get(modelAssessTaskManualRespVO.getModelService());
if(modelServiceDO != null){
modelAssessTaskManualRespVO.setModelServiceName(modelServiceDO.getServiceName());
if (modelAssessTaskManualRespVO.getModelType() == 0){
ModelServiceDO modelServiceDO = serviceMyMaps.get(modelAssessTaskManualRespVO.getModelService());
if(modelServiceDO != null){
modelAssessTaskManualRespVO.setModelServiceName(modelServiceDO.getServiceName());
}
}else {
BaseModelDO baseModelDO = serviceForeseeMaps.get(modelAssessTaskManualRespVO.getModelService());
if(baseModelDO != null){
modelAssessTaskManualRespVO.setModelServiceName(baseModelDO.getModelName());
}
}
});
}
return result;