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.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;

@Schema(description = "管理后台 - 人工评估标注 Request VO")

@Data
public class ManualAssessmentPageRespVO {
    @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16493")
    private Long id;

    @Schema(description = "模型服务")
    private Long modelService;

    @Schema(description = "数据集")
    @ExcelProperty("数据集")
    private Long dataset;

    @Schema(description = "人工评估列表")
    private List<ModelAssessTaskDimensionRespVO> dimensions;

    @Schema(description = "模型评估任务状态，人工标注状态（0未标注 2标注完成）")
    private Integer status;

    @Schema(description = "任务进度")
    private Integer progress;

    @Schema(description = "模型服务名称")
    @ExcelProperty("模型名称")
    private String modelServiceName;

    @Schema(description = "数据集名称")
    @ExcelProperty("数据集名称")
    private String datasetName;

    @Schema(description = "数据集问题")
    @ExcelProperty("Prompt")
    private String question;

    @Schema(description = "数据集答案")
//    @ExcelProperty("Response(参考回答)")
    private List<DatasetAnswerRespVO> answers;

    @Schema(description = "人工标注主表id")
    private Long manalTaskId;
    @Schema(description = "模型回答答案")
    @ExcelProperty("Completion(模型回答)")
    private String modelAnswer;

/*    @Schema(description = "人工评估信息返回")
    private List<ManualModelAnnoRespVO> reqRespVos;*/

    @Schema(description = "人工评估信息ListMap返回")
    @ExcelIgnore
    private List<HashMap<String, Object>> reqRespVos;


    @Schema(description = "系统信息")
    private String system;
}
