评估任务 人工标注增加
This commit is contained in:
parent
4c4d29373a
commit
f8901b7f95
@ -40,7 +40,8 @@ public class ManualModelAnnoController {
|
||||
@Resource
|
||||
private ManualModelAnnoService manualModelAnnoService;
|
||||
|
||||
@PostMapping("/create")
|
||||
|
||||
/*@PostMapping("/create")
|
||||
@Operation(summary = "创建模型评估人工评估标注")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:create')")
|
||||
public CommonResult<Long> createManualModelAnno(@Valid @RequestBody ManualModelAnnoSaveReqVO createReqVO) {
|
||||
@ -92,6 +93,6 @@ public class ManualModelAnnoController {
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模型评估人工评估标注.xls", "数据", ManualModelAnnoRespVO.class,
|
||||
BeanUtils.toBean(list, ManualModelAnnoRespVO.class));
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual;
|
||||
|
||||
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;
|
||||
@ -39,7 +40,23 @@ public class ManualModelAnswerController {
|
||||
@Resource
|
||||
private ManualModelAnswerService manualModelAnswerService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@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));
|
||||
}
|
||||
@PostMapping("/anno")
|
||||
@Operation(summary = "人工标注")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:update')")
|
||||
public CommonResult<Boolean> annoManualModelAnswer(@Valid @RequestBody List<ManualModelAnswerSaveReqVO> reqRespVos){
|
||||
manualModelAnswerService.annoManualModelAnswer(reqRespVos);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/* @PostMapping("/create")
|
||||
@Operation(summary = "创建模型评估人工标注 模型回答")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:create')")
|
||||
public CommonResult<Long> createManualModelAnswer(@Valid @RequestBody ManualModelAnswerSaveReqVO createReqVO) {
|
||||
@ -91,6 +108,6 @@ public class ManualModelAnswerController {
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模型评估人工标注 模型回答.xls", "数据", ManualModelAnswerRespVO.class,
|
||||
BeanUtils.toBean(list, ManualModelAnswerRespVO.class));
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manua
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工标注 模型回答新增/修改 Request VO")
|
||||
@Data
|
||||
public class ManualModelAnswerSaveReqVO {
|
||||
@ -25,4 +27,7 @@ public class ManualModelAnswerSaveReqVO {
|
||||
@Schema(description = "模型回答内容")
|
||||
private String modelAnswer;
|
||||
|
||||
@Schema(description = "模型评估人工标注列表")
|
||||
private List<ManualModelAnnoSaveReqVO> annoReqRespVo;
|
||||
|
||||
}
|
@ -6,6 +6,8 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
|
||||
/**
|
||||
@ -26,5 +28,6 @@ public interface ManualModelAnswerMapper extends BaseMapperX<ManualModelAnswerDO
|
||||
.betweenIfPresent(ManualModelAnswerDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(ManualModelAnswerDO::getId));
|
||||
}
|
||||
|
||||
@Update("update llm_manual_model_answer set status = #{status} where id = #{modelAnswerId}")
|
||||
void updateStatus(@Param("modelAnswerId") Long modelAnswerId, @Param("status") int status);
|
||||
}
|
@ -8,6 +8,8 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
/**
|
||||
* 模型评估任务 —— 人工评估 Mapper
|
||||
@ -23,5 +25,6 @@ public interface ModelAssessTaskManualMapper extends BaseMapperX<ModelAssessTask
|
||||
.eq(ModelAssessTaskManualDO::getDeleted, false)
|
||||
.orderByDesc(ModelAssessTaskManualDO::getId));
|
||||
}
|
||||
|
||||
@Update("update llm_model_assess_task_manual set status = #{status}, progress = #{formattedRatio} where id = #{modelAnswerId}")
|
||||
void updateStatus(@Param("modelAnswerId") Long modelAnswerId,@Param("formattedRatio") Integer formattedRatio,@Param("status") Integer status);
|
||||
}
|
@ -2,10 +2,13 @@ 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.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 模型评估人工标注 模型回答 Service 接口
|
||||
*
|
||||
@ -51,4 +54,5 @@ public interface ManualModelAnswerService {
|
||||
*/
|
||||
PageResult<ManualModelAnswerDO> getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO);
|
||||
|
||||
void annoManualModelAnswer(List<ManualModelAnswerSaveReqVO> reqRespVo);
|
||||
}
|
@ -1,9 +1,20 @@
|
||||
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.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.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.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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -12,6 +23,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
|
||||
|
||||
@ -26,6 +39,12 @@ public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
|
||||
|
||||
@Resource
|
||||
private ManualModelAnswerMapper manualModelAnswerMapper;
|
||||
@Resource
|
||||
private ModelAssessTaskManualService modelAssessTaskManualService;
|
||||
@Resource
|
||||
private ManualModelAnnoMapper manualModelAnnoMapper;
|
||||
@Resource
|
||||
private ModelAssessTaskManualMapper modelAssessTaskManualMapper;
|
||||
|
||||
@Override
|
||||
public Long createManualModelAnswer(ManualModelAnswerSaveReqVO createReqVO) {
|
||||
@ -61,6 +80,16 @@ 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);
|
||||
}
|
||||
|
||||
@ -69,4 +98,30 @@ 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user