更新代码

This commit is contained in:
limin 2025-01-02 17:35:54 +08:00
parent f8901b7f95
commit 62f9f1eae2
6 changed files with 79 additions and 75 deletions

View File

@ -4,6 +4,9 @@ import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manual
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualAssessmentPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualRespVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ManualModelAnswerService;
import org.springframework.web.bind.annotation.*;
@ -40,13 +43,13 @@ public class ManualModelAnswerController {
@Resource
private ManualModelAnswerService manualModelAnswerService;
@GetMapping("/get")
@Operation(summary = "获得模型评估人工标注 模型回答")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:query')")
public CommonResult<ManualModelAnswerRespVO> getManualModelAnswer(@RequestParam("id") Long id) {
ManualModelAnswerDO manualModelAnswer = manualModelAnswerService.getManualModelAnswer(id);
return success(BeanUtils.toBean(manualModelAnswer, ManualModelAnswerRespVO.class));
@GetMapping("/getManualAssessment")
@Operation(summary = "人工评估")
@PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')")
public CommonResult<PageResult<ModelAssessTaskManualRespVO>> getManualAssessment(@Valid ModelAssessTaskManualPageReqVO pageReqVO) {
//TODO 人工评估-人工评估标注补充
ManualAssessmentPageReqVO manualAssessment = manualModelAnswerService.getManualAssessment(pageReqVO);
return success(new PageResult<>());
}
@PostMapping("/anno")
@Operation(summary = "人工标注")

View File

@ -108,14 +108,6 @@ public class ModelAssessTaskManualController {
return success(new PageResult<>());
}
@GetMapping("/getManualAssessment")
@Operation(summary = "人工评估")
@PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')")
public CommonResult<PageResult<ModelAssessTaskManualRespVO>> getManualAssessment(@Valid ModelAssessTaskManualPageReqVO pageReqVO) {
//TODO 人工评估-人工评估标注补充
ManualAssessmentPageReqVO manualAssessment = modelAssessTaskManualService.getManualAssessment(pageReqVO);
return success(new PageResult<>());
}
@PostMapping("/backedUp")

View File

@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualAssessmentPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
import java.util.List;
@ -55,4 +57,5 @@ public interface ManualModelAnswerService {
PageResult<ManualModelAnswerDO> getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO);
void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo);
ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO);
}

View File

