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 8eb402609..ab3e12af3 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 @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manual import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO; import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.LabelInformationVO; import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualAssessmentPageRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualEvaluationReportRespVO; import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionRespVO; import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO; import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualRespVO; @@ -81,15 +82,28 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService { PageResult modelAnswerDOPageResult = manualModelAnswerMapper.selectPage(pageReqVO); List res = new ArrayList<>(); if(!CollectionUtils.isAnyEmpty(modelAnswerDOPageResult.getList())){ - modelAnswerDOPageResult.getList().forEach(modelAnswerDO -> { + // 提取模型评估人工标注的模型回答 + List list = modelAnswerDOPageResult.getList(); + // 获取数据集问题 + List collected = list.stream().map(ManualModelAnswerDO::getQuestionId).collect(Collectors.toList()); + List datasetQuestionDOS = datasetQuestionMapper.selectBatchIds(collected); + Map questionMap = datasetQuestionDOS.stream().collect(Collectors.toMap(DatasetQuestionDO::getId, v -> v)); + // 获取数据集答案 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .in(DatasetAnswerDO::getQuestionId, collected); + List datasetAnswerDO = datasetAnswerMapper.selectList(wrapper); + Map> collect = datasetAnswerDO.stream().collect(Collectors.groupingBy(DatasetAnswerDO::getQuestionId)); + + // 封装数据 + list.forEach(modelAnswerDO -> { ManualAssessmentPageRespVO resp = BeanUtils.toBean(modelAssessTaskManual, ManualAssessmentPageRespVO.class); - DatasetQuestionDO datasetQuestionDO = datasetQuestionMapper.selectById(modelAnswerDO.getQuestionId()); + DatasetQuestionDO datasetQuestionDO = questionMap.get(modelAnswerDO.getQuestionId()); if (datasetQuestionDO==null){ throw exception(QUESTION_NOT_EXISTS); } - List datasetAnswerDOS = datasetAnswerMapper.selectList(new LambdaQueryWrapper<>(DatasetAnswerDO.class).eq(DatasetAnswerDO::getQuestionId, modelAnswerDO.getQuestionId())); + List datasetAnswerDOS = collect.get(modelAnswerDO.getQuestionId()); String question = datasetQuestionDO.getQuestion(); if (StringUtils.isBlank(question)){ throw exception(QUESTION_NOT_EXISTS);