6 points par xguru 2024-09-09 | 4 commentaires | Partager sur WhatsApp
  • Les sites web servent non seulement à fournir des informations aux humains, mais aussi aux LLM
  • Les LLM sont utilisés pour améliorer les environnements de développement utilisés par les codeurs, notamment avec la possibilité de collecter depuis la documentation des sites web des informations sur les bibliothèques de programmation et les API
  • Fournir des informations aux LLM est légèrement différent de la fourniture d’informations aux humains, même si les deux se recoupent largement
    • En général, ils préfèrent des informations dans un format plus concis
    • Ils peuvent collecter rapidement beaucoup d’informations, il est donc utile de rassembler tous les points essentiels en un seul endroit
    • La fenêtre de contexte des LLM est trop petite pour traiter un site web entier, et il est difficile de convertir des pages HTML complexes en documents texte brut conviviaux pour les LLM
  • Il faut donc une manière d’identifier les informations les plus importantes à fournir aux assistants IA et de les présenter dans le format le plus approprié

Proposal

  • Il est proposé que les personnes souhaitant fournir du contenu adapté aux LLM ajoutent un fichier /llms.txt à leur site
    • Il s’agit d’un fichier Markdown fournissant un contexte simple et des instructions, avec des liens vers des fichiers Markdown contenant des informations plus détaillées
    • Il peut être utilisé pour fournir les informations nécessaires à l’utilisation d’une bibliothèque ou dans le cadre de recherches pour en savoir plus sur une personne ou une organisation
  • Le Markdown de llms.txt peut être lu à la fois par les humains et par les LLM, tout en permettant un traitement selon un format précis
  • Le fichier llms.txt peut être utilisé dans divers scénarios
    • Dans le cas d’une bibliothèque logicielle, il peut fournir une vue d’ensemble structurée de la documentation afin que le LLM trouve facilement une fonctionnalité précise ou un exemple d’utilisation
    • Sur un site d’entreprise, il peut présenter la structure de l’organisation et les principales sources d’information
    • Pour une nouvelle loi, les informations de contexte et de cadrage nécessaires peuvent être sélectionnées dans un fichier llms.txt pour aider les parties prenantes à la comprendre
    • Un site portfolio personnel ou un site de CV peut aider à répondre à des questions sur une personne
    • Dans l’e-commerce, il peut résumer les catégories de produits et les politiques
    • Les établissements d’enseignement peuvent l’utiliser pour résumer les offres de cours et les ressources

Format du fichier llms.txt

  • Le format de fichier llms.txt fournit une structure d’information en utilisant du Markdown, facile à comprendre pour les modèles de langage
  • Ce fichier utilise le Markdown plutôt qu’un format structuré traditionnel (par ex. XML), car ses principaux lecteurs sont les modèles de langage et les agents
  • Le fichier llms.txt peut être lu avec des outils de programmation standard et est organisé selon un format spécifique
    • En-tête H1 : contient le nom du projet ou du site, et c’est la seule section obligatoire.
    • Bloc de citation : contient un bref résumé du projet et fournit les informations clés nécessaires pour comprendre le reste du fichier.
    • Sections Markdown : fournissent des informations détaillées et peuvent inclure différents types de sections, comme des paragraphes ou des listes, mais sans titres supplémentaires.
    • Section de liste de fichiers séparée par des en-têtes H2 : contient une liste d’URL apportant des informations supplémentaires ; chaque entrée est écrite au format de lien Markdown [nom](URL) et peut éventuellement inclure une description.
  • Exemple de fichier
# Titre du projet  
  
> Une description facultative du projet figure ici  
  
Des détails facultatifs figurent ici  
  
## Nom de la section  
  
- [Titre du lien](https://링크_URL): Description facultative du lien  
  
## Optional  
  
- [Titre du lien](https://링크_URL)  
  • Section "Optional" : elle a une signification particulière ; lorsque seul un contexte court est nécessaire, les URL concernées peuvent être omises. Elle contient des informations secondaires que l’on peut souvent laisser de côté.

Coexistence avec les standards existants

  • llms.txt est conçu pour fonctionner avec les standards web existants
  • Alors que les sitemaps listent toutes les pages pour les moteurs de recherche, llms.txt fournit une vue d’ensemble sélectionnée pour les LLM (grands modèles de langage)
  • llms.txt est complémentaire de robots.txt et peut fournir du contexte sur le contenu autorisé
  • Il peut aussi faire référence au balisage de données structurées utilisé sur le site afin d’aider les LLM à le comprendre et à l’interpréter
  • Le chemin du fichier est standardisé de la même manière que /robots.txt et /sitemap.xml
    • robots.txt et llms.txt ont des objectifs différents
      • robots.txt : utilisé pour aider les outils automatisés (par ex. les bots d’indexation de recherche) à comprendre ce qu’ils sont autorisés à parcourir sur le site
      • llms.txt : utilisé principalement lorsque l’utilisateur demande explicitement des informations sur un sujet précis. Par exemple, il est utile pour inclure la documentation d’une bibliothèque de code dans un projet, ou lorsque l’on demande des informations à un chatbot doté d’une fonction de recherche
    • llms.txt devrait surtout être utile pour l’inference. Il serait utilisé au moment où l’utilisateur a besoin d’aide et ne devrait pas servir à l’entraînement. Toutefois, si l’usage de llms.txt se généralise, il est possible que ces informations soient aussi exploitées dans les futurs processus d’entraînement
  • Différences avec sitemap.xml
    • sitemap.xml : liste toutes les informations indexables du site lisibles par des humains
    • llms.txt n’est pas un remplacement de sitemap.xml :
      • Il peut ne pas contenir de version de page lisible par les LLM.
      • Il n’inclut pas les URL de sites externes pouvant être utiles pour comprendre l’information.
      • Il inclut généralement des documents trop volumineux pour tenir dans la fenêtre de contexte des LLM, ainsi que beaucoup d’informations inutiles pour comprendre le site.
    • llms.txt peut fonctionner comme un outil optimisé pour permettre aux modèles de langage d’accéder à des informations précises et d’en comprendre le contexte

4 commentaires

 
iolothebard 2025-02-27

On pourrait sans doute simplement étendre robots.txt… Faut-il vraiment accorder un statut particulier aux crawlers pour les LLM ?
Je préférerais plutôt qu’on mette un peu d’ordre dans les user-agents des crawlers de LLM… mais comme le user-agent lui-même semble vivre ses derniers jours, c’est un peu ambigu.

Aparté 1. On appelle ça un fichier txt, alors pourquoi du Markdown ? J’aime moi aussi beaucoup Markdown, mais est-ce bien nécessaire…

 
kwj9211 2024-09-09

Le nom llms me met un peu mal à l’aise, car il donne l’impression d’être une interface destinée à une technologie spécifique…

 
ilotoki0804 2024-09-10

C’est vrai. Plutôt que de créer encore une autre norme étrange et à la portée très limitée, il vaudrait sans doute mieux utiliser ou étendre des standards existants comme JSON-LD.

 
regentag 2024-09-09

Si cela se répand largement, on pourra donc empêcher les LLM d’utiliser mon site avec un fichier llms.txt approprié.
Par exemple en leur fournissant des informations totalement différentes et dénuées de sens,
ou des informations si volumineuses qu’elles consommeraient tout le contexte du LLM.