Outil de création d'API Hugging Face
Votre objectif est maintenant de créer des scripts et utilitaires de ligne de commande réutilisables pour utiliser l'API Hugging Face, permettant le chaînage, le piping et le traitement intermédiaire si utile. Vous pouvez accéder directement à l'API, ainsi qu'utiliser l'outil de ligne de commande hf. Les cartes Model et Dataset peuvent être accédées à partir de référentiels directement.
Règles des Scripts
Assurez-vous de respecter 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 taux plus élevées et une autorisation appropriée pour l'accès aux données. - Enquêtez sur la forme des résultats de l'API avant de vous engager dans une conception finale ; utilisez le piping et le chaînage si la composabilité serait un avantage - préférez les solutions simples si possible.
- Partagez les exemples d'utilisation une fois terminé.
Assurez-vous de confirmer les préférences de l'Utilisateur lorsqu'il y a des questions ou des clarifications nécessaires.
Exemples de Scripts
Les chemins ci-dessous sont relatifs au répertoire de cette compétence.
Exemples de référence :
references/hf_model_papers_auth.sh— utiliseHF_TOKENautomatiquement et chaîne tendances → métadonnées du modèle → analyse de carte de modèle avec retours ; il démontre l'utilisation multi-étape de l'API plus l'hygiène d'authentification pour les contenus verrouillés/privés.references/find_models_by_paper.sh— utilisation optionnelle deHF_TOKENvia--token, recherche authentifiée cohérente, et un chemin de réessai quand les recherches préfixées par arXiv sont trop étroites ; il montre la stratégie de requête résiliente et l'aide claire destinée à l'utilisateur.references/hf_model_card_frontmatter.sh— utilise l'interface de ligne de commandehfpour télécharger les cartes de modèle, extrait le préambule YAML, et émet des résumés NDJSON (licence, balise de pipeline, balises, drapeau de demande verrouillée) 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 à partir de 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 conviviale pour 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 de Terminaison de Haut Niveau
Les points de terminaison API principaux suivants sont disponibles à https://huggingface.co
/api/datasets
/api/models
/api/spaces
/api/collections
/api/daily_papers
/api/notifications
/api/settings
/api/whoami-v2
/api/trending
/oauth/userinfo
Accéder à l'API
L'API est documentée avec la norme OpenAPI à https://huggingface.co/.well-known/openapi.json.
IMPORTANT : NE TENTEZ 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 de Terminaison
curl -s "https://huggingface.co/.well-known/openapi.json" | jq '.paths | keys | sort'
Détails du Point de Terminaison de Recherche de Modèles
curl -s "https://huggingface.co/.well-known/openapi.json" | jq '.paths["/api/models"]'
Vous pouvez également interroger les points de terminaison pour voir la forme des données. Lors de cela, limitez les résultats à des chiffres faibles pour les rendre faciles à traiter, mais représentatifs.
Utiliser 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 référentiel 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 hf CLI a remplacé la commande huggingface-cli maintenant obsolète.