package com.yice.webadmin.app.vo;

import com.yice.common.core.base.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * 知识图谱管理VO视图对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@ApiModel(value = "PluginConfigVO视图对象")
@Data
@EqualsAndHashCode(callSuper = true)
public class PluginConfigVo extends BaseVo {

    /**
     * 编排配置表ID。
     */
    @ApiModelProperty(value = "编排配置表ID")
    private Long configId;

    /**
     * 模型服务ID，外键。
     */
    @ApiModelProperty(value = "模型服务ID，外键")
    private Long serviceId;

    /**
     * 应用ID，外键。
     */
    @ApiModelProperty(value = "应用ID，外键")
    private Long apiId;

    /**
     * 温度，保留两位小数。
     */
    @ApiModelProperty(value = "温度，保留两位小数")
    private Double temperature;

    /**
     * 多样性，保留两位小数。
     */
    @ApiModelProperty(value = "多样性，保留两位小数")
    private BigDecimal diversity;

    /**
     * 重复惩罚。
     */
    @ApiModelProperty(value = "重复惩罚")
    private BigDecimal duplicatePenalty;

    /**
     * 提示词。
     */
    @ApiModelProperty(value = "提示词")
    private String prompt;

    /**
     * 插件编排知识库ID，外键。
     */
    @ApiModelProperty(value = "插件编排知识库ID，外键")
    private Long pluginKnowledgeId;

    /**
     * 多个知识库ids。
     */
    @ApiModelProperty(value = "多个知识库ids")
    private List<Long> knowledgeIds;

    /**
     * 最长上下文。
     */
    @ApiModelProperty(value = "最长上下文")
    private Integer maxLengthContext;

    /**
     * 开场白。
     */
    @ApiModelProperty(value = "开场白")
    private String openWords;

    /**
     * 备注。
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}