@ -1,18 +1,22 @@
package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
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.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualAssessmentPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualRespVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetQuestionDO;
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.ModelAssessTaskDimensionDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
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.ModelAssessTaskManualMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.*;
import cn.iocoder.yudao.module.llm.service.dataset.DatasetQuestionService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
@ -44,7 +48,66 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
@Resource
private ManualModelAnnoMapper manualModelAnnoMapper;
@Resource
private ModelAssessTaskDimensionMapper modelAssessTaskDimensionMapper;
@Resource
private ModelAssessTaskManualMapper modelAssessTaskManualMapper;
@Resource
private DatasetQuestionService datasetQuestionService;
/**
* 分页进行查询
* @param pageReqVO
* @return
*/
@Override
public ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO) {
ManualAssessmentPageReqVO reqVO = new ManualAssessmentPageReqVO();
//获取数据集问题
//TODO 人工评估标注获取信息后面需要更改
DatasetQuestionPageReqVO vo = new DatasetQuestionPageReqVO();
vo.setDatasetId(pageReqVO.getDatasetId());
/*vo.setPageSize(1);*/
PageResult<DatasetQuestionRespVO> datasetQuestionPage = datasetQuestionService.getDatasetQuestionPage(vo);
reqVO.setDatasetQuestionPage(datasetQuestionPage);
//获取模型评估标准
LambdaQueryWrapper<ModelAssessTaskDimensionDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskDimensionDO>().eq(ModelAssessTaskDimensionDO::getTaskId, pageReqVO.getTaskId());
List<ModelAssessTaskDimensionDO> modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(wrapper);
reqVO.setModelAssessTaskDimensionDOS(modelAssessTaskDimensionDOS);
LambdaQueryWrapper<ModelAssessTaskManualDO> eq = new LambdaQueryWrapper<ModelAssessTaskManualDO>().eq(ModelAssessTaskManualDO::getId, pageReqVO.getTaskId());
ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectOne(eq);
reqVO.setModelAssessTaskManualDO(modelAssessTaskManualDO);
return reqVO;
}
/**
* 模型回答人工标注
* @param reqRespVo
*/
@Override
public void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo) {
List<ManualModelAnswerDO> modelAnswerDOS = BeanUtils.toBean(reqRespVo, ManualModelAnswerDO.class);
if (reqRespVo.size() > 0){
Long modelAnswerId = modelAnswerDOS.get(0).getManalTaskId();
reqRespVo.forEach(modelAnswerDO -> {
if (!CollectionUtils.isAnyEmpty(modelAnswerDO.getAnnoReqRespVo())){
List<ManualModelAnnoDO> modelAnnoDOS = BeanUtils.toBean(modelAnswerDO.getAnnoReqRespVo(), ManualModelAnnoDO.class);
manualModelAnnoMapper.insertOrUpdate(modelAnnoDOS);
manualModelAnswerMapper.updateStatus(modelAnswerDO.getId(),2);
}
});
// 标注进度修改
LambdaQueryWrapper<ManualModelAnswerDO> wrapper = new LambdaQueryWrapper<ManualModelAnswerDO>()
.eq(ManualModelAnswerDO::getManalTaskId, modelAnswerId);
Long sumCount = manualModelAnswerMapper.selectCount(wrapper);
wrapper.eq(ManualModelAnswerDO::getStatus,2);
Long annoCount = manualModelAnswerMapper.selectCount(wrapper);
double ratio = sumCount == 0 ? 0 : ((double) annoCount / sumCount) *100;
Integer formattedRatio = ratio == 0 ? 0 : (int) ratio;
Integer status = formattedRatio == 100 ? 4 : 2;
modelAssessTaskManualMapper.updateStatus(modelAnswerId,formattedRatio,status);
}
}
@Override
public Long createManualModelAnswer(ManualModelAnswerSaveReqVO createReqVO) {
@ -80,16 +143,6 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
@Override
public ManualModelAnswerDO getManualModelAnswer(Long id) {
// 查询主表数据
ModelAssessTaskManualRespVO modelAssessTaskManual = modelAssessTaskManualService.getModelAssessTaskManual(id);
List<ManualModelAnswerDO> manualModelAnswerDOS = manualModelAnswerMapper.selectList(new LambdaQueryWrapper<ManualModelAnswerDO>()
.eq(ManualModelAnswerDO::getManalTaskId, modelAssessTaskManual.getId()));
List<ManualModelAnswerRespVO> manualModelAnswerRespVOS = BeanUtils.toBean(manualModelAnswerDOS, ManualModelAnswerRespVO.class);
manualModelAnswerDOS.forEach(item -> {
// item.setModelAnswer(modelAssessTaskManual.getModelAnswer());
});
ManualModelAnswerDO manualModelAnswerDO = manualModelAnswerMapper.selectById(id);
ManualModelAnswerRespVO bean = BeanUtils.toBean(manualModelAnswerDO, ManualModelAnswerRespVO.class);
return manualModelAnswerMapper.selectById(id);
}
@ -98,30 +151,5 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
return manualModelAnswerMapper.selectPage(pageReqVO);
}
@Override
public void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo) {
List<ManualModelAnswerDO> modelAnswerDOS = BeanUtils.toBean(reqRespVo, ManualModelAnswerDO.class);
if (reqRespVo.size() > 0){
Long modelAnswerId = modelAnswerDOS.get(0).getManalTaskId();
reqRespVo.forEach(modelAnswerDO -> {
if (!CollectionUtils.isAnyEmpty(modelAnswerDO.getAnnoReqRespVo())){
List<ManualModelAnnoDO> modelAnnoDOS = BeanUtils.toBean(modelAnswerDO.getAnnoReqRespVo(), ManualModelAnnoDO.class);
manualModelAnnoMapper.insertOrUpdate(modelAnnoDOS);
manualModelAnswerMapper.updateStatus(modelAnswerDO.getId(),2);
}
});
// 标注进度修改
LambdaQueryWrapper<ManualModelAnswerDO> wrapper = new LambdaQueryWrapper<ManualModelAnswerDO>()
.eq(ManualModelAnswerDO::getManalTaskId, modelAnswerId);
Long sumCount = manualModelAnswerMapper.selectCount(wrapper);
wrapper.eq(ManualModelAnswerDO::getStatus,2);
Long annoCount = manualModelAnswerMapper.selectCount(wrapper);
double ratio = sumCount == 0 ? 0 : ((double) annoCount / sumCount) *100;
Integer formattedRatio = ratio == 0 ? 0 : (int) ratio;
Integer status = formattedRatio == 100 ? 4 : 2;
modelAssessTaskManualMapper.updateStatus(modelAnswerId,formattedRatio,status);
}
}
}

View File

@ -52,6 +52,4 @@ public interface ModelAssessTaskManualService {
*/
PageResult<ModelAssessTaskManualRespVO> getModelAssessTaskManualPage1(ModelAssessTaskManualPageReqVO pageReqVO);
PageResult<ModelAssessTaskManualDO> getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO);
ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO);
}

View File

@ -184,24 +184,4 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
return modelAssessTaskManualMapper.selectPage(pageReqVO);
}
@Override
public ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO) {
ManualAssessmentPageReqVO reqVO = new ManualAssessmentPageReqVO();
//获取数据集问题
//TODO 人工评估标注获取信息后面需要更改
DatasetQuestionPageReqVO vo = new DatasetQuestionPageReqVO();
vo.setDatasetId(pageReqVO.getDatasetId());
vo.setPageSize(1);
PageResult<DatasetQuestionRespVO> datasetQuestionPage = datasetQuestionService.getDatasetQuestionPage(vo);
reqVO.setDatasetQuestionPage(datasetQuestionPage);
//获取模型评估标准
LambdaQueryWrapper<ModelAssessTaskDimensionDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskDimensionDO>().eq(ModelAssessTaskDimensionDO::getTaskId, pageReqVO.getTaskId());
List<ModelAssessTaskDimensionDO> modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(wrapper);
reqVO.setModelAssessTaskDimensionDOS(modelAssessTaskDimensionDOS);
LambdaQueryWrapper<ModelAssessTaskManualDO> eq = new LambdaQueryWrapper<ModelAssessTaskManualDO>().eq(ModelAssessTaskManualDO::getId, pageReqVO.getTaskId());
ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectOne(eq);
reqVO.setModelAssessTaskManualDO(modelAssessTaskManualDO);
return reqVO;
}
}