huggingface-papers

Consultez et lisez les pages de papers Hugging Face en markdown, et utilisez l'API papers pour les métadonnées structurées telles que les auteurs, les modèles/datasets/spaces liés, le dépôt Github et la page du projet. À utiliser lorsque l'utilisateur partage l'URL d'une page de paper Hugging Face, une URL ou un identifiant arXiv, ou demande de résumer, d'expliquer ou d'analyser un paper de recherche en IA.

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

Pages de Papiers Hugging Face

Les pages de papiers Hugging Face (hf.co/papers) sont une plateforme construite sur arXiv (arxiv.org), spécifiquement pour les articles de recherche dans le domaine de l'intelligence artificielle (IA) et de l'informatique. Les utilisateurs de Hugging Face peuvent soumettre leur article à hf.co/papers/submit, ce qui le présente dans le flux Daily Papers (hf.co/papers). Chaque jour, les utilisateurs peuvent voter pour les articles et commenter. Chaque page d'article permet aux auteurs de :

  • revendiquer leur article (en cliquant sur leur nom dans le champ authors). Cela fait apparaître la page de l'article sur leur profil Hugging Face.
  • lier les checkpoints de modèles, datasets et Spaces associés en incluant l'URL du papier HF ou arXiv dans la model card, dataset card ou README du Space
  • lier le repository GitHub et/ou les URLs de page de projet
  • lier l'organisation HF. Cela fait également apparaître la page de l'article sur la page de l'organisation Hugging Face.

Chaque fois que quelqu'un mentionne une URL de papier HF ou d'abstract/PDF arXiv dans une model card, dataset card ou README d'un repository Space, l'article sera automatiquement indexé. Notez que tous les articles indexés sur Hugging Face ne sont pas soumis aux Daily Papers. Ce dernier est plutôt une façon de promouvoir un article de recherche. Les articles ne peuvent être soumis aux Daily Papers que jusqu'à 14 jours après leur date de publication sur arXiv.

L'équipe Hugging Face a construit une API facile à utiliser pour interagir avec les pages d'articles. Le contenu des articles peut être récupéré sous forme de markdown, ou des métadonnées structurées peuvent être retournées comme les noms d'auteurs, les modèles/datasets/spaces liés, le repository GitHub lié et la page de projet.

Quand l'utiliser

  • L'utilisateur partage une URL de page de papier Hugging Face (par exemple https://huggingface.co/papers/2602.08025)
  • L'utilisateur partage une URL de page de papier markdown Hugging Face (par exemple https://huggingface.co/papers/2602.08025.md)
  • L'utilisateur partage une URL arXiv (par exemple https://arxiv.org/abs/2602.08025 ou https://arxiv.org/pdf/2602.08025)
  • L'utilisateur mentionne un identifiant arXiv (par exemple 2602.08025)
  • L'utilisateur te demande de résumer, expliquer ou analyser un article de recherche en IA

Parsing de l'identifiant du papier

Il est recommandé d'extraire l'identifiant du papier (ID arXiv) de tout ce que l'utilisateur fournit :

Entrée Identifiant du papier
https://huggingface.co/papers/2602.08025 2602.08025
https://huggingface.co/papers/2602.08025.md 2602.08025
https://arxiv.org/abs/2602.08025 2602.08025
https://arxiv.org/pdf/2602.08025 2602.08025
2602.08025v1 2602.08025v1
2602.08025 2602.08025

Cela te permet de fournir l'identifiant du papier dans n'importe quel endpoint de l'API hub mentionné ci-dessous.

Récupérer la page du papier sous forme de markdown

Le contenu d'un papier peut être récupéré sous forme de markdown ainsi :

curl -s "https://huggingface.co/papers/{PAPER_ID}.md"

Cela devrait retourner la page du papier Hugging Face sous forme de markdown. Cela repose sur la version HTML du papier à https://arxiv.org/html/{PAPER_ID}.

Il y a 2 exceptions :

  • Tous les papiers arXiv n'ont pas une version HTML. Si la version HTML du papier n'existe pas, le contenu bascule à la version HTML de la page du papier Hugging Face.
  • Si cela donne une erreur 404, cela signifie que l'article n'est pas encore indexé sur hf.co/papers. Voir Error handling pour plus d'info.

Alternatively, tu peux demander le markdown depuis l'URL normale de la page du papier, comme ceci :

curl -s -H "Accept: text/markdown" "https://huggingface.co/papers/{PAPER_ID}"

Endpoints de l'API Paper Pages

Tous les endpoints utilisent l'URL de base https://huggingface.co.

Récupérer les métadonnées structurées

Récupère les métadonnées du papier en JSON en utilisant l'API REST Hugging Face :

curl -s "https://huggingface.co/api/papers/{PAPER_ID}"

Cela retourne des métadonnées structurées qui peuvent inclure :

  • auteurs (noms et noms d'utilisateurs Hugging Face, si c'est qu'ils ont revendiqué le papier)
  • URLs des médias (uploadés lors de la soumission du papier aux Daily Papers)
  • résumé (abstract) et résumé généré par l'IA
  • page de projet et repository GitHub
  • organisation et métadonnées d'engagement (nombre de votes positifs)

Pour trouver les modèles liés au papier, utilise :

curl https://huggingface.co/api/models?filter=arxiv:{PAPER_ID}

Pour trouver les datasets liés au papier, utilise :

curl https://huggingface.co/api/datasets?filter=arxiv:{PAPER_ID}

Pour trouver les spaces liés au papier, utilise :

curl https://huggingface.co/api/spaces?filter=arxiv:{PAPER_ID}

Revendiquer la paternité d'un papier

Revendique la paternité d'un papier pour un utilisateur Hugging Face :

curl "https://huggingface.co/api/settings/papers/claim" \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer $HF_TOKEN" \
  --data '{
    "paperId": "{PAPER_ID}",
    "claimAuthorId": "{AUTHOR_ENTRY_ID}",
    "targetUserId": "{USER_ID}"
  }'
  • Endpoint : POST /api/settings/papers/claim
  • Body :
    • paperId (string, required) : identifiant du papier arXiv revendiqué
    • claimAuthorId (string) : entrée d'auteur du papier revendiqué, ID hex de 24 caractères
    • targetUserId (string) : utilisateur HF qui devrait recevoir la revendication, ID hex de 24 caractères
  • Response : résultat de la revendication de paternité du papier, incluant l'ID du papier revendiqué

Récupérer les Daily Papers

Récupère le flux Daily Papers :

curl -s -H "Authorization: Bearer $HF_TOKEN" \
  "https://huggingface.co/api/daily_papers?p=0&limit=20&date=2017-07-21&sort=publishedAt"
  • Endpoint : GET /api/daily_papers
  • Query parameters :
    • p (integer) : numéro de page
    • limit (integer) : nombre de résultats, entre 1 et 100
    • date (string) : RFC 3339 full-date, par exemple 2017-07-21
    • week (string) : semaine ISO, par exemple 2024-W03
    • month (string) : valeur du mois, par exemple 2024-01
    • submitter (string) : filtrer par responsable de la soumission
    • sort (enum) : publishedAt ou trending
  • Response : liste des Daily Papers

Lister les papiers

Liste les papiers arXiv triés par date de publication :

curl -s -H "Authorization: Bearer $HF_TOKEN" \
  "https://huggingface.co/api/papers?cursor={CURSOR}&limit=20"
  • Endpoint : GET /api/papers
  • Query parameters :
    • cursor (string) : curseur de pagination
    • limit (integer) : nombre de résultats, entre 1 et 100
  • Response : liste des papiers

Rechercher des papiers

Effectue une recherche hybride sémantique et full-text sur les papiers :

curl -s -H "Authorization: Bearer $HF_TOKEN" \
  "https://huggingface.co/api/papers/search?q=vision+language&limit=20"

Cela recherche dans le titre du papier, les auteurs et le contenu.

  • Endpoint : GET /api/papers/search
  • Query parameters :
    • q (string) : requête de recherche, longueur max 250
    • limit (integer) : nombre de résultats, entre 1 et 120
  • Response : papiers correspondants

Indexer un papier

Insérer un papier depuis arXiv par ID. Si le papier est déjà indexé, seuls ses auteurs peuvent le ré-indexer :

curl "https://huggingface.co/api/papers/index" \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer $HF_TOKEN" \
  --data '{
    "arxivId": "{ARXIV_ID}"
  }'
  • Endpoint : POST /api/papers/index
  • Body :
    • arxivId (string, required) : ID arXiv à indexer, par exemple 2301.00001
  • Pattern : ^\d{4}\.\d{4,5}$
  • Response : objet JSON vide en cas de succès

Mettre à jour les liens d'un papier

Met à jour la page de projet, le repository GitHub ou l'organisation responsable de la soumission d'un papier. Le requêteur doit être l'auteur du papier, le responsable de la soumission aux Daily Papers, ou un admin des papiers :

curl "https://huggingface.co/api/papers/{PAPER_OBJECT_ID}/links" \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer $HF_TOKEN" \
  --data '{
    "projectPage": "https://example.com",
    "githubRepo": "https://github.com/org/repo",
    "organizationId": "{ORGANIZATION_ID}"
  }'
  • Endpoint : POST /api/papers/{paperId}/links
  • Path parameters :
    • paperId (string, required) : ID d'objet papier Hugging Face
  • Body :
    • githubRepo (string, nullable) : URL du repository GitHub
    • organizationId (string, nullable) : ID d'organisation, ID hex de 24 caractères
    • projectPage (string, nullable) : URL de la page de projet
  • Response : objet JSON vide en cas de succès

Error Handling

  • 404 sur https://huggingface.co/papers/{PAPER_ID} ou endpoint md : l'article n'est pas encore indexé sur les pages de papiers Hugging Face.
  • 404 sur /api/papers/{PAPER_ID} : l'article peut ne pas être indexé sur les pages de papiers Hugging Face encore.
  • Paper ID not found : vérifie l'ID arXiv extrait, y compris tout suffixe de version

Fallbacks

Si la page du papier Hugging Face ne contient pas assez de détails pour la question de l'utilisateur :

  • Vérifie la page du papier régulière à https://huggingface.co/papers/{PAPER_ID}
  • Bascule à la page arXiv ou PDF pour la source originale :
    • https://arxiv.org/abs/{PAPER_ID}
    • https://arxiv.org/pdf/{PAPER_ID}

Notes

  • Aucune authentification n'est requise pour les pages publiques de papiers.
  • Les endpoints d'écriture tels que la revendication de paternité, l'indexation de papier et la mise à jour des liens des papiers nécessitent Authorization: Bearer $HF_TOKEN.
  • Préfère l'endpoint .md pour une sortie fiable lisible par machine.
  • Préfère /api/papers/{PAPER_ID} quand tu as besoin de champs JSON structurés au lieu du markdown de la page.

Skills similaires