package com.fs.fastgptApi.param;

import lombok.Data;

import java.util.List;

/**
* 为集合批量添加添加数据（每次最多推送 200 组数据）
*/
@Data
public class AddDataToCollectionBatchParam {

    /**
    *  集合ID（必填）
    */
    public String collectionId;
    /**
     * （必填）
    * chunk: 按文本长度进行分割
     * qa: QA拆分
    */
    public String trainingMode;
    public String trainingType;
    /**
    * 自定义 QA 拆分提示词，需严格按照模板，建议不要传入。（选填）,可选。qa 拆分引导词，chunk 模式下忽略
    */
    public String prompt;
    /**
    * 可选。如果有这个值，本次的数据会被聚合到一个订单中，这个值可以重复使用。可以参考 [创建训练订单] 获取该值
    */
    public String billId;
    public List<DataItem> data;

    @Data
    public static class DataItem {
        /**
        * q: 主要数据（必填）
        */
        public String q;
        /**
        * a: 辅助数据（选填）
        */
        public String a;
        /**
        * 自定义索引（选填）。可以不传或者传空数组，默认都会使用q和a组成一个索引。
        */
        public List<Index> indexes;
    }

    @Data
    public static class Index {
        public String text;
    }
}
