--- name: arkcli-datasets description: 使用 ArkCLI 创建、校验、查询、更新、删除、版本化和下载 Dataset。用户提到 Dataset、数据集、ds-*、dsv-*、训练集/验证集复用、数据格式校验或把 Dataset 接入精调任务时使用。 --- # ArkCLI 数据集 先读取 [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md),遵循认证、输出、安全、Client Preview 和二次确认规则。 ## 能力范围 - 创建 Dataset 及首个 `V1`,或为已有 Dataset 创建新版本。 - 从本地 `.jsonl` 文件或同一 TOS bucket 下的对象映射数据。 - 根据基础模型的精调配置解析准确 `DatasetSchema` 并执行服务端校验。 - 查询、更新、删除 Dataset,查询版本,下载版本中的 TOS 对象。 - 为 `train finetune create` 产出稳定的 `:` 引用。 只处理精调任务本身时改用 [`../arkcli-train-finetune/SKILL.md`](../arkcli-train-finetune/SKILL.md)。不要用 Raw API 模拟已有的 `dataset` 产品命令。 ## 执行守卫 1. 先执行 `arkcli auth status`;认证失败时按 shared skill 恢复。 2. 执行前读取目标叶子命令的 `--help`,以当前安装版本为准。 3. `--dataset-format` 只接受 `LLMSft`、`LLMPretrain`、`LLMDPO`、`LLMRL`、`EmbeddingSft`、`ImageGenSft`、`VideoGenSft`;不要发送展示文案或其他后端 SchemaType。 4. `--local` 与 `--tos-uri` 互斥。本地输入只接受 `.jsonl`,最多 20 个文件;多个 TOS URI 必须属于同一 bucket。`--tos-uri` 必须能被当前身份列举且至少包含一个 `.jsonl`;不能复用 CLI 上传结果中的 `ds-ds/*` 暂存路径,应使用已注册版本的 `ark/dataset///` 路径或其他可读数据路径。 5. 创建和新增版本会先逐个校验输入;`ValidateDataset.StorageRawLocation.Storage` 不发送 `AccountID`,但随后两种工作流的 `CreateDatasetVersion.Storage` 都必须发送当前账号的数值型 `AccountID`。`CreateDatasetVersion` 不发送可选的 `Name`,CLI 也不提供该参数;正式版本号完全以服务端响应中的 `Version` 为准。任一步失败都保留已上传对象或已创建 Dataset,不臆造回滚。 6. `dataset version get --preview` 读取每个对象最多 100 KiB(102400 字节)内容,与控制台 Dataset 预览上限一致;版本 SID 仍可省略 Dataset ID。下载既支持 `dataset download ... --version ...`,也支持 `dataset version download `,且都不覆盖已有文件。 7. 删除前先展示版本数、存储路径数以及可获取时的对象数和总字节数,再单独确认。 8. 创建、版本创建、校验、下载、更新、删除支持叶子级 `--dry-run`。只读的 list/get 不使用 `--dry-run`;`version get --preview` 是真实只读查询,不是 Client Preview。 9. Client Preview 只展示离线计划;它不上传、不校验服务端数据,也不代替删除确认。 Volc 本地上传使用当前 profile 对应区域的 TOS endpoint,并启用 bucket rename。 ## 工作流 - 创建、维护、校验、下载:读取 [`references/commands.md`](references/commands.md)。 - Dataset 接入精调:完成 Dataset 后读取 [`../arkcli-train-finetune/references/create.md`](../arkcli-train-finetune/references/create.md)。 - 维护者评测:读取 [`references/evals.md`](references/evals.md)。 只加载当前任务需要的 reference。