package org.dromara.knowledge.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.io.Serial;
import java.io.Serializable;

/**
 * 知识库命中日志对象 knowledge_hit_log
 *
 * @author pengles
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("knowledge_hit_log")
public class KnowledgeHitLog extends BaseEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 会话ID
     */
    private String sessionId;

    /**
     * 知识库ID
     */
    private String knowledgeId;

    /**
     * 文档ID
     */
    private String docId;

    /**
     * 知识片段ID
     */
    private String fragmentId;

    /**
     * 查询文本
     */
    private String queryText;

    /**
     * 查询向量
     */
    private String queryVector;

    /**
     * 相似度分数
     */
    private Double similarityScore;

    /**
     * 排名
     */
    private Integer ranking;

    /**
     * 模型名称
     */
    private String modelName;

    /**
     * 搜索参数
     */
    private String searchParams;

    /**
     * 响应时间（毫秒）
     */
    private Long responseTime;

    /**
     * 命中次数
     */
    private Integer hitCount;

    /**
     * 备注
     */
    private String remark;

}