
关于
在 Hugging Face Hub 上创建和管理数据集。支持初始化仓库、定义配置/系统提示、流式行更新和基于 SQL 的数据集查询/转换
name: hugging-face-datasets description: 在 Hugging Face Hub 上创建和管理数据集。支持初始化仓库、定义配置/系统提示词、流式行更新和基于 SQL 的数据集查询/转换。设计用于与 HF MCP 服务器配合实现全面的数据集工作流。 risk: unknown source: community
概述
本技能提供在 Hugging Face Hub 上管理数据集的工具,重点关注创建、配置、内容管理和基于 SQL 的数据操作。它旨在通过提供数据集编辑和查询功能来补充现有的 Hugging Face MCP 服务器。
适用场景
- 需要在 Hugging Face Hub 上创建、配置或更新数据集。
- 需要对 Hub 数据集进行 SQL 风格的查询、转换或导出流程。
- 直接管理数据集内容和元数据,而不仅仅是搜索现有数据集。
与 HF MCP 服务器的集成
- 使用 HF MCP 服务器:数据集发现、搜索和元数据检索
- 使用本技能:数据集创建、内容编辑、SQL 查询、数据转换和结构化数据格式化
版本
2.1.0
依赖
本技能使用带有内联依赖管理的 PEP 723 脚本
脚本使用以下命令运行时自动安装依赖:uv run scripts/script_name.py
- uv(Python 包管理器)
- 入门:参见下方"使用说明"了解 PEP 723 用法
核心能力
1. 数据集生命周期管理
- 初始化:创建具有正确结构的新数据集仓库
- 配置:存储详细配置,包括系统提示词和元数据
- 流式更新:无需下载整个数据集即可高效添加行
2. 基于 SQL 的数据集查询(新功能)
通过 scripts/sql_manager.py 使用 DuckDB SQL 查询任何 Hugging Face 数据集:
- 直接查询:使用
hf://协议对数据集运行 SQL - 模式发现:描述数据集结构和列类型
- 数据采样:获取随机样本进行探索
- 聚合:计数、直方图、唯一值分析
- 转换:使用 SQL 过滤、连接、重塑数据
- 导出和推送:将结果保存到本地或推送到新的 Hub 仓库
3. 多格式数据集支持
通过模板系统支持多种数据集类型:
- 聊天/对话:聊天模板、多轮对话、工具使用示例
- 文本分类:情感分析、意图检测、主题分类
- 问答:阅读理解、事实问答、知识库
- 文本补全:语言建模、代码补全、创意写作
- 表格数据:用于回归/分类任务的结构化数据
- 自定义格式:灵活的模式定义,适用于特殊需求
4. 质量保证功能
- JSON 验证:确保上传过程中的数据完整性
- 批处理:高效处理大型数据集
- 错误恢复:优雅处理上传失败和冲突
使用说明
本技能包含两个使用 PEP 723 内联依赖管理的 Python 脚本:
所有路径相对于包含此 SKILL.md 文件的目录。 脚本运行方式:
uv run scripts/script_name.py [参数]
scripts/dataset_manager.py- 数据集创建和管理scripts/sql_manager.py- 基于 SQL 的数据集查询和转换
前置条件
- 已安装
uv包管理器 - 必须设置
HF_TOKEN环境变量,且具有写入权限的令牌
SQL 数据集查询 (sql_manager.py)
使用 DuckDB SQL 查询、转换和推送 Hugging Face 数据集。hf:// 协议提供对任何公共数据集(或使用令牌访问私有数据集)的直接访问。
快速开始
# 查询数据集
uv run scripts/sql_manager.py query \
--dataset "cais/mmlu" \
--sql "SELECT * FROM data WHERE subject='nutrition' LIMIT 10"
# 获取数据集模式
uv run scripts/sql_manager.py describe --dataset "cais/mmlu"
# 随机采样行
uv run scripts/sql_manager.py sample --dataset "cais/mmlu" --n 5
# 带过滤条件的行计数
uv run scripts/sql_manager.py count --dataset "cais/mmlu" --where "subject='nutrition'"
SQL 查询语法
在 SQL 中使用 data 作为表名 - 它会被替换为实际的 hf:// 路径:
-- 基本查询
SELECT * FROM data LIMIT 10
-- 过滤
SELECT * FROM data WHERE subject='nutrition'
-- 聚合
SELECT subject, COUNT(*) as cnt FROM data GROUP BY subject ORDER BY cnt DESC
-- 列选择和转换
SELECT question, choices[answer] AS correct_answer FROM data
-- 正则匹配
SELECT * FROM data WHERE regexp_matches(question, 'nutrition|diet')
-- 字符串函数
SELECT regexp_replace(question, '\n', '') AS cleaned FROM data
常用操作
1. 探索数据集结构
# 获取模式
uv run scripts/sql_manager.py describe --dataset "cais/mmlu"
# 获取列中的唯一值
uv run scripts/sql_manager.py unique --da
兼容工具
Claude CodeCursor
标签
数据工程
