package cn.iocoder.yudao.module.llm.controller.admin.dataset.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 数据集新增/修改 Request VO")
@Data
public class DatasetSaveReqVO {

    @Schema(description = "数据集ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20128")
    private Long id;

    @Schema(description = "数据集名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "数据集名称不能为空")
    private String datasetName;

    @Schema(description = "数据集类型，使用字典（llm_dataset_category_1、llm_dataset_category_2）")
    private Integer datasetCategory;

    @Schema(description = "状态，使用字典（llm_mark_status）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "状态，使用字典（llm_mark_status）不能为空")
    private Integer status;

    @Schema(description = "数据集描述")
    private String datasetIntro;

    @Schema(description = "数据文件")
    private Long datasetFile;

    @Schema(description = "数据集类型，（1-训练数据集、2-评估数据集）", example = "1")
    private Integer datasetType;

    @Schema(description = "文件URL地址", example = "https://www.iocoder.cn")
    private String datasetFileUrl;

    @Schema(description = "数据集类型 0 普通 1 官方", example = "1")
    private Integer type;

    @Schema(description = "数据长度", example = "128")
    private Long dataLength;

    @Schema(description = "标注进度", example = "20")
    private Integer annotateProgress;

    @Schema(description = "数据集数据文件", example = "[]")
    private List<DatasetFilesSaveReqVO> datasetFiles;

}
