package org.jk.rag.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jk.common.tenant.core.TenantEntity;

import java.io.Serial;

/**
 * 评测任务历史对象 evaluation_task_history
 *
 * @author Lion Li
 * @date 2026-01-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("evaluation_task_history")
public class EvaluationTaskHistory extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 任务id
     */
    private Long taskId;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 任务描述
     */
    private String taskDescription;

    /**
     * 评测类型
     */
    private String evaluationType;

    /**
     * 评测RAG
     */
    private String reviewRag;

    /**
     * 模型
     */
    private String model;

    /**
     * 评测数据
     */
    private String evaluationData;

    /**
     * 状态
     */
    private String status;

    /**
     * 结果分数
     */
    private BigDecimal resultStore;

    /**
     * 答案忠诚度
     */
    private BigDecimal answerLoyalty;

    /**
     * 答案正确性
     */
    private BigDecimal correctAnswer;

    /**
     * 答案相关性
     */
    private BigDecimal answerRelevance;

    /**
     * 噪声敏感度
     */
    private BigDecimal noiseSensitivity;

    /**
     * 上下文召回度
     */
    private BigDecimal contextRecall;

    /**
     * 上下文相关性
     */
    private BigDecimal contextRelevance;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 向量化模型
     */
    private String embeddingId;

    /**
     *
     */
    private Date startTime;

    /**
     *
     */
    private Date endTime;

    /**
     * 结果地址
     */
    private String fullUrl;

    private String ossId;
}
