package cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @Schema(description = "管理后台 - AI 知识库文档创建 Request VO") @Data public class AiKnowledgeDocumentCreateReqVO { @Schema(description = "知识库编号", example = "1") @NotNull(message = "知识库不能为空") private Long knowledgeId; @Schema(description = "分段最大 Token 数", example = "500") private Integer segmentMaxTokens; @Schema(description = "文档列表") @NotEmpty(message = "文档列表不能为空") private List<@Valid DocumentItem> list; @Data public static class DocumentItem { @Schema(description = "文档名称", example = "产品手册.pdf") @NotEmpty(message = "文档名称不能为空") private String name; @Schema(description = "文档 URL 信息") private UrlInfo url; } @Data public static class UrlInfo { @Schema(description = "文档 URL") private String url; @Schema(description = "文档名称") private String name; @Schema(description = "文件 ID") private Long id; } }