模型回答人工标注
This commit is contained in:
parent
043ec70a9b
commit
025fe4de99
@ -1,38 +1,25 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.ManualAssessmentPageRespVO;
|
||||
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.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
|
||||
@Tag(name = "管理后台 - 模型评估人工标注 模型回答")
|
||||
@RestController
|
||||
@ -44,12 +31,11 @@ public class ManualModelAnswerController {
|
||||
private ManualModelAnswerService manualModelAnswerService;
|
||||
|
||||
@GetMapping("/getManualAssessment")
|
||||
@Operation(summary = "人工评估")
|
||||
@Operation(summary = "获取列表")
|
||||
@PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')")
|
||||
public CommonResult<PageResult<ModelAssessTaskManualRespVO>> getManualAssessment(@Valid ModelAssessTaskManualPageReqVO pageReqVO) {
|
||||
public CommonResult<PageResult<ManualAssessmentPageRespVO>> getManualAssessment(@Valid ManualModelAnswerPageReqVO pageReqVO) {
|
||||
//TODO 人工评估-人工评估标注补充
|
||||
ManualAssessmentPageReqVO manualAssessment = manualModelAnswerService.getManualAssessment(pageReqVO);
|
||||
return success(new PageResult<>());
|
||||
return success(manualModelAnswerService.getManualAssessment(pageReqVO));
|
||||
}
|
||||
@PostMapping("/anno")
|
||||
@Operation(summary = "人工标注")
|
||||
|
@ -1,24 +0,0 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 人工评估标注 Request VO")
|
||||
|
||||
@Data
|
||||
public class ManualAssessmentPageReqVO {
|
||||
@Schema(description = "人工评估标注")
|
||||
private PageResult<DatasetQuestionRespVO> datasetQuestionPage;
|
||||
|
||||
@Schema(description = "人工评估维度")
|
||||
private List<ModelAssessTaskDimensionDO> modelAssessTaskDimensionDOS;
|
||||
|
||||
@Schema(description = "人工评估任务")
|
||||
private ModelAssessTaskManualDO modelAssessTaskManualDO;
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
|
||||
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetAnswerRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerRespVO;
|
||||
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 com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 人工评估标注 Request VO")
|
||||
|
||||
@Data
|
||||
public class ManualAssessmentPageRespVO {
|
||||
@Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16493")
|
||||
@ExcelProperty("评估任务ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@ExcelProperty("任务名称")
|
||||
private String taskName;
|
||||
|
||||
@Schema(description = "任务描述")
|
||||
@ExcelProperty("任务描述")
|
||||
private String taskInfro;
|
||||
|
||||
@Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2")
|
||||
@ExcelProperty(value = "CPU类型,使用字典(llm_cpu_type)", converter = DictConvert.class)
|
||||
@DictFormat("llm_cpu_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private Integer cpuType;
|
||||
|
||||
@Schema(description = "模型服务")
|
||||
@ExcelProperty("模型服务")
|
||||
private Long modelService;
|
||||
|
||||
@Schema(description = "数据集")
|
||||
@ExcelProperty("数据集")
|
||||
private Long dataset;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "人工评估列表")
|
||||
private List<ModelAssessTaskDimensionRespVO> dimensions;
|
||||
|
||||
@Schema(description = "模型评估任务状态,使用字典(llm_model_assess_task_status)")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "任务进度")
|
||||
private Integer progress;
|
||||
|
||||
@Schema(description = "模型服务名称")
|
||||
private String modelServiceName;
|
||||
|
||||
@Schema(description = "数据集名称")
|
||||
private String datasetName;
|
||||
|
||||
@Schema(description = "数据集问题")
|
||||
private String question;
|
||||
|
||||
@Schema(description = "数据集答案")
|
||||
private List<DatasetAnswerRespVO> answers;
|
||||
|
||||
@Schema(description = "模型回答答案")
|
||||
private String modelAnswer;
|
||||
@Schema(description = "人工评估信息")
|
||||
private List<ManualModelAnnoRespVO> manualModelAnnoRespVOS;
|
||||
}
|
@ -2,10 +2,9 @@ package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
|
||||
|
||||
import javax.validation.*;
|
||||
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.ManualAssessmentPageRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
|
||||
@ -57,5 +56,5 @@ public interface ManualModelAnswerService {
|
||||
PageResult<ManualModelAnswerDO> getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO);
|
||||
|
||||
void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo);
|
||||
ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO pageReqVO);
|
||||
PageResult<ManualAssessmentPageRespVO> getManualAssessment(ManualModelAnswerPageReqVO pageReqVO);
|
||||
}
|
@ -1,24 +1,25 @@
|
||||
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.DatasetAnswerRespVO;
|
||||
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.ManualModelAnnoRespVO;
|
||||
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.ManualAssessmentPageRespVO;
|
||||
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.DatasetAnswerDO;
|
||||
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.dataset.DatasetAnswerMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetQuestionMapper;
|
||||
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.springdoc.core.GenericResponseService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -27,6 +28,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -53,6 +55,10 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
|
||||
private ModelAssessTaskManualMapper modelAssessTaskManualMapper;
|
||||
@Resource
|
||||
private DatasetQuestionService datasetQuestionService;
|
||||
@Resource
|
||||
private DatasetQuestionMapper datasetQuestionMapper;
|
||||
@Resource
|
||||
private DatasetAnswerMapper datasetAnswerMapper;
|
||||
|
||||
/**
|
||||
* 分页进行查询
|
||||
@ -60,23 +66,28 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
|
||||
* @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;
|
||||
public PageResult<ManualAssessmentPageRespVO> getManualAssessment(ManualModelAnswerPageReqVO pageReqVO) {
|
||||
ModelAssessTaskManualRespVO modelAssessTaskManual = modelAssessTaskManualService.getModelAssessTaskManual(pageReqVO.getManalTaskId());
|
||||
PageResult<ManualAssessmentPageRespVO> result = new PageResult<>();
|
||||
PageResult<ManualModelAnswerDO> modelAnswerDOPageResult = manualModelAnswerMapper.selectPage(pageReqVO);
|
||||
List<ManualAssessmentPageRespVO> res = new ArrayList<>();
|
||||
if(!CollectionUtils.isAnyEmpty(modelAnswerDOPageResult.getList())){
|
||||
modelAnswerDOPageResult.getList().forEach(modelAnswerDO -> {
|
||||
ManualAssessmentPageRespVO resp = BeanUtils.toBean(modelAssessTaskManual, ManualAssessmentPageRespVO.class);
|
||||
DatasetQuestionDO datasetQuestionDO = datasetQuestionMapper.selectById(modelAnswerDO.getQuestionId());
|
||||
List<DatasetAnswerDO> datasetAnswerDOS = datasetAnswerMapper.selectList(new LambdaQueryWrapper<>(DatasetAnswerDO.class).eq(DatasetAnswerDO::getQuestionId, modelAnswerDO.getQuestionId()));
|
||||
resp.setQuestion(datasetQuestionDO.getQuestion());
|
||||
resp.setAnswers(BeanUtils.toBean(datasetAnswerDOS, DatasetAnswerRespVO.class));
|
||||
resp.setModelAnswer(modelAnswerDO.getModelAnswer());
|
||||
List<ManualModelAnnoDO> manualModelAnnoDOS = manualModelAnnoMapper.selectList(new LambdaQueryWrapper<>(ManualModelAnnoDO.class)
|
||||
.eq(ManualModelAnnoDO::getModelAnswerId, modelAnswerDO.getId()));
|
||||
resp.setManualModelAnnoRespVOS(BeanUtils.toBean(manualModelAnnoDOS, ManualModelAnnoRespVO.class));
|
||||
res.add(resp);
|
||||
});
|
||||
}
|
||||
result.setList(res);
|
||||
result.setTotal(modelAnswerDOPageResult.getTotal());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -53,7 +53,6 @@ public interface ModelAssessTaskManualService {
|
||||
PageResult<ModelAssessTaskManualRespVO> getModelAssessTaskManualPage1(ModelAssessTaskManualPageReqVO pageReqVO);
|
||||
PageResult<ModelAssessTaskManualDO> getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO);
|
||||
|
||||
ManualAssessmentPageReqVO getManualAssessment(ModelAssessTaskManualPageReqVO backupReqVO);
|
||||
|
||||
void backupModelAssessTaskManual(ModelAssessTaskManualBackupReqVO updateReqVO);
|
||||
}
|
||||
|
@ -188,25 +188,6 @@ 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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void backupModelAssessTaskManual(ModelAssessTaskManualBackupReqVO backupReqVO) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user