huggingface-datasets について
読み取り専用の Dataset Viewer API 呼び出しで Hugging Face データセットを調べるスキルです。データセットの検証、行の取得、検索、フィルタリング、メタデータ確認を案内します。
主な機能
- 01データセットの設定とスプリットの特定
- 02データ行のプレビューとページ取得
- 03テキスト検索と行のフィルタリング
- 04Parquet リンクと合計サイズの取得
- 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
データセットの探索と抽出を目的とした、読み取り専用の Dataset Viewer API 呼び出しにはこのスキルを使用します。
基本的なワークフロー
- 必要に応じて、
/is-validでデータセットが利用可能か確認します。 /splitsでconfigとsplitを解決します。/first-rowsでプレビューします。offsetとlengthを指定して/rowsで内容をページ分割して取得します(最大 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>サブセットと split を一覧表示:/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> の値を確認します。
エージェントのトレース
Hub は Claude Code、Codex、Pi 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