package org.dromara.knowledge.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.knowledge.domain.KnowledgeHitLog;

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

/**
 * 知识库命中日志视图对象 knowledge_hit_log
 *
 * @author pengles
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = KnowledgeHitLog.class)
public class KnowledgeHitLogVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 会话ID
     */
    @ExcelProperty(value = "会话ID")
    private String sessionId;

    /**
     * 知识库ID
     */
    @ExcelProperty(value = "知识库ID")
    private String knowledgeId;

    /**
     * 文档ID
     */
    @ExcelProperty(value = "文档ID")
    private String docId;

    /**
     * 知识片段ID
     */
    @ExcelProperty(value = "知识片段ID")
    private String fragmentId;

    /**
     * 查询文本
     */
    @ExcelProperty(value = "查询文本")
    private String queryText;

    /**
     * 相似度分数
     */
    @ExcelProperty(value = "相似度分数")
    private Double similarityScore;

    /**
     * 排名
     */
    @ExcelProperty(value = "排名")
    private Integer ranking;

    /**
     * 模型名称
     */
    @ExcelProperty(value = "模型名称")
    private String modelName;

    /**
     * 搜索参数
     */
    @ExcelProperty(value = "搜索参数")
    private String searchParams;

    /**
     * 响应时间（毫秒）
     */
    @ExcelProperty(value = "响应时间")
    private Long responseTime;

    /**
     * 命中次数
     */
    @ExcelProperty(value = "命中次数")
    private Integer hitCount;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

}