评估报告

This commit is contained in:
sunxiqing 2025-01-04 16:51:05 +08:00
parent e20d5c8c8b
commit c1798ef5a2
4 changed files with 39 additions and 1 deletions

View File

@ -120,6 +120,14 @@ public class ModelAssessTaskManualController {
return success(manualModelAnswerService.getManualAssessment(pageReqVO));
}
@GetMapping("/gitManualReport")
@Operation(summary = "获取模型结果")
@PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')")
public CommonResult<List<String>> queryTheEvaluationType(@Valid ManualModelAnswerPageReqVO pageReqVO) {
List<String> evaluationTypeList = manualModelAnswerService.queryTheEvaluationType(pageReqVO);
return success(evaluationTypeList);
}
@PostMapping("/backup")

View File

@ -71,6 +71,9 @@ public class ManualAssessmentPageRespVO {
@ExcelIgnore
private List<HashMap<String, Object>> reqRespVos;
@Schema(description = "评估报告专用")
private HashMap<String ,Object> reportMap;
@Schema(description = "系统信息")
private String system;
}

View File

@ -57,4 +57,6 @@ public interface ManualModelAnswerService {
void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo);
PageResult<ManualAssessmentPageRespVO> getManualAssessment(ManualModelAnswerPageReqVO pageReqVO);
}
List<String> queryTheEvaluationType( ManualModelAnswerPageReqVO pageReqVO);
}

View File

@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionPa
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoRespVO;
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.LabelInformationVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ManualAssessmentPageRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO;
@ -34,6 +35,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
@ -89,16 +91,27 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
resp.setManalTaskId(modelAnswerDO.getManalTaskId());
if (!CollectionUtils.isAnyEmpty(modelAnswerDO.getReqRespVos())){
resp.setReqRespVos(modelAnswerDO.getReqRespVos());
// 将map 转换成 map<String,Object>给评估报告专用
HashMap<String, Object> report = new HashMap<>();
modelAnswerDO.getReqRespVos().forEach(
map -> {
report.put(String.valueOf(map.get("label")),map.get("score"));
}
);
resp.setReportMap(report);
}else {
if (!CollectionUtils.isAnyEmpty(modelAssessTaskManual.getDimensions())){
List<HashMap<String, Object>> map = new ArrayList<>();
HashMap<String, Object> report = new HashMap<>();
modelAssessTaskManual.getDimensions().forEach(dimension -> {
HashMap<String, Object> map1 = new HashMap<>();
map1.put("label", dimension.getDimensionName());
map1.put("score", 0);
map.add(map1);
report.put(dimension.getDimensionName(),0);
});
resp.setReqRespVos(map);
resp.setReportMap(report);
}
}
res.add(resp);
@ -109,6 +122,18 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
return result;
}
@Override
public List<String> queryTheEvaluationType( ManualModelAnswerPageReqVO pageReqVO) {
LambdaQueryWrapper<ManualModelAnswerDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ManualModelAnswerDO::getManalTaskId,pageReqVO.getManalTaskId())
.eq(ManualModelAnswerDO::getStatus,2)
.isNotNull(ManualModelAnswerDO::getReqRespVos);
List<ManualModelAnswerDO> manualModelAnswerDOS = manualModelAnswerMapper.selectList(wrapper);
List<LabelInformationVO> bean = BeanUtils.toBean(manualModelAnswerDOS.get(0).getReqRespVos(), LabelInformationVO.class);
List<String> collect = bean.stream().map(LabelInformationVO::getLabel).collect(Collectors.toList());
return collect;
}
/**
* 模型回答人工标注
* @param reqRespVo