package org.jk.rag.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.jk.rag.domain.EvaluationTaskHistory;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 评测任务历史视图对象 evaluation_task_history
 *
 * @author Lion Li
 * @date 2026-01-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = EvaluationTaskHistory.class)
public class EvaluationTaskHistoryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ExcelProperty(value = "主键id")
    private Long id;

    /**
     * 任务id
     */
    @ExcelProperty(value = "任务id")
    private Long taskId;

    /**
     * 任务名称
     */
    @ExcelProperty(value = "任务名称")
    private String taskName;

    /**
     * 任务描述
     */
    @ExcelProperty(value = "任务描述")
    private String taskDescription;

    /**
     * 评测类型
     */
    @ExcelProperty(value = "评测类型")
    private String evaluationType;

    /**
     * 评测RAG
     */
    @ExcelProperty(value = "评测RAG")
    private String reviewRag;

    /**
     * 模型
     */
    @ExcelProperty(value = "模型")
    private String model;

    /**
     * 评测数据
     */
    @ExcelProperty(value = "评测数据")
    private String evaluationData;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    private String status;

    /**
     * 结果分数
     */
    @ExcelProperty(value = "结果分数")
    private BigDecimal resultStore;

    /**
     * 答案忠诚度
     */
    @ExcelProperty(value = "答案忠诚度")
    private BigDecimal answerLoyalty;

    /**
     * 答案正确性
     */
    @ExcelProperty(value = "答案正确性")
    private BigDecimal correctAnswer;

    /**
     * 答案相关性
     */
    @ExcelProperty(value = "答案相关性")
    private BigDecimal answerRelevance;

    /**
     * 噪声敏感度
     */
    @ExcelProperty(value = "噪声敏感度")
    private BigDecimal noiseSensitivity;

    /**
     * 上下文召回度
     */
    @ExcelProperty(value = "上下文召回度")
    private BigDecimal contextRecall;

    /**
     * 上下文相关性
     */
    @ExcelProperty(value = "上下文相关性")
    private BigDecimal contextRelevance;

    /**
     * 向量化模型
     */
    @ExcelProperty(value = "向量化模型")
    private String embeddingId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Date startTime;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Date endTime;

    /**
     * 结果地址
     */
    @ExcelProperty(value = "结果地址")
    private String fullUrl;

    private String ossId;

    private Date createTime;

    private String createBy;

    private String datesetName;

}
