huggingface-datasets

--- Utilisez cette compétence pour les flux de travail de l'API Hugging Face Dataset Viewer qui récupèrent les métadonnées de sous-ensemble/division, paginatent les lignes, recherchent du texte, appliquent des filtres, téléchargent les URL parquet et lisent la taille ou les statistiques.

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

Visionneuse de Dataset Hugging Face

Utilisez cette compétence pour exécuter des appels en lecture seule à l'API Dataset Viewer pour l'exploration et l'extraction de datasets.

Flux de travail principal

  1. Validez optionnellement la disponibilité du dataset avec /is-valid.
  2. Résolvez config + split avec /splits.
  3. Prévisualisez avec /first-rows.
  4. Paginez le contenu avec /rows en utilisant offset et length (max 100).
  5. Utilisez /search pour la correspondance de texte et /filter pour les prédicats de lignes.
  6. Récupérez les liens parquet via /parquet et les totaux/métadonnées via /size et /statistics.

Paramètres par défaut

  • URL de base : https://datasets-server.huggingface.co
  • Méthode API par défaut : GET
  • Les paramètres de requête doivent être codés en URL.
  • offset est basé sur 0.
  • Le maximum de length est généralement 100 pour les endpoints de type ligne.
  • Les datasets protégés/privés nécessitent Authorization: Bearer <HF_TOKEN>.

Visionneuse de Dataset

  • Valider le dataset : /is-valid?dataset=<namespace/repo>
  • Lister les sous-ensembles et splits : /splits?dataset=<namespace/repo>
  • Prévisualiser les premières lignes : /first-rows?dataset=<namespace/repo>&config=<config>&split=<split>
  • Paginer les lignes : /rows?dataset=<namespace/repo>&config=<config>&split=<split>&offset=<int>&length=<int>
  • Rechercher du texte : /search?dataset=<namespace/repo>&config=<config>&split=<split>&query=<text>&offset=<int>&length=<int>
  • Filtrer avec des prédicats : /filter?dataset=<namespace/repo>&config=<config>&split=<split>&where=<predicate>&orderby=<sort>&offset=<int>&length=<int>
  • Lister les shards parquet : /parquet?dataset=<namespace/repo>
  • Obtenir les totaux de taille : /size?dataset=<namespace/repo>
  • Obtenir les statistiques des colonnes : /statistics?dataset=<namespace/repo>&config=<config>&split=<split>
  • Obtenir les métadonnées Croissant (si disponible) : /croissant?dataset=<namespace/repo>

Motif de pagination :

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"

Lorsque la pagination est partielle, utilisez des champs de réponse tels que num_rows_total, num_rows_per_page et partial pour orienter la logique de continuation.

Notes sur la recherche/filtrage :

  • /search fait correspondre les colonnes de chaîne (le comportement en texte intégral est interne à l'API).
  • /filter nécessite une syntaxe de prédicat dans where et un tri optionnel dans orderby.
  • Maintenez le filtrage et les recherches en lecture seule et sans effets secondaires.

Interroger les Datasets

Utilisez npx parquetlens avec les chemins d'alias parquet Hub pour les requêtes SQL.

Forme d'alias Parquet :

hf://datasets/<namespace>/<repo>@~parquet/<config>/<split>/<shard>.parquet

Dérivez <config>, <split> et <shard> à partir de Dataset Viewer /parquet :

curl -s "https://datasets-server.huggingface.co/parquet?dataset=cfahlgren1/hub-stats" \
  | jq -r '.parquet_files[] | "hf://datasets/\(.dataset)@~parquet/\(.config)/\(.split)/\(.filename)"'

Exécutez une requête SQL :

npx -y -p parquetlens -p @parquetlens/sql parquetlens \
  "hf://datasets/<namespace>/<repo>@~parquet/<config>/<split>/<shard>.parquet" \
  --sql "SELECT * FROM data LIMIT 20"

Export SQL

  • CSV : --sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.csv' (FORMAT CSV, HEADER, DELIMITER ',')"
  • JSON : --sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.json' (FORMAT JSON)"
  • Parquet : --sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.parquet' (FORMAT PARQUET)"

Créer et Télécharger des Datasets

Utilisez l'un de ces flux selon vos contraintes de dépendances.

Zéro dépendance locale (Hub UI) :

  • Créer un repo de dataset dans le navigateur : https://huggingface.co/new-dataset
  • Télécharger les fichiers parquet dans la page "Files and versions" du repo.
  • Vérifiez que les shards apparaissent dans la Visionneuse de Dataset :
curl -s "https://datasets-server.huggingface.co/parquet?dataset=<namespace>/<repo>"

Flux CLI à faible dépendance (npx @huggingface/hub / hfjs) :

  • Définir le token d'authentification :
export HF_TOKEN=<your_hf_token>
  • Télécharger le dossier parquet vers un repo de dataset (crée automatiquement le repo s'il manque) :
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data
  • Télécharger en tant que repo privé lors de la création :
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data --private

Après le téléchargement, appelez /parquet pour découvrir les valeurs <config>/<split>/<shard> pour les requêtes avec @~parquet.