From 62f9f1eae23800dca681d4205e9ad03fb434b48c Mon Sep 17 00:00:00 2001 From: limin Date: Thu, 2 Jan 2025 17:35:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ManualModelAnswerController.java | 17 +-- .../ModelAssessTaskManualController.java | 8 -- .../ManualModelAnswerService.java | 3 + .../ManualModelAnswerServiceImpl.java | 104 +++++++++++------- .../ModelAssessTaskManualService.java | 2 - .../ModelAssessTaskManualServiceImpl.java | 20 ---- 6 files changed, 79 insertions(+), 75 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ManualModelAnswerController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ManualModelAnswerController.java index 9e3ab59d6..66c660559 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ManualModelAnswerController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ManualModelAnswerController.java @@ -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 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> getManualAssessment(@Valid ModelAssessTaskManualPageReqVO pageReqVO) { + //TODO 人工评估-人工评估标注补充 + ManualAssessmentPageReqVO manualAssessment = manualModelAnswerService.getManualAssessment(pageReqVO); + return success(new PageResult<>()); } @PostMapping("/anno") @Operation(summary = "人工标注") diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java index dfd8da27a..3aeeb2e16 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java @@ -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> getManualAssessment(@Valid ModelAssessTaskManualPageReqVO pageReqVO) { - //TODO 人工评估-人工评估标注补充 - ManualAssessmentPageReqVO manualAssessment = modelAssessTaskManualService.getManualAssessment(pageReqVO); - return success(new PageResult<>()); - } @PostMapping("/backedUp") diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerService.java index 0145ca920..23dedf4b0 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerService.java @@ -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 getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO); void annoManualModelAnswer(List reqRespVo); + ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerServiceImpl.java index b778d81a8..87c2f9a24 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ManualModelAnswerServiceImpl.java @@ -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 datasetQuestionPage = datasetQuestionService.getDatasetQuestionPage(vo); + reqVO.setDatasetQuestionPage(datasetQuestionPage); + //获取模型评估标准 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper().eq(ModelAssessTaskDimensionDO::getTaskId, pageReqVO.getTaskId()); + List modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(wrapper); + reqVO.setModelAssessTaskDimensionDOS(modelAssessTaskDimensionDOS); + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(ModelAssessTaskManualDO::getId, pageReqVO.getTaskId()); + ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectOne(eq); + reqVO.setModelAssessTaskManualDO(modelAssessTaskManualDO); + return reqVO; + } + + /** + * 模型回答人工标注 + * @param reqRespVo + */ + @Override + public void annoManualModelAnswer(List reqRespVo) { + List 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 modelAnnoDOS = BeanUtils.toBean(modelAnswerDO.getAnnoReqRespVo(), ManualModelAnnoDO.class); + manualModelAnnoMapper.insertOrUpdate(modelAnnoDOS); + manualModelAnswerMapper.updateStatus(modelAnswerDO.getId(),2); + } + }); + // 标注进度修改 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .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 manualModelAnswerDOS = manualModelAnswerMapper.selectList(new LambdaQueryWrapper() - .eq(ManualModelAnswerDO::getManalTaskId, modelAssessTaskManual.getId())); - List 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 reqRespVo) { - List 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 modelAnnoDOS = BeanUtils.toBean(modelAnswerDO.getAnnoReqRespVo(), ManualModelAnnoDO.class); - manualModelAnnoMapper.insertOrUpdate(modelAnnoDOS); - manualModelAnswerMapper.updateStatus(modelAnswerDO.getId(),2); - } - }); - // 标注进度修改 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper() - .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); - } - - } } \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java index 6d82af955..9e6b70e08 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java @@ -52,6 +52,4 @@ public interface ModelAssessTaskManualService { */ PageResult getModelAssessTaskManualPage1(ModelAssessTaskManualPageReqVO pageReqVO); PageResult getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO); - - ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java index 77083cfe9..65ba9d43b 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java @@ -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 datasetQuestionPage = datasetQuestionService.getDatasetQuestionPage(vo); - reqVO.setDatasetQuestionPage(datasetQuestionPage); - //获取模型评估标准 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper().eq(ModelAssessTaskDimensionDO::getTaskId, pageReqVO.getTaskId()); - List modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(wrapper); - reqVO.setModelAssessTaskDimensionDOS(modelAssessTaskDimensionDOS); - LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(ModelAssessTaskManualDO::getId, pageReqVO.getTaskId()); - ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectOne(eq); - reqVO.setModelAssessTaskManualDO(modelAssessTaskManualDO); - return reqVO; - } - }