关于 huggingface-datasets
通过只读 Dataset Viewer API 调用探索 Hugging Face 数据集的技能。它指导验证数据集、获取数据行、搜索筛选内容及查看元数据。
主要功能
- 01解析数据集配置和拆分
- 02预览并分页读取数据行
- 03搜索文本并筛选行
- 04获取 Parquet 链接和数据总量
- 05查看统计信息与 Croissant 元数据
适用场景
- 01使用数据集前预览内容
- 02查找符合文本或条件的数据行
- 03检查数据集大小和列统计信息
- 04查找用于查询的 Parquet 分片
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ huggingface/ skills --skill huggingface-datasets安装后在 Claude Code 中输入/huggingface-datasets确认已加载。
详细介绍
Hugging Face 数据集查看器
使用此技能执行只读的 Dataset Viewer API 调用,以探索和提取数据集。
核心工作流
- 可选:通过
/is-valid验证数据集是否可用。 - 通过
/splits确定config和split。 - 使用
/first-rows预览。 - 使用
/rows分页获取内容,通过offset和length指定(最多为 100)。 - 使用
/search匹配文本,使用/filter筛选行。 - 通过
/parquet获取 parquet 链接,通过/size和/statistics获取总量和元数据。
默认值
- 基础 URL:
https://datasets-server.huggingface.co - 默认 API 方法:
GET - 查询参数应进行 URL 编码。
offset从 0 开始计数。- 对于行类端点,
length的上限通常为100。 - 受限或私有数据集需要
Authorization: Bearer <HF_TOKEN>。
Dataset Viewer
验证数据集:/is-valid?dataset=<namespace/repo>列出子集和拆分:/splits?dataset=<namespace/repo>预览前几行:/first-rows?dataset=<namespace/repo>&config=<config>&split=<split>分页获取行:/rows?dataset=<namespace/repo>&config=<config>&split=<split>&offset=<int>&length=<int>搜索文本:/search?dataset=<namespace/repo>&config=<config>&split=<split>&query=<text>&offset=<int>&length=<int>使用谓词筛选:/filter?dataset=<namespace/repo>&config=<config>&split=<split>&where=<predicate>&orderby=<sort>&offset=<int>&length=<int>列出 parquet 分片:/parquet?dataset=<namespace/repo>获取大小总量:/size?dataset=<namespace/repo>获取列统计信息:/statistics?dataset=<namespace/repo>&config=<config>&split=<split>获取 Croissant 元数据(如果可用):/croissant?dataset=<namespace/repo>
分页模式:
curl "https://datasets-server.huggingface.co/rows?dataset=stanfordnlp/imdb&config=plain_text&split=train&offset=0&length=100"
curl "https://datasets-server.huggingface.co/rows?dataset=stanfordnlp/imdb&config=plain_text&split=train&offset=100&length=100"
分页结果不完整时,使用 num_rows_total、num_rows_per_page 和 partial 等响应字段来驱动后续分页逻辑。
搜索/筛选说明:
/search会匹配字符串列(全文搜索式行为由 API 内部实现)。/filter的where中需要使用谓词语法,orderby中可选指定排序方式。- 筛选和搜索应保持只读,且不产生副作用。
如需通过 CLI 发现 parquet URL 或执行 SQL,请使用 hf-cli 技能以及 hf datasets parquet 和 hf datasets sql。
创建和上传数据集
根据依赖限制选择以下任一流程。
无需本地依赖(Hub UI):
- 在浏览器中创建数据集仓库:
https://huggingface.co/new-dataset - 在仓库的“Files and versions”页面上传 parquet 文件。
- 确认分片显示在 Dataset Viewer 中:
curl -s "https://datasets-server.huggingface.co/parquet?dataset=<namespace>/<repo>"
低依赖 CLI 流程(npx @huggingface/hub / hfjs):
- 设置认证令牌:
export HF_TOKEN=<your_hf_token>
- 将 parquet 文件夹上传到数据集仓库(如果仓库不存在则自动创建):
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data
- 创建时将仓库设为私有并上传:
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data --private
上传后,调用 /parquet,获取用于通过 @~parquet 查询的 <config>/<split>/<shard> 值。
Agent 轨迹
Hub 支持 Claude Code、Codex 和 Pi Agent 的原始 Agent 会话轨迹。将其作为原始 JSONL 文件上传到 Hugging Face Datasets,Hub 可以自动检测轨迹格式,将数据集标记为 Traces,并启用轨迹查看器,以浏览会话、轮次、工具调用和模型响应。常见的本地会话目录:
- Claude Code:
~/.claude/projects - Codex:
~/.codex/sessions - Pi:
~/.pi/agent/sessions
默认使用私有数据集仓库,因为轨迹可能包含提示词、文件路径、工具输出、机密信息或个人身份信息。保留原始 .jsonl 文件,并按项目/cwd 嵌套存放,而不是将所有会话都上传到数据集根目录。
hf repos create <namespace>/<repo> --type dataset --private --exist-ok
hf upload <namespace>/<repo> ~/.codex/sessions codex/<project-or-cwd> --type dataset
评论
支持 Markdown