package com.xueyi.nlt.nlt.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xueyi.common.core.utils.time.LocalDateTimeSerializer;
import com.xueyi.common.core.utils.time.LocalDatetimeDeserializer;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class MarkRecordVo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;


    protected Long id;
    protected Long devId;
    /** 标注来源
     * 0: 知识库标注
     * 1: 自由问答标注
     * 2：正则表达式
     */
    protected Integer type;

    /** 选用的大模型
     * spark:星火大模型
     * zhipu:智普AI
     * baidu:文心一言
     * other: 其他
     */
    protected String llm;

    /** 是否喜欢
     * -1: 未标注
     * 0: 喜欢位置0的答案
     * 1: 喜欢位置1的答案
     * 2: 喜欢位置2的答案
     * 3: 喜欢位置3的答案
     * ...
     */
    protected Integer like;

    /** 问题 */
    protected String question;

    /** 答案 */
    protected List<String> answers;

    /** 租户号 */
    protected Long tenantId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonDeserialize(using = LocalDatetimeDeserializer.class)		// 反序列化
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    protected LocalDateTime createTime;

}
