package cn.com.poc.agent_application.entity;

import cn.com.poc.agent_application.domain.AgentApplicationVoiceConfig;

import javax.persistence.Column;
import java.util.Arrays;
import java.util.List;

public class BizAgentApplicationInfoEntity {

    private static final long serialVersionUID = 1L;
    /**
     * id
     * 自增ID
     */
    private java.lang.Integer id;

    public java.lang.Integer getId() {
        return this.id;
    }

    public void setId(java.lang.Integer id) {
        this.id = id;
    }

    /**
     * member_id
     * 创建应用的用户ID
     */
    private java.lang.Integer memberId;

    public java.lang.Integer getMemberId() {
        return this.memberId;
    }

    public void setMemberId(java.lang.Integer memberId) {
        this.memberId = memberId;
    }

    /**
     * agent_id
     * agent应用ID
     */
    private java.lang.String agentId;

    public java.lang.String getAgentId() {
        return this.agentId;
    }

    public void setAgentId(java.lang.String agentId) {
        this.agentId = agentId;
    }

    /**
     * agent_avatar
     * 应用头像ICON地址
     */
    private java.lang.String agentAvatar;

    public java.lang.String getAgentAvatar() {
        return this.agentAvatar;
    }

    public void setAgentAvatar(java.lang.String agentAvatar) {
        this.agentAvatar = agentAvatar;
    }

    /**
     * agent_title
     * 应用标题
     */
    private java.lang.String agentTitle;

    public java.lang.String getAgentTitle() {
        return this.agentTitle;
    }

    public void setAgentTitle(java.lang.String agentTitle) {
        this.agentTitle = agentTitle;
    }

    /**
     * agent_desc
     * 应用描述
     */
    private java.lang.String agentDesc;

    public java.lang.String getAgentDesc() {
        return this.agentDesc;
    }

    public void setAgentDesc(java.lang.String agentDesc) {
        this.agentDesc = agentDesc;
    }

    /**
     * agent_system
     * 角色指令
     */
    private java.lang.String agentSystem;

    public java.lang.String getAgentSystem() {
        return this.agentSystem;
    }

    public void setAgentSystem(java.lang.String agentSystem) {
        this.agentSystem = agentSystem;
    }

    /**
     * agent_publish_status
     * 应用发布状态    草稿-draft   发布-publish
     */
    private java.lang.String agentPublishStatus;

    public java.lang.String getAgentPublishStatus() {
        return this.agentPublishStatus;
    }

    public void setAgentPublishStatus(java.lang.String agentPublishStatus) {
        this.agentPublishStatus = agentPublishStatus;
    }

    /**
     * publish_time
     * 发布时间
     */
    private java.util.Date publishTime;

    public java.util.Date getPublishTime() {
        return this.publishTime;
    }

    public void setPublishTime(java.util.Date publishTime) {
        this.publishTime = publishTime;
    }

    /**
     * preamble
     * 开场白
     */
    private java.lang.String preamble;

    public java.lang.String getPreamble() {
        return this.preamble;
    }

    public void setPreamble(java.lang.String preamble) {
        this.preamble = preamble;
    }

    /**
     * featured_questions
     * 推荐问
     */
    private java.lang.String[] featuredQuestions;

    public java.lang.String[] getFeaturedQuestions() {
        return this.featuredQuestions;
    }

    public void setFeaturedQuestions(java.lang.String[] featuredQuestions) {
        this.featuredQuestions = featuredQuestions;
    }

    /**
     * communication_turn
     * 对话上下文保存轮次 0-100
     */
    private java.lang.Integer communicationTurn;

    public java.lang.Integer getCommunicationTurn() {
        return this.communicationTurn;
    }

    public void setCommunicationTurn(java.lang.Integer communicationTurn) {
        this.communicationTurn = communicationTurn;
    }

    /**
     * continuous_question_status
     * 追问状态   默认-default   自定义-customizable  关闭-close
     */
    private java.lang.String continuousQuestionStatus;

    public java.lang.String getContinuousQuestionStatus() {
        return this.continuousQuestionStatus;
    }

    public void setContinuousQuestionStatus(java.lang.String continuousQuestionStatus) {
        this.continuousQuestionStatus = continuousQuestionStatus;
    }

    /**
     * continuous_question_system
     * 追问prompt
     */
    private java.lang.String continuousQuestionSystem;

    public java.lang.String getContinuousQuestionSystem() {
        return this.continuousQuestionSystem;
    }

    public void setContinuousQuestionSystem(java.lang.String continuousQuestionSystem) {
        this.continuousQuestionSystem = continuousQuestionSystem;
    }

    /**
     * continuous_question_turn
     * 追问轮次 1-5
     */
    private java.lang.Integer continuousQuestionTurn;

    public java.lang.Integer getContinuousQuestionTurn() {
        return this.continuousQuestionTurn;
    }

    public void setContinuousQuestionTurn(java.lang.Integer continuousQuestionTurn) {
        this.continuousQuestionTurn = continuousQuestionTurn;
    }

    /**
     * knowledge_ids
     * 知识库ID
     */
    private java.lang.Integer[] knowledgeIds;

    public java.lang.Integer[] getKnowledgeIds() {
        return this.knowledgeIds;
    }

    public void setKnowledgeIds(java.lang.Integer[] knowledgeIds) {
        this.knowledgeIds = knowledgeIds;
    }

    /**
     * 知识库检索方式
     * 1、混合检索  - MIX
     * 2、语义检索  - SEMANTIC
     * 3. 关键词检索 - KEY_WORD
     */
    private java.lang.String knowledgeSearchType;

    public String getKnowledgeSearchType() {
        return knowledgeSearchType;
    }

    public void setKnowledgeSearchType(String knowledgeSearchType) {
        this.knowledgeSearchType = knowledgeSearchType;
    }


    /**
     * 知识库相似度阈值
     */
    private Double knowledgeSimilarity;

    public Double getKnowledgeSimilarity() {
        return knowledgeSimilarity;
    }

    public void setKnowledgeSimilarity(Double knowledgeSimilarity) {
        this.knowledgeSimilarity = knowledgeSimilarity;
    }

    /**
     * 知识库检索结果数量
     */
    private Integer knowledgeNResult;

    public Integer getKnowledgeNResult() {
        return knowledgeNResult;
    }

    public void setKnowledgeNResult(Integer knowledgeNResult) {
        this.knowledgeNResult = knowledgeNResult;
    }


    /**
     * knowledge_response_type
     * 知识库回复类型
     * default-默认
     * custom-自定义
     */
    private String knowledgeResponseType;

    public String getKnowledgeResponseType() {
        return knowledgeResponseType;
    }

    public void setKnowledgeResponseType(String knowledgeResponseType) {
        this.knowledgeResponseType = knowledgeResponseType;
    }


    /**
     * knowledge_custom_response
     * 知识库自定义回复内容
     */
    private String[] knowledgeCustomResponse;

    public String[] getKnowledgeCustomResponse() {
        return knowledgeCustomResponse;
    }

    public void setKnowledgeCustomResponse(String[] knowledgeCustomResponse) {
        this.knowledgeCustomResponse = knowledgeCustomResponse;
    }

    /**
     * large_model
     * 问答模型
     */
    private java.lang.String largeModel;

    public java.lang.String getLargeModel() {
        return this.largeModel;
    }

    public void setLargeModel(java.lang.String largeModel) {
        this.largeModel = largeModel;
    }

    /**
     * top_p
     * 对话模型 多样性 [0-1.00]
     */
    private java.lang.Float topP;

    public java.lang.Float getTopP() {
        return this.topP;
    }

    public void setTopP(java.lang.Float topP) {
        this.topP = topP;
    }

    /**
     * temperature
     * 温度 (0-1.0]
     */
    private java.lang.Float temperature;

    public Float getTemperature() {
        return temperature;
    }

    public void setTemperature(Float temperature) {
        this.temperature = temperature;
    }

    /**
     * unit_ids
     * 组件ID
     */
    private java.lang.String[] unitIds;

    public java.lang.String[] getUnitIds() {
        return this.unitIds;
    }

    public void setUnitIds(java.lang.String[] unitIds) {
        this.unitIds = unitIds;
    }

    /**
     * variable_structure
     * 变量结构
     */
    private List<Variable> variableStructure;

    public List<Variable> getVariableStructure() {
        return variableStructure;
    }

    public void setVariableStructure(List<Variable> variableStructure) {
        this.variableStructure = variableStructure;
    }

