mcpField
H
huggingface-datasets

huggingface-datasets

github.com/huggingfaceデータ・データベース11.2k2.5k 回インストール5 日前に更新
リポジトリ

huggingface-datasets について

読み取り専用の Dataset Viewer API 呼び出しで Hugging Face データセットを調べるスキルです。データセットの検証、行の取得、検索、フィルタリング、メタデータ確認を案内します。

主な機能

  1. 01データセットの設定とスプリットの特定
  2. 02データ行のプレビューとページ取得
  3. 03テキスト検索と行のフィルタリング
  4. 04Parquet リンクと合計サイズの取得
  5. 05統計情報と Croissant メタデータの確認

活用シーン

  1. 01利用前のデータセット内容のプレビュー
  2. 02テキストや条件に合う行の検索
  3. 03データセット容量と列統計の確認
  4. 04クエリ用 Parquet シャードの特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huggingface/skills --skill huggingface-datasets

インストール後、Claude Code で/huggingface-datasetsを入力して読み込まれたか確認します。

詳細

Hugging Face Dataset Viewer

データセットの探索と抽出を目的とした、読み取り専用の Dataset Viewer API 呼び出しにはこのスキルを使用します。

基本的なワークフロー

  1. 必要に応じて、/is-valid でデータセットが利用可能か確認します。
  2. /splits で config と split を解決します。
  3. /first-rows でプレビューします。
  4. offset と length を指定して /rows で内容をページ分割して取得します(最大 100)。
  5. テキストの一致には /search、行の条件には /filter を使用します。
  6. /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

コメント