package cn.com.poc.ai_dialogues.entity;

import cn.com.poc.agent_application.entity.KnowledgeSuperclassProblemConfig;
import cn.com.poc.thirdparty.resource.demand.ai.constants.KnowledgeSearchTypeEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.function.FunctionCallResult;

import java.util.List;

/**
 * @author alex.yao
 * @date 2025/9/9
 */
public class AiDialoguesOptions {

    Integer[] knowledgeIds;
    Integer[] databaseIds;
    Integer communicationTurn;
    Float topP;
    Float temperature;
    List<Tool> tools;
    FunctionCallResult functionCallResult;
    boolean stream;
    Double score;
    Integer topK;
    KnowledgeSearchTypeEnum knowledgeSearchType;
    KnowledgeSuperclassProblemConfig superclassProblemConfig;

    public Integer[] getKnowledgeIds() {
        return knowledgeIds;
    }

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

    public Integer[] getDatabaseIds() {
        return databaseIds;
    }

    public void setDatabaseIds(Integer[] databaseIds) {
        this.databaseIds = databaseIds;
    }

    public Integer getCommunicationTurn() {
        return communicationTurn;
    }

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

    public Float getTopP() {
        return topP;
    }

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

    public Float getTemperature() {
        return temperature;
    }

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

    public List<Tool> getTools() {
        return tools;
    }

    public void setTools(List<Tool> tools) {
        this.tools = tools;
    }

    public FunctionCallResult getFunctionCallResult() {
        return functionCallResult;
    }

    public void setFunctionCallResult(FunctionCallResult functionCallResult) {
        this.functionCallResult = functionCallResult;
    }

    public boolean isStream() {
        return stream;
    }

    public void setStream(boolean stream) {
        this.stream = stream;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public Integer getTopK() {
        return topK;
    }

    public void setTopK(Integer topK) {
        this.topK = topK;
    }

    public KnowledgeSearchTypeEnum getKnowledgeSearchType() {
        return knowledgeSearchType;
    }

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

    public KnowledgeSuperclassProblemConfig getSuperclassProblemConfig() {
        return superclassProblemConfig;
    }

    public void setSuperclassProblemConfig(KnowledgeSuperclassProblemConfig superclassProblemConfig) {
        this.superclassProblemConfig = superclassProblemConfig;
    }
}