    /**
     * is_long_memory
     * 是否开启长期记忆 1、Y 是 2、N 否
     */
    private java.lang.String isLongMemory;

    public java.lang.String getIsLongMemory() {
        return this.isLongMemory;
    }

    public void setIsLongMemory(java.lang.String isLongMemory) {
        this.isLongMemory = isLongMemory;
    }

    /**
     * is_document_parsing
     * 是否开启文档解析 1、Y 是 2、N 否
     */
    private java.lang.String isDocumentParsing;

    public java.lang.String getIsDocumentParsing() {
        return this.isDocumentParsing;
    }

    public void setIsDocumentParsing(java.lang.String isDocumentParsing) {
        this.isDocumentParsing = isDocumentParsing;
    }


    /**
     * voice_config
     * 声音配置 defaultOpen- 是否默认开启  timbreId-音色
     */
    private VoiceConfig voiceConfig;

    public VoiceConfig getVoiceConfig() {
        return voiceConfig;
    }

    public void setVoiceConfig(VoiceConfig voiceConfig) {
        this.voiceConfig = voiceConfig;
    }

    /**
     * is_deleted
     * 是否删除 1、Y 是 2、N 否
     */
    private java.lang.String isDeleted;

    public java.lang.String getIsDeleted() {
        return this.isDeleted;
    }

    public void setIsDeleted(java.lang.String isDeleted) {
        this.isDeleted = isDeleted;
    }

    /**
     * CREATOR
     * 创建人
     */
    private java.lang.String creator;

    public java.lang.String getCreator() {
        return this.creator;
    }

    public void setCreator(java.lang.String creator) {
        this.creator = creator;
    }

    /**
     * CREATED_TIME
     * 创建时间
     */
    private java.util.Date createdTime;

    public java.util.Date getCreatedTime() {
        return this.createdTime;
    }

    public void setCreatedTime(java.util.Date createdTime) {
        this.createdTime = createdTime;
    }

    /**
     * MODIFIER
     * 修改人
     */
    private java.lang.String modifier;

    public java.lang.String getModifier() {
        return this.modifier;
    }

    public void setModifier(java.lang.String modifier) {
        this.modifier = modifier;
    }

    /**
     * MODIFIED_TIME
     * 修改时间
     */
    private java.util.Date modifiedTime;

    public java.util.Date getModifiedTime() {
        return this.modifiedTime;
    }

    public void setModifiedTime(java.util.Date modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    /**
     * SYS_VERSION
     * 乐观锁,版本号
     */
    private java.lang.Integer sysVersion;

    public java.lang.Integer getSysVersion() {
        return this.sysVersion;
    }

    public void setSysVersion(java.lang.Integer sysVersion) {
        this.sysVersion = sysVersion;
    }

    @Override
    public String toString() {
        return "BizAgentApplicationInfoEntity{" +
                "id=" + id +
                ", memberId=" + memberId +
                ", agentId='" + agentId + '\'' +
                ", agentAvatar='" + agentAvatar + '\'' +
                ", agentTitle='" + agentTitle + '\'' +
                ", agentDesc='" + agentDesc + '\'' +
                ", agentSystem='" + agentSystem + '\'' +
                ", agentPublishStatus='" + agentPublishStatus + '\'' +
                ", publishTime=" + publishTime +
                ", preamble='" + preamble + '\'' +
                ", featuredQuestions=" + Arrays.toString(featuredQuestions) +
                ", communicationTurn=" + communicationTurn +
                ", continuousQuestionStatus='" + continuousQuestionStatus + '\'' +
                ", continuousQuestionSystem='" + continuousQuestionSystem + '\'' +
                ", continuousQuestionTurn=" + continuousQuestionTurn +
                ", knowledgeIds=" + Arrays.toString(knowledgeIds) +
                ", largeModel='" + largeModel + '\'' +
                ", topP=" + topP +
                ", unitIds=" + Arrays.toString(unitIds) +
                ", variableStructure=" + variableStructure +
                ", isLongMemory='" + isLongMemory + '\'' +
                ", isDeleted='" + isDeleted + '\'' +
                ", creator='" + creator + '\'' +
                ", createdTime=" + createdTime +
                ", modifier='" + modifier + '\'' +
                ", modifiedTime=" + modifiedTime +
                ", sysVersion=" + sysVersion +
                '}';
    }
}