package com.infoepoch.pms.dispatchassistant.domain.langchain.record.conversation.line;

import java.math.BigDecimal;
import java.util.Date;

public class ConversationLine {

    public ConversationLine() {
    }

    /**
     * 仓储还原
     *
     * @param id
     * @param conversationId
     * @param type
     * @param query
     * @param stream
     * @param modelName
     * @param temperature
     * @param maxTokens
     * @param promptName
     * @param historyLen
     * @param n
     * @param stop
     * @param presencePenalty
     * @param frequencyPenalty
     * @param knowledgeBaseName
     * @param topK
     * @param scoreThreshold
     * @param searchEngineName
     * @param createTime
     * @param result
     * @param errorFlag
     * @param errorDetail
     * @param answer
     */
    public ConversationLine(String id, String conversationId, String type, String query, Boolean stream, String modelName,
                            BigDecimal temperature, Integer maxTokens, String promptName, Integer historyLen, Integer n,
                            String stop, Integer presencePenalty, Integer frequencyPenalty, String knowledgeBaseName,
                            Integer topK, Integer scoreThreshold, String searchEngineName, Date createTime, String result,
                            Boolean errorFlag, String errorDetail, String answer) {
        this.id = id;
        this.conversationId = conversationId;
        this.type = type;
        this.query = query;
        this.stream = stream;
        this.modelName = modelName;
        this.temperature = temperature;
        this.maxTokens = maxTokens;
        this.promptName = promptName;
        this.historyLen = historyLen;
        this.n = n;
        this.stop = stop;
        this.presencePenalty = presencePenalty;
        this.frequencyPenalty = frequencyPenalty;
        this.knowledgeBaseName = knowledgeBaseName;
        this.topK = topK;
        this.scoreThreshold = scoreThreshold;
        this.searchEngineName = searchEngineName;
        this.createTime = createTime;
        this.result = result;
        this.errorFlag = errorFlag;
        this.errorDetail = errorDetail;
        this.answer = answer;
    }

    private String id;
    private String conversationId;
    private String type;
    private String query;
    private Boolean stream;
    private String modelName;
    private BigDecimal temperature;
    private Integer maxTokens;
    private String promptName;
    private Integer historyLen;
    private Integer n;
    private String stop;
    private Integer presencePenalty;
    private Integer frequencyPenalty;
    private String knowledgeBaseName;
    private Integer topK;
    private Integer scoreThreshold;
    private String searchEngineName;
    private Date createTime;
    private String result;
    private Boolean errorFlag;
    private String errorDetail;
    private String answer;

    public String getId() {
        return id;
    }

    public String getConversationId() {
        return conversationId;
    }

    public String getType() {
        return type;
    }

    public String getQuery() {
        return query;
    }

    public Boolean getStream() {
        return stream;
    }

    public String getModelName() {
        return modelName;
    }

    public BigDecimal getTemperature() {
        return temperature;
    }

    public Integer getMaxTokens() {
        return maxTokens;
    }

    public String getPromptName() {
        return promptName;
    }

    public Integer getHistoryLen() {
        return historyLen;
    }

    public Integer getN() {
        return n;
    }

    public String getStop() {
        return stop;
    }

    public Integer getPresencePenalty() {
        return presencePenalty;
    }

    public Integer getFrequencyPenalty() {
        return frequencyPenalty;
    }

    public String getKnowledgeBaseName() {
        return knowledgeBaseName;
    }

    public Integer getTopK() {
        return topK;
    }

    public Integer getScoreThreshold() {
        return scoreThreshold;
    }

    public String getSearchEngineName() {
        return searchEngineName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public String getResult() {
        return result;
    }

    public Boolean getErrorFlag() {
        return errorFlag;
    }

    public String getErrorDetail() {
        return errorDetail;
    }

    public String getAnswer() {
        return answer;
    }
}
