Générateur d'outil API Hugging Face
Votre objectif est désormais de créer des scripts en ligne de commande réutilisables et des utilitaires pour utiliser l'API Hugging Face, permettant l'enchaînement, le piping et le traitement intermédiaire où utile. Vous pouvez accéder à l'API directement, ainsi qu'utiliser l'outil en ligne de commande hf. Les cartes de modèles et de datasets peuvent être consultées directement depuis les repositories.
Règles de script
Assurez-vous de suivre ces règles :
- Les scripts doivent accepter un argument de ligne de commande
--helppour décrire leurs entrées et sorties - Les scripts non-destructifs doivent être testés avant remise à l'utilisateur
- Les scripts shell sont préférés, mais utilisez Python ou TSX si la complexité ou les besoins de l'utilisateur l'exigent.
- IMPORTANT : Utilisez la variable d'environnement
HF_TOKENcomme en-tête Authorization. Par exemple :curl -H "Authorization: Bearer ${HF_TOKEN}" https://huggingface.co/api/. Cela fournit des limites de débit plus élevées et une autorisation appropriée pour l'accès aux données. - Investiguer la structure des résultats API avant de s'engager dans une conception finale ; faites usage du piping et de l'enchaînement où la composabilité serait un avantage - préférez les solutions simples quand possible.
- Partagez des exemples d'utilisation une fois terminé.
Assurez-vous de confirmer les préférences de l'utilisateur en cas de questions ou de clarifications nécessaires.
Scripts exemple
Les chemins ci-dessous sont relatifs à ce répertoire de skill.
Exemples de référence :
references/hf_model_papers_auth.sh— utiliseHF_TOKENautomatiquement et enchaîne tendances → métadonnées de modèle → parsing de carte de modèle avec fallbacks ; cela démontre l'utilisation multi-étapes de l'API et la conformité d'authentification pour le contenu protégé/privé.references/find_models_by_paper.sh— utilisation optionnelle deHF_TOKENvia--token, recherche authentifiée cohérente, et un chemin de retry quand les recherches préfixées par arXiv sont trop étroites ; cela montre une stratégie de requête résiliente et une aide claire tournée vers l'utilisateur.references/hf_model_card_frontmatter.sh— utilise la CLIhfpour télécharger les cartes de modèles, extrait le frontmatter YAML, et émet des résumés NDJSON (licence, pipeline tag, tags, flag gated prompt) pour un filtrage facile.
Exemples de base (ultra-simples, logique minimale, sortie JSON brute avec en-tête HF_TOKEN) :
references/baseline_hf_api.sh— bashreferences/baseline_hf_api.py— pythonreferences/baseline_hf_api.tsx— typescript exécutable
Utilitaire composable (stdin → NDJSON) :
references/hf_enrich_models.sh— lit les ID de modèles depuis stdin, récupère les métadonnées par ID, émet un objet JSON par ligne pour les pipelines de streaming.
Composabilité via piping (sortie JSON adaptée au shell) :
references/baseline_hf_api.sh 25 | jq -r '.[].id' | references/hf_enrich_models.sh | jq -s 'sort_by(.downloads) | reverse | .[:10]'references/baseline_hf_api.sh 50 | jq '[.[] | {id, downloads}] | sort_by(.downloads) | reverse | .[:10]'printf '%s\n' openai/gpt-oss-120b meta-llama/Meta-Llama-3.1-8B | references/hf_model_card_frontmatter.sh | jq -s 'map({id, license, has_extra_gated_prompt})'
Points d'accès haut niveau
Les principaux points d'accès API disponibles à https://huggingface.co sont :
/api/datasets
/api/models
/api/spaces
/api/collections
/api/daily_papers
/api/notifications
/api/settings
/api/whoami-v2
/api/trending
/oauth/userinfo
Accès à l'API
L'API est documentée selon la norme OpenAPI à https://huggingface.co/.well-known/openapi.json.
IMPORTANT : N'ESSAYEZ PAS de lire https://huggingface.co/.well-known/openapi.json directement car c'est trop volumineux pour être traité.
IMPORTANT Utilisez jq pour interroger et extraire les parties pertinentes. Par exemple,
Commande pour obtenir les 160 points d'accès
curl -s "https://huggingface.co/.well-known/openapi.json" | jq '.paths | keys | sort'
Détails du point d'accès de recherche de modèles
curl -s "https://huggingface.co/.well-known/openapi.json" | jq '.paths["/api/models"]'
Vous pouvez aussi interroger les points d'accès pour voir la structure des données. Lors de cette interrogation, limitez les résultats à de petits nombres pour qu'ils soient faciles à traiter, tout en restant représentatifs.
Utilisation de l'outil de ligne de commande HF
L'outil de ligne de commande hf vous donne un accès supplémentaire au contenu et à l'infrastructure du repository Hugging Face.
❯ hf --help
Usage: hf [OPTIONS] COMMAND [ARGS]...
Hugging Face Hub CLI
Options:
--help Show this message and exit.
Commands:
auth Manage authentication (login, logout, etc.).
buckets Commands to interact with buckets.
cache Manage local cache directory.
collections Interact with collections on the Hub.
datasets Interact with datasets on the Hub.
discussions Manage discussions and pull requests on the Hub.
download Download files from the Hub.
endpoints Manage Hugging Face Inference Endpoints.
env Print information about the environment.
extensions Manage hf CLI extensions.
jobs Run and manage Jobs on the Hub.
models Interact with models on the Hub.
papers Interact with papers on the Hub.
repos Manage repos on the Hub.
skills Manage skills for AI assistants.
spaces Interact with spaces on the Hub.
sync Sync files between local directory and a bucket.
upload Upload a file or a folder to the Hub.
upload-large-folder Upload a large folder to the Hub.
version Print information about the hf version.
webhooks Manage webhooks on the Hub.
La commande CLI hf a remplacé la commande désormais dépréciée huggingface-cli.