[update] 删除模型服务校验自动评估
This commit is contained in:
parent
b04430cf09
commit
5bdc8fc8d5
@ -1,11 +1,13 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskauto;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskAutoPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskAutoRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskAutoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 模型评估任务 —— 自动评估 Service 接口
|
||||
@ -20,21 +22,21 @@ public interface ModelAssessTaskAutoService {
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createModelAssessTaskAuto(@Valid ModelAssessTaskAutoSaveReqVO createReqVO);
|
||||
Long createModelAssessTaskAuto (@Valid ModelAssessTaskAutoSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新模型评估任务 —— 自动评估
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateModelAssessTaskAuto(@Valid ModelAssessTaskAutoSaveReqVO updateReqVO);
|
||||
void updateModelAssessTaskAuto (@Valid ModelAssessTaskAutoSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除模型评估任务 —— 自动评估
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteModelAssessTaskAuto(Long id);
|
||||
void deleteModelAssessTaskAuto (Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估任务 —— 自动评估
|
||||
@ -42,7 +44,7 @@ public interface ModelAssessTaskAutoService {
|
||||
* @param id 编号
|
||||
* @return 模型评估任务 —— 自动评估
|
||||
*/
|
||||
ModelAssessTaskAutoRespVO getModelAssessTaskAuto(Long id);
|
||||
ModelAssessTaskAutoRespVO getModelAssessTaskAuto (Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估任务 —— 自动评估分页
|
||||
@ -50,13 +52,13 @@ public interface ModelAssessTaskAutoService {
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 模型评估任务 —— 自动评估分页
|
||||
*/
|
||||
PageResult<ModelAssessTaskAutoDO> getModelAssessTaskAutoPage(ModelAssessTaskAutoPageReqVO pageReqVO);
|
||||
PageResult<ModelAssessTaskAutoDO> getModelAssessTaskAutoPage (ModelAssessTaskAutoPageReqVO pageReqVO);
|
||||
|
||||
PageResult<ModelAssessTaskAutoRespVO> getModelAssessTaskAutoPage1(ModelAssessTaskAutoPageReqVO pageReqVO);
|
||||
PageResult<ModelAssessTaskAutoRespVO> getModelAssessTaskAutoPage1 (ModelAssessTaskAutoPageReqVO pageReqVO);
|
||||
|
||||
void dataBackup(Long id);
|
||||
void dataBackup (Long id);
|
||||
|
||||
void cancelTheBackUp(Long id);
|
||||
void cancelTheBackUp (Long id);
|
||||
|
||||
/**
|
||||
* 根据 基础模型id 获取 自动评估
|
||||
@ -65,4 +67,12 @@ public interface ModelAssessTaskAutoService {
|
||||
* @return 自动评估
|
||||
*/
|
||||
Map<Long, String> getModelAssessmentTaskByModelId (Long baseModelId);
|
||||
|
||||
/**
|
||||
* 根据 模型服务id 获取 自动评估
|
||||
*
|
||||
* @param modelServiceId 模型服务id
|
||||
* @return 自动评估
|
||||
*/
|
||||
Map<Long, String> getModelAssessmentTaskByModelServiceId (Long modelServiceId);
|
||||
}
|
||||
|
@ -1,52 +1,47 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskauto;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualRespVO;
|
||||
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.modelassesstaskauto.vo.*;
|
||||
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.modelassesstaskauto.ModelAssessTaskAutoBackupDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistBackupDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskautoinfo.ModelAssessTaskAutoInfoDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
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.modelassessstoplist.ModelAssessStoplistMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskAutoBackupMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskAutoMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskStoplistBackupMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskStoplistMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
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.modelassesstaskautoinfo.ModelAssessTaskAutoInfoBackupService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskautoinfo.ModelAssessTaskAutoInfoService;
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
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 java.util.*;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
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 cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO;
|
||||
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.modelassesstaskauto.ModelAssessTaskAutoMapper;
|
||||
|
||||
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_AUTO_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.MODEL_ASSESS_TASK_STOPLIST_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 模型评估任务 —— 自动评估 Service 实现类
|
||||
@ -81,10 +76,8 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
private ModelAssessStoplistMapper modelAssessStoplistMapper;
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Long createModelAssessTaskAuto(ModelAssessTaskAutoSaveReqVO createReqVO) {
|
||||
public Long createModelAssessTaskAuto (ModelAssessTaskAutoSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
ModelAssessTaskAutoDO modelAssessTaskAuto = BeanUtils.toBean(createReqVO, ModelAssessTaskAutoDO.class);
|
||||
modelAssessTaskAuto.setStatus(3);
|
||||
@ -92,53 +85,52 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
String dimensions = String.join(",", dimension);
|
||||
modelAssessTaskAuto.setDimension(dimensions);
|
||||
LambdaUpdateWrapper<ModelAssessTaskAutoDO> eq = new LambdaUpdateWrapper<ModelAssessTaskAutoDO>().eq(ModelAssessTaskAutoDO::getTaskName, createReqVO.getTaskName());
|
||||
if (modelAssessTaskAutoMapper.selectCount(eq) > 0){
|
||||
throw exception(new ErrorCode(11000,"任务名称重复"));
|
||||
if (modelAssessTaskAutoMapper.selectCount(eq) > 0) {
|
||||
throw exception(new ErrorCode(11000, "任务名称重复"));
|
||||
}
|
||||
modelAssessTaskAutoMapper.insert(modelAssessTaskAuto);
|
||||
List<ModelAssessTaskStoplistSaveReqVO> stoplists = createReqVO.getStoplists();
|
||||
if (!CollectionUtils.isEmpty(stoplists)){
|
||||
if (!CollectionUtils.isEmpty(stoplists)) {
|
||||
stoplists.stream().forEach(stoplist -> {
|
||||
stoplist.setTaskId(modelAssessTaskAuto.getId());
|
||||
ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist,ModelAssessTaskStoplistDO.class);
|
||||
ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist, ModelAssessTaskStoplistDO.class);
|
||||
modelingTaskStoplistMapper.insert(modelAssessTaskStoplistDO);
|
||||
});
|
||||
}
|
||||
|
||||
asyncModelAccessManualService.auto(modelAssessTaskAuto,stoplists);
|
||||
asyncModelAccessManualService.auto(modelAssessTaskAuto, stoplists);
|
||||
// 返回
|
||||
return modelAssessTaskAuto.getId();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void updateModelAssessTaskAuto(ModelAssessTaskAutoSaveReqVO updateReqVO) {
|
||||
public void updateModelAssessTaskAuto (ModelAssessTaskAutoSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateModelAssessTaskAutoExists(updateReqVO.getId());
|
||||
// 更新
|
||||
ModelAssessTaskAutoDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskAutoDO.class);
|
||||
List<ModelAssessTaskStoplistSaveReqVO> stoplists = updateReqVO.getStoplists();
|
||||
if (!CollectionUtils.isEmpty(stoplists)){
|
||||
List<Long> stopIds = stoplists.stream().filter(stoplist -> stoplist.getId() != null)
|
||||
.map(stoplist -> stoplist.getId()).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ModelAssessTaskStoplistDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskStoplistDO>();
|
||||
wrapper.eq(ModelAssessTaskStoplistDO::getTaskId,updateReqVO.getId());
|
||||
if (!CollectionUtils.isEmpty(stopIds)){
|
||||
wrapper.notIn(ModelAssessTaskStoplistDO::getId,stopIds);
|
||||
}
|
||||
modelingTaskStoplistMapper.delete(wrapper);
|
||||
stoplists.stream().forEach(stoplist -> {
|
||||
// stoplist.setTaskId(updateObj.getId());
|
||||
ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist,ModelAssessTaskStoplistDO.class);
|
||||
modelingTaskStoplistMapper.insertOrUpdate(modelAssessTaskStoplistDO);
|
||||
});
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(stoplists)) {
|
||||
List<Long> stopIds = stoplists.stream().filter(stoplist -> stoplist.getId() != null)
|
||||
.map(stoplist -> stoplist.getId()).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ModelAssessTaskStoplistDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskStoplistDO>();
|
||||
wrapper.eq(ModelAssessTaskStoplistDO::getTaskId, updateReqVO.getId());
|
||||
if (!CollectionUtils.isEmpty(stopIds)) {
|
||||
wrapper.notIn(ModelAssessTaskStoplistDO::getId, stopIds);
|
||||
}
|
||||
modelingTaskStoplistMapper.delete(wrapper);
|
||||
stoplists.stream().forEach(stoplist -> {
|
||||
// stoplist.setTaskId(updateObj.getId());
|
||||
ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist, ModelAssessTaskStoplistDO.class);
|
||||
modelingTaskStoplistMapper.insertOrUpdate(modelAssessTaskStoplistDO);
|
||||
});
|
||||
}
|
||||
modelAssessTaskAutoMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteModelAssessTaskAuto(Long id) {
|
||||
public void deleteModelAssessTaskAuto (Long id) {
|
||||
// 校验存在
|
||||
validateModelAssessTaskAutoExists(id);
|
||||
LambdaUpdateWrapper<ModelAssessTaskAutoDO> wrapper = new LambdaUpdateWrapper<>();
|
||||
@ -148,16 +140,16 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
modelAssessTaskAutoMapper.update(null, wrapper);
|
||||
}
|
||||
|
||||
private void validateModelAssessTaskAutoExists(Long id) {
|
||||
private void validateModelAssessTaskAutoExists (Long id) {
|
||||
if (modelAssessTaskAutoMapper.selectById(id) == null) {
|
||||
throw exception(MODEL_ASSESS_TASK_AUTO_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAssessTaskAutoRespVO getModelAssessTaskAuto(Long id) {
|
||||
public ModelAssessTaskAutoRespVO getModelAssessTaskAuto (Long id) {
|
||||
ModelAssessTaskAutoDO modelAssessTaskAutoDO = modelAssessTaskAutoMapper.selectById(id);
|
||||
ModelAssessTaskAutoRespVO result = BeanUtils.toBean(modelAssessTaskAutoDO, ModelAssessTaskAutoRespVO.class);
|
||||
ModelAssessTaskAutoRespVO result = BeanUtils.toBean(modelAssessTaskAutoDO, ModelAssessTaskAutoRespVO.class);
|
||||
String dimension = modelAssessTaskAutoDO.getDimension();
|
||||
List<String> list = Arrays.asList(dimension.split(","));
|
||||
result.setDimension(list);
|
||||
@ -168,64 +160,65 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
List<ModelAssessTaskStoplistRespVO> stoplistRespVOS = BeanUtils.toBean(modelAssessTaskStoplistDOS, ModelAssessTaskStoplistRespVO.class);
|
||||
// 提取id
|
||||
List<Long> stoplistIds = modelAssessTaskStoplistDOS.stream().map(ModelAssessTaskStoplistDO::getStoplistId).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(stoplistIds)){
|
||||
if (!CollectionUtils.isEmpty(stoplistIds)) {
|
||||
// 查询停用词表 将词表word返回
|
||||
LambdaQueryWrapper<ModelAssessStoplistDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ModelAssessStoplistDO::getId,stoplistIds);
|
||||
wrapper.in(ModelAssessStoplistDO::getId, stoplistIds);
|
||||
List<ModelAssessStoplistDO> modelAssessStoplistDOs = modelAssessStoplistMapper.selectList(wrapper);
|
||||
Map<Long, ModelAssessStoplistDO> longModelServiceDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(modelAssessStoplistDOs, ModelAssessStoplistDO::getId);
|
||||
stoplistRespVOS.stream().forEach(stoplistRespVO -> {
|
||||
ModelAssessStoplistDO modelAssessStoplistDO = longModelServiceDOMap.get(stoplistRespVO.getStoplistId());
|
||||
if(modelAssessStoplistDO != null){
|
||||
if (modelAssessStoplistDO != null) {
|
||||
stoplistRespVO.setStoplistName(modelAssessStoplistDO.getWord());
|
||||
}
|
||||
});
|
||||
}
|
||||
result.setStoplists(stoplistRespVOS);
|
||||
|
||||
if(modelAssessTaskAutoDO.getModelType() == 0){
|
||||
if (modelAssessTaskAutoDO.getModelType() == 0) {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(modelAssessTaskAutoDO.getModelService());
|
||||
if (modelServiceDO != null){
|
||||
if (modelServiceDO != null) {
|
||||
result.setModelServiceName(modelServiceDO.getServiceName());
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
BaseModelDO baseModelDO = baseModelMapper.selectById(modelAssessTaskAutoDO.getModelService());
|
||||
if (baseModelDO != null){
|
||||
if (baseModelDO != null) {
|
||||
result.setModelServiceName(baseModelDO.getModelName());
|
||||
}
|
||||
}
|
||||
DatasetDO datasetDO = datasetMapper.selectById(modelAssessTaskAutoDO.getDataset());
|
||||
if (datasetDO != null){
|
||||
if (datasetDO != null) {
|
||||
result.setDatasetName(datasetDO.getDatasetName());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelAssessTaskAutoDO> getModelAssessTaskAutoPage(ModelAssessTaskAutoPageReqVO pageReqVO) {
|
||||
public PageResult<ModelAssessTaskAutoDO> getModelAssessTaskAutoPage (ModelAssessTaskAutoPageReqVO pageReqVO) {
|
||||
return modelAssessTaskAutoMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelAssessTaskAutoRespVO> getModelAssessTaskAutoPage1(ModelAssessTaskAutoPageReqVO pageReqVO) {
|
||||
public PageResult<ModelAssessTaskAutoRespVO> getModelAssessTaskAutoPage1 (ModelAssessTaskAutoPageReqVO pageReqVO) {
|
||||
|
||||
PageResult<ModelAssessTaskAutoDO> modelAssessTaskAutoDOPageResult = modelAssessTaskAutoMapper.selectPage(pageReqVO);
|
||||
PageResult<ModelAssessTaskAutoRespVO> result = BeanUtils.toBean(modelAssessTaskAutoDOPageResult, ModelAssessTaskAutoRespVO.class);
|
||||
if (CollectionUtils.isNotEmpty(result.getList())){
|
||||
if (CollectionUtils.isNotEmpty(result.getList())) {
|
||||
// 我的模型获取校验
|
||||
List<Long> serviceIds = modelAssessTaskAutoDOPageResult.getList().stream().
|
||||
List<Long> serviceIds = modelAssessTaskAutoDOPageResult.getList().stream().
|
||||
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 0)
|
||||
.map(ModelAssessTaskAutoDO::getModelService).collect(Collectors.toList());
|
||||
Map<Long, ModelServiceDO> longModelServiceDOMap = null;
|
||||
if (!CollectionUtils.isEmpty(serviceIds)){
|
||||
LambdaQueryWrapper<ModelServiceDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ModelServiceDO::getId,serviceIds);
|
||||
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(wrapper);
|
||||
longModelServiceDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(modelServiceDOS, ModelServiceDO::getId);
|
||||
if (!CollectionUtils.isEmpty(serviceIds)) {
|
||||
LambdaQueryWrapper<ModelServiceDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ModelServiceDO::getId, serviceIds);
|
||||
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(wrapper);
|
||||
longModelServiceDOMap = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(modelServiceDOS, ModelServiceDO::getId);
|
||||
}
|
||||
// 人工模型获取校验
|
||||
List<Long> serviceForeseeIds = modelAssessTaskAutoDOPageResult.getList().stream().
|
||||
List<Long> serviceForeseeIds = modelAssessTaskAutoDOPageResult.getList().stream().
|
||||
filter(modelAssessTaskManualDO -> modelAssessTaskManualDO.getModelType() == 1)
|
||||
.map(ModelAssessTaskAutoDO::getModelService).collect(Collectors.toList());
|
||||
Map<Long, BaseModelDO> serviceForeseeMaps = null;
|
||||
@ -235,15 +228,15 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
serviceForeseeMaps = cn.iocoder.yudao.framework.common.util.collection.
|
||||
CollectionUtils.convertMap(baseModelDOS, BaseModelDO::getId);
|
||||
}
|
||||
for (ModelAssessTaskAutoRespVO modelAssessTaskManualRespVO : result.getList()){
|
||||
if (modelAssessTaskManualRespVO.getModelType() == 0 && longModelServiceDOMap != null){
|
||||
for (ModelAssessTaskAutoRespVO modelAssessTaskManualRespVO : result.getList()) {
|
||||
if (modelAssessTaskManualRespVO.getModelType() == 0 && longModelServiceDOMap != null) {
|
||||
ModelServiceDO modelServiceDO = longModelServiceDOMap.get(modelAssessTaskManualRespVO.getModelService());
|
||||
if(modelServiceDO != null){
|
||||
if (modelServiceDO != null) {
|
||||
modelAssessTaskManualRespVO.setModelServiceName(modelServiceDO.getServiceName());
|
||||
}
|
||||
}else if (modelAssessTaskManualRespVO.getModelType() == 1 && serviceForeseeMaps != null){
|
||||
} else if (modelAssessTaskManualRespVO.getModelType() == 1 && serviceForeseeMaps != null) {
|
||||
BaseModelDO baseModelDO = serviceForeseeMaps.get(modelAssessTaskManualRespVO.getModelService());
|
||||
if(baseModelDO != null){
|
||||
if (baseModelDO != null) {
|
||||
modelAssessTaskManualRespVO.setModelServiceName(baseModelDO.getModelName());
|
||||
}
|
||||
}
|
||||
@ -254,9 +247,9 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataBackup(Long id) {
|
||||
public void dataBackup (Long id) {
|
||||
ModelAssessTaskAutoDO modelAssessTaskAutoDO = modelAssessTaskAutoMapper.selectById(id);
|
||||
if (modelAssessTaskAutoDO == null){
|
||||
if (modelAssessTaskAutoDO == null) {
|
||||
throw exception(MODEL_ASSESS_TASK_AUTO_NOT_EXISTS);
|
||||
}
|
||||
ModelAssessTaskAutoBackupDO bean = BeanUtils.toBean(modelAssessTaskAutoDO, ModelAssessTaskAutoBackupDO.class);
|
||||
@ -265,7 +258,7 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
modelAssessTaskAutoMapper.updateById(modelAssessTaskAutoDO);
|
||||
|
||||
List<ModelAssessTaskStoplistDO> modelAssessTaskStoplistDOS = modelingTaskStoplistMapper.selectList(new LambdaQueryWrapper<ModelAssessTaskStoplistDO>().eq(ModelAssessTaskStoplistDO::getTaskId, id));
|
||||
if (CollectionUtils.isEmpty(modelAssessTaskStoplistDOS)){
|
||||
if (CollectionUtils.isEmpty(modelAssessTaskStoplistDOS)) {
|
||||
throw exception(MODEL_ASSESS_TASK_STOPLIST_NOT_EXISTS);
|
||||
}
|
||||
List<ModelAssessTaskStoplistBackupDO> bean1 = BeanUtils.toBean(modelAssessTaskStoplistDOS, ModelAssessTaskStoplistBackupDO.class);
|
||||
@ -283,7 +276,7 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelTheBackUp(Long id) {
|
||||
public void cancelTheBackUp (Long id) {
|
||||
modelAssessTaskAutoBackupMapper.delete(new LambdaQueryWrapper<ModelAssessTaskAutoBackupDO>().eq(ModelAssessTaskAutoBackupDO::getId, id));
|
||||
ModelAssessTaskAutoDO modelAssessTaskAutoDO = modelAssessTaskAutoMapper.selectById(id);
|
||||
modelAssessTaskAutoDO.setBackupId(0L);
|
||||
@ -292,28 +285,58 @@ public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoServic
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 基础模型id 获取 自动评估
|
||||
* 通用的根据条件查询 ModelAssessTaskAutoDO 列表并转换为 Map 的方法
|
||||
*
|
||||
* @param baseModelId 基础模型id
|
||||
* @return 自动评估
|
||||
* @param condition 条件,使用 BiFunction 接收 LambdaQueryWrapper 和参数并设置条件
|
||||
* @param keyMapper 键映射函数,将 ModelAssessTaskAutoDO 映射为 Map 的键
|
||||
* @param valueMapper 值映射函数,将 ModelAssessTaskAutoDO 映射为 Map 的值
|
||||
* @param param 查询参数
|
||||
* @return 自动评估的 Map 集合
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getModelAssessmentTaskByModelId (Long baseModelId) {
|
||||
if (baseModelId == null){
|
||||
private Map<Long, String> getModelAssessmentTaskMap (BiFunction<LambdaQueryWrapper<ModelAssessTaskAutoDO>, Long, LambdaQueryWrapper<ModelAssessTaskAutoDO>> condition,
|
||||
Function<ModelAssessTaskAutoDO, Long> keyMapper,
|
||||
Function<ModelAssessTaskAutoDO, String> valueMapper,
|
||||
Long param) {
|
||||
if (param == null) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
List<ModelAssessTaskAutoDO> modelAssessTaskAutoDOS = modelAssessTaskAutoMapper.selectList(new LambdaQueryWrapper<ModelAssessTaskAutoDO>()
|
||||
.eq(ModelAssessTaskAutoDO::getModelService, baseModelId)
|
||||
// 2:进行中,3推理中
|
||||
.in(ModelAssessTaskAutoDO::getStatus, 2, 3));
|
||||
LambdaQueryWrapper<ModelAssessTaskAutoDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper = condition.apply(queryWrapper, param);
|
||||
queryWrapper.in(ModelAssessTaskAutoDO::getStatus, 2, 3);
|
||||
|
||||
if (CollectionUtils.isNotEmpty(modelAssessTaskAutoDOS)){
|
||||
return modelAssessTaskAutoDOS.stream().collect(Collectors.toMap(ModelAssessTaskAutoDO::getId, ModelAssessTaskAutoDO::getTaskName));
|
||||
List<ModelAssessTaskAutoDO> modelAssessTaskAutoDOS = modelAssessTaskAutoMapper.selectList(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(modelAssessTaskAutoDOS)) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
return Collections.emptyMap();
|
||||
return modelAssessTaskAutoDOS.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(ModelAssessTaskAutoDO::getModelService, id).eq(ModelAssessTaskAutoDO::getModelType, 1),
|
||||
ModelAssessTaskAutoDO::getId, ModelAssessTaskAutoDO::getTaskName, baseModelId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据模型服务 id 获取自动评估
|
||||
*
|
||||
* @param modelServiceId 模型服务 id
|
||||
* @return 自动评估的 Map 集合
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getModelAssessmentTaskByModelServiceId (Long modelServiceId) {
|
||||
return getModelAssessmentTaskMap((wrapper, id) -> wrapper.eq(ModelAssessTaskAutoDO::getModelService, id).eq(ModelAssessTaskAutoDO::getModelType, 0),
|
||||
ModelAssessTaskAutoDO::getId, ModelAssessTaskAutoDO::getTaskName, modelServiceId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -144,6 +144,9 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
validateModelUsesInApplicationCenter(id, modelName);
|
||||
// 校验 基座模型 是否在 模型评估任务-人工 有使用 (是否为进行中)
|
||||
validateModelUsesInModelAssessTaskManual(id, modelName);
|
||||
// 校验 基座模型 是否在 模型评估任务-自动 有使用 (是否为进行中、推理中)
|
||||
validateModelUsesInModelAssessTaskAuto(id, modelName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -174,6 +177,20 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验模型是否在 模型评估任务-自动 有使用
|
||||
*
|
||||
* @param id 模型ID
|
||||
* @param modelName 模型名称
|
||||
*/
|
||||
private void validateModelUsesInModelAssessTaskAuto (Long id, String modelName) {
|
||||
Map<Long, String> modelAssessmentTask = modelAssessTaskAutoService.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_003, 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