[update] 删除模型服务校验人工评估
This commit is contained in:
parent
545551bec7
commit
b04430cf09
@ -67,4 +67,12 @@ public interface ModelAssessTaskManualService {
|
||||
* @return 人工评估
|
||||
*/
|
||||
Map<Long, String> getModelAssessmentTaskByModelId (Long baseModelId);
|
||||
|
||||
/**
|
||||
* 根据 模型服务id 获取 人工评估
|
||||
*
|
||||
* @param modelServiceId 模型服务id
|
||||
* @return 人工评估
|
||||
*/
|
||||
Map<Long, String> getModelAssessmentTaskByModelServiceId (Long modelServiceId);
|
||||
}
|
||||
|
@ -1,53 +1,44 @@
|
||||
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.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*;
|
||||
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.finetuningtask.FineTuningTaskDO;
|
||||
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.ManualModelAnswerDO;
|
||||
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.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO;
|
||||
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.ManualModelAnswerMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessDimensionMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.enums.FinetuningTaskStatusEnum;
|
||||
import cn.iocoder.yudao.module.llm.service.async.AsyncModelAccessManualService;
|
||||
import cn.iocoder.yudao.module.llm.service.dataset.DatasetQuestionService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup.ModelAssessTaskManualBackupService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
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 javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskManualMapper;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.MODEL_ASSESS_TASK_MANUAL_NAME_EXISTS;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 模型评估任务 —— 人工评估 Service 实现类
|
||||
@ -83,17 +74,17 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
private ManualModelAnswerMapper manualModelAnswerMapper;
|
||||
|
||||
@Override
|
||||
public Long createModelAssessTaskManual(ModelAssessTaskManualSaveReqVO createReqVO) {
|
||||
public Long createModelAssessTaskManual (ModelAssessTaskManualSaveReqVO createReqVO) {
|
||||
validateModelAssessTaskManualNameExists(createReqVO);
|
||||
// 插入
|
||||
ModelAssessTaskManualDO modelAssessTaskManual = BeanUtils.toBean(createReqVO, ModelAssessTaskManualDO.class);
|
||||
modelAssessTaskManual.setStatus(3);
|
||||
modelAssessTaskManualMapper.insert(modelAssessTaskManual);
|
||||
List<ModelAssessTaskDimensionSaveReqVO> dimensions = createReqVO.getDimensions();
|
||||
if (!CollectionUtils.isEmpty(dimensions)){
|
||||
if (!CollectionUtils.isEmpty(dimensions)) {
|
||||
dimensions.stream().forEach(dimension -> {
|
||||
dimension.setTaskId(modelAssessTaskManual.getId());
|
||||
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class);
|
||||
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension, ModelAssessTaskDimensionDO.class);
|
||||
modelAssessTaskDimensionMapper.insert(modelAssessTaskDimensionDO);
|
||||
});
|
||||
}
|
||||
@ -103,7 +94,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateModelAssessTaskManual(ModelAssessTaskManualSaveReqVO updateReqVO) {
|
||||
public void updateModelAssessTaskManual (ModelAssessTaskManualSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateModelAssessTaskManualNameExists(updateReqVO);
|
||||
validateModelAssessTaskManualExists(updateReqVO.getId());
|
||||
@ -130,35 +121,36 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteModelAssessTaskManual(Long id) {
|
||||
public void deleteModelAssessTaskManual (Long id) {
|
||||
// 校验存在
|
||||
validateModelAssessTaskManualExists(id);
|
||||
LambdaUpdateWrapper<ModelAssessTaskManualDO> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(ModelAssessTaskManualDO::getId, id);
|
||||
wrapper.set(ModelAssessTaskManualDO::getDeleted,true);
|
||||
wrapper.set(ModelAssessTaskManualDO::getDeleted, true);
|
||||
// 删除
|
||||
modelAssessTaskManualMapper.update(null, wrapper);
|
||||
}
|
||||
|
||||
private void validateModelAssessTaskManualExists(Long id) {
|
||||
private void validateModelAssessTaskManualExists (Long id) {
|
||||
if (modelAssessTaskManualMapper.selectById(id) == null) {
|
||||
throw exception(MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
private void validateModelAssessTaskManualNameExists(ModelAssessTaskManualSaveReqVO reqVO) {
|
||||
|
||||
private void validateModelAssessTaskManualNameExists (ModelAssessTaskManualSaveReqVO reqVO) {
|
||||
LambdaQueryWrapper<ModelAssessTaskManualDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskManualDO>()
|
||||
.eq(ModelAssessTaskManualDO::getTaskName, reqVO.getTaskName());
|
||||
if (reqVO.getId() != null){
|
||||
if (reqVO.getId() != null) {
|
||||
wrapper.ne(ModelAssessTaskManualDO::getId, reqVO.getId());
|
||||
}
|
||||
List<ModelAssessTaskManualDO> modelAssessTaskManualDOS = modelAssessTaskManualMapper.selectList(wrapper);
|
||||
if (!CollectionUtils.isEmpty(modelAssessTaskManualDOS)){
|
||||
if (!CollectionUtils.isEmpty(modelAssessTaskManualDOS)) {
|
||||
throw exception(MODEL_ASSESS_TASK_MANUAL_NAME_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAssessTaskManualRespVO getModelAssessTaskManual(Long id) {
|
||||
public ModelAssessTaskManualRespVO getModelAssessTaskManual (Long id) {
|
||||
ModelAssessTaskManualDO modelAssessTaskManual = modelAssessTaskManualMapper.selectById(id);
|
||||
ModelAssessTaskManualRespVO result = BeanUtils.toBean(modelAssessTaskManual, ModelAssessTaskManualRespVO.class);
|
||||
List<ModelAssessTaskDimensionDO> modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(new LambdaQueryWrapper<ModelAssessTaskDimensionDO>()
|
||||
@ -168,7 +160,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
// 提取id
|
||||
List<Long> dimensionIds = modelAssessTaskDimensionDOS.stream().map(ModelAssessTaskDimensionDO::getDimensionId).collect(Collectors.toList());
|
||||
// 查询模型评估维度 将维度名称返回
|
||||
if (!CollectionUtils.isEmpty(dimensionIds)){
|
||||
if (!CollectionUtils.isEmpty(dimensionIds)) {
|
||||
List<ModelAssessDimensionDO> modelAssessDimensionDOS = modelAssessDimensionMapper.selectList(new LambdaQueryWrapper<ModelAssessDimensionDO>()
|
||||
.in(ModelAssessDimensionDO::getId, dimensionIds));
|
||||
Map<Long, ModelAssessDimensionDO> longModelDimesionDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
@ -176,38 +168,38 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
modelAssessTaskDimensionRespVOS.stream().forEach(
|
||||
modelAssessTaskDimensionRespVO -> {
|
||||
ModelAssessDimensionDO modelAssessDimensionDO = longModelDimesionDOMap.get(modelAssessTaskDimensionRespVO.getDimensionId());
|
||||
if (modelAssessDimensionDO != null){
|
||||
if (modelAssessDimensionDO != null) {
|
||||
modelAssessTaskDimensionRespVO.setDimensionName(modelAssessDimensionDO.getDimension());
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
result.setDimensions(modelAssessTaskDimensionRespVOS);
|
||||
if (modelAssessTaskManual.getModelType() == 0){
|
||||
if (modelAssessTaskManual.getModelType() == 0) {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(modelAssessTaskManual.getModelService());
|
||||
if (modelServiceDO != null){
|
||||
if (modelServiceDO != null) {
|
||||
result.setModelServiceName(modelServiceDO.getServiceName());
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
BaseModelDO baseModelDO = baseModelMapper.selectById(modelAssessTaskManual.getModelService());
|
||||
if (baseModelDO != null){
|
||||
if (baseModelDO != null) {
|
||||
result.setModelServiceName(baseModelDO.getModelName());
|
||||
}
|
||||
}
|
||||
DatasetDO datasetDO = datasetMapper.selectById(modelAssessTaskManual.getDataset());
|
||||
if (datasetDO != null){
|
||||
if (datasetDO != null) {
|
||||
result.setDatasetName(datasetDO.getDatasetName());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelAssessTaskManualRespVO> getModelAssessTaskManualPage1(ModelAssessTaskManualPageReqVO pageReqVO) {
|
||||
public PageResult<ModelAssessTaskManualRespVO> getModelAssessTaskManualPage1 (ModelAssessTaskManualPageReqVO pageReqVO) {
|
||||
PageResult<ModelAssessTaskManualDO> modelAssessTaskManualDOPageResult = modelAssessTaskManualMapper.selectPage(pageReqVO);
|
||||
PageResult<ModelAssessTaskManualRespVO> result = BeanUtils.toBean(modelAssessTaskManualDOPageResult, ModelAssessTaskManualRespVO.class);
|
||||
if (CollectionUtils.isNotEmpty(result.getList())){
|
||||
if (CollectionUtils.isNotEmpty(result.getList())) {
|
||||
// 我的模型获取校验
|
||||
List<Long> serviceMyIds = modelAssessTaskManualDOPageResult.getList().stream().
|
||||
List<Long> serviceMyIds = modelAssessTaskManualDOPageResult.getList().stream().
|
||||
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 0)
|
||||
.map(ModelAssessTaskManualDO::getModelService).collect(Collectors.toList());
|
||||
List<ModelServiceDO> modelServiceDOS = new ArrayList<>();
|
||||
@ -218,7 +210,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
Map<Long, ModelServiceDO> serviceMyMaps = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(modelServiceDOS, ModelServiceDO::getId);
|
||||
// 人工模型获取校验
|
||||
List<Long> serviceForeseeIds = modelAssessTaskManualDOPageResult.getList().stream().
|
||||
List<Long> serviceForeseeIds = modelAssessTaskManualDOPageResult.getList().stream().
|
||||
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 1)
|
||||
.map(ModelAssessTaskManualDO::getModelService).collect(Collectors.toList());
|
||||
List<BaseModelDO> baseModelDOS = new ArrayList<>();
|
||||
@ -229,14 +221,14 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
Map<Long, BaseModelDO> serviceForeseeMaps = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(baseModelDOS, BaseModelDO::getId);
|
||||
result.getList().stream().forEach(modelAssessTaskManualRespVO -> {
|
||||
if (modelAssessTaskManualRespVO.getModelType() == 0){
|
||||
if (modelAssessTaskManualRespVO.getModelType() == 0) {
|
||||
ModelServiceDO modelServiceDO = serviceMyMaps.get(modelAssessTaskManualRespVO.getModelService());
|
||||
if(modelServiceDO != null){
|
||||
if (modelServiceDO != null) {
|
||||
modelAssessTaskManualRespVO.setModelServiceName(modelServiceDO.getServiceName());
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
BaseModelDO baseModelDO = serviceForeseeMaps.get(modelAssessTaskManualRespVO.getModelService());
|
||||
if(baseModelDO != null){
|
||||
if (baseModelDO != null) {
|
||||
modelAssessTaskManualRespVO.setModelServiceName(baseModelDO.getModelName());
|
||||
}
|
||||
}
|
||||
@ -245,16 +237,17 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelAssessTaskManualDO> getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO) {
|
||||
public PageResult<ModelAssessTaskManualDO> getModelAssessTaskManualPage (ModelAssessTaskManualPageReqVO pageReqVO) {
|
||||
return modelAssessTaskManualMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void backupModelAssessTaskManual(Long id) {
|
||||
public void backupModelAssessTaskManual (Long id) {
|
||||
ModelAssessTaskManualDO modelDo = modelAssessTaskManualMapper.selectById(id);
|
||||
if(modelDo == null) {
|
||||
if (modelDo == null) {
|
||||
throw exception(MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS);
|
||||
}
|
||||
this.modelAssessTaskManualBackupService.isBackup(id);
|
||||
@ -270,7 +263,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unBackup(Long id) {
|
||||
public void unBackup (Long id) {
|
||||
ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectById(id);
|
||||
this.modelAssessTaskManualBackupService.unBackup(modelAssessTaskManualDO.getBackupId());
|
||||
modelAssessTaskManualDO.setBackupId(0L);
|
||||
@ -278,51 +271,76 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 基础模型id 获取 人工评估
|
||||
* 通用的根据条件查询 ModelAssessTaskManualDO 列表并转换为 Map 的方法
|
||||
*
|
||||
* @param baseModelId 基础模型id
|
||||
* @return 人工评估
|
||||
* @param condition 条件,使用 BiFunction 接收 LambdaQueryWrapper 和参数并设置条件
|
||||
* @param keyMapper ApplicationDO 对象映射为 Map 的键
|
||||
* @param valueMapper ApplicationDO 对象映射为 Map 的值
|
||||
* @param param 查询参数数组
|
||||
* @return 人工评估的 Map 集合
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getModelAssessmentTaskByModelId (Long baseModelId) {
|
||||
if (baseModelId == null){
|
||||
private Map<Long, String> getModelAssessmentTaskMap(BiFunction<LambdaQueryWrapper<ModelAssessTaskManualDO>, Long, LambdaQueryWrapper<ModelAssessTaskManualDO>> condition, Function<ModelAssessTaskManualDO, Long> keyMapper, Function<ModelAssessTaskManualDO, String> valueMapper, Long param) {
|
||||
if (param == null) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
List<ModelAssessTaskManualDO> modelAssessTaskManualDOS = modelAssessTaskManualMapper.selectList(new LambdaQueryWrapper<ModelAssessTaskManualDO>()
|
||||
.eq(ModelAssessTaskManualDO::getModelService, baseModelId)
|
||||
// 2:进行中,3推理中
|
||||
.in(ModelAssessTaskManualDO::getStatus, 2, 3));
|
||||
LambdaQueryWrapper<ModelAssessTaskManualDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper = condition.apply(queryWrapper, param);
|
||||
queryWrapper.in(ModelAssessTaskManualDO::getStatus, 2, 3);
|
||||
|
||||
System.out.println(JSON.toJSON(modelAssessTaskManualDOS));
|
||||
if (CollectionUtils.isNotEmpty(modelAssessTaskManualDOS)){
|
||||
return modelAssessTaskManualDOS.stream().collect(Collectors.toMap(ModelAssessTaskManualDO::getId, ModelAssessTaskManualDO::getTaskName));
|
||||
List<ModelAssessTaskManualDO> modelAssessTaskManualDOS = modelAssessTaskManualMapper.selectList(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(modelAssessTaskManualDOS)) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
return Collections.emptyMap();
|
||||
return modelAssessTaskManualDOS.stream().collect(Collectors.toMap(keyMapper, valueMapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据基础模型 id 获取人工评估
|
||||
*
|
||||
* @param baseModelId 基础模型 id
|
||||
* @return 人工评估的 Map 集合
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getModelAssessmentTaskByModelId(Long baseModelId) {
|
||||
return getModelAssessmentTaskMap((wrapper, id) -> wrapper.eq(ModelAssessTaskManualDO::getModelService, id).eq(ModelAssessTaskManualDO::getModelType, 1),
|
||||
ModelAssessTaskManualDO::getId, ModelAssessTaskManualDO::getTaskName, baseModelId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模型服务 id 获取人工评估
|
||||
*
|
||||
* @param modelServiceId 模型服务 id
|
||||
* @return 人工评估的 Map 集合
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getModelAssessmentTaskByModelServiceId(Long modelServiceId) {
|
||||
return getModelAssessmentTaskMap((wrapper, id) -> wrapper.eq(ModelAssessTaskManualDO::getModelService, id).eq(ModelAssessTaskManualDO::getModelType, 0),
|
||||
ModelAssessTaskManualDO::getId, ModelAssessTaskManualDO::getTaskName, modelServiceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ManualEvaluationReportRespVO> gitViewTheReportDetails(Long id) {
|
||||
public List<ManualEvaluationReportRespVO> gitViewTheReportDetails (Long id) {
|
||||
List<ManualEvaluationReportRespVO> manualEvaluationReportRespVOS = new ArrayList<>();
|
||||
LambdaQueryWrapper<ManualModelAnswerDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ManualModelAnswerDO::getManalTaskId,id)
|
||||
.eq(ManualModelAnswerDO::getStatus,2)
|
||||
wrapper.eq(ManualModelAnswerDO::getManalTaskId, id)
|
||||
.eq(ManualModelAnswerDO::getStatus, 2)
|
||||
.isNotNull(ManualModelAnswerDO::getReqRespVos);
|
||||
List<ManualModelAnswerDO> manualModelAnswerDOS = manualModelAnswerMapper.selectList(wrapper);
|
||||
// 获取维度
|
||||
List<String> collect =new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(manualModelAnswerDOS)){
|
||||
List<String> collect = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(manualModelAnswerDOS)) {
|
||||
List<LabelInformationVO> bean = BeanUtils.toBean(manualModelAnswerDOS.get(0).getReqRespVos(), LabelInformationVO.class);
|
||||
collect = bean.stream().map(LabelInformationVO::getLabel).collect(Collectors.toList());
|
||||
}
|
||||
List<LabelInformationVO> labelInformationVOS = new ArrayList<>();
|
||||
for (ManualModelAnswerDO manualModelAnswerDO : manualModelAnswerDOS){
|
||||
for (ManualModelAnswerDO manualModelAnswerDO : manualModelAnswerDOS) {
|
||||
List<LabelInformationVO> bean = BeanUtils.toBean(manualModelAnswerDO.getReqRespVos(), LabelInformationVO.class);
|
||||
labelInformationVOS.addAll(bean);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(labelInformationVOS)){
|
||||
if (CollectionUtils.isNotEmpty(labelInformationVOS)) {
|
||||
// 计算平均分
|
||||
double average = labelInformationVOS.stream().mapToDouble(LabelInformationVO::getScore).average().getAsDouble();
|
||||
double score = average * 50.0;
|
||||
@ -333,7 +351,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
reportRespVO.setScore(bd);
|
||||
reportRespVO.setPercent(v);
|
||||
manualEvaluationReportRespVOS.add(reportRespVO);
|
||||
for (String collect1 : collect){
|
||||
for (String collect1 : collect) {
|
||||
List<LabelInformationVO> voList = labelInformationVOS.stream().filter(manualModelAnswerDO -> manualModelAnswerDO.getLabel().equals(collect1)).collect(Collectors.toList());
|
||||
ManualEvaluationReportRespVO reportRespVO1 = new ManualEvaluationReportRespVO();
|
||||
reportRespVO1.setDimension(collect1);
|
||||
@ -345,9 +363,9 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
reportRespVO1.setZeroPercent(new BigDecimal(zeroPercent).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
long count1 = voList.stream().filter(manualModelAnswerDO -> manualModelAnswerDO.getScore() == 1).count();
|
||||
long count2 = voList.stream().filter(manualModelAnswerDO -> manualModelAnswerDO.getScore() == 2).count();
|
||||
double onePercent = (double)count1 / voList.size() * 100.0;
|
||||
double onePercent = (double) count1 / voList.size() * 100.0;
|
||||
reportRespVO1.setOnePercent(new BigDecimal(onePercent).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
double twoPercent = (double)count2 / voList.size() * 100.0;
|
||||
double twoPercent = (double) count2 / voList.size() * 100.0;
|
||||
reportRespVO1.setTwoPercent(new BigDecimal(twoPercent).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
manualEvaluationReportRespVOS.add(reportRespVO1);
|
||||
}
|
||||
|
@ -142,7 +142,8 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
|
||||
// 校验 基座模型 是否在 应用中心 有使用
|
||||
validateModelUsesInApplicationCenter(id, modelName);
|
||||
|
||||
// 校验 基座模型 是否在 模型评估任务-人工 有使用 (是否为进行中)
|
||||
validateModelUsesInModelAssessTaskManual(id, modelName);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -159,7 +160,20 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 校验模型是否在 模型评估任务-人工 有使用
|
||||
*
|
||||
* @param id 模型ID
|
||||
* @param modelName 模型名称
|
||||
*/
|
||||
private void validateModelUsesInModelAssessTaskManual (Long id, String modelName) {
|
||||
Map<Long, String> modelAssessmentTask = modelAssessTaskManualService.getModelAssessmentTaskByModelServiceId(id);
|
||||
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(modelAssessmentTask)) {
|
||||
String msg = String.format("模型【%s】在模型评估-人工评估 %s 有正在进行的任务,请先结束任务", modelName, modelAssessmentTask.values());
|
||||
throw exception(new ErrorCode(10003_002, msg));
|
||||
}
|
||||
}
|
||||
|
||||
private void validateModelServiceExists(Long id) {
|
||||
if (modelServiceMapper.selectById(id) == null) {
|
||||
throw exception(MODEL_SERVICE_NOT_EXISTS);
|
||||
|
Loading…
x
Reference in New Issue
Block a user