6 pontos por xguru 2024-09-09 | 4 comentários | Compartilhar no WhatsApp
  • Os websites são usados não apenas para fornecer informações a pessoas, mas também a LLMs
  • LLMs são usados para aprimorar ambientes de desenvolvimento utilizados por programadores, incluindo opções que coletam informações sobre bibliotecas de programação e APIs a partir da documentação em websites
  • Fornecer informações para LLMs é um pouco diferente de fornecer informações para pessoas, mas há muita sobreposição
    • Em geral, preferem informações em um formato mais conciso
    • Como conseguem coletar muitas informações rapidamente, ajuda reunir todos os pontos principais em um só lugar
    • A janela de contexto dos LLMs é pequena demais para processar um website inteiro, e é difícil converter páginas HTML complexas em documentos de texto simples amigáveis para LLMs
  • Portanto, é necessário um modo de identificar as informações mais importantes a serem fornecidas a assistentes de IA e oferecê-las no formato mais apropriado

Proposal

  • Propõe-se que quem quiser fornecer conteúdo amigável para LLMs adicione um arquivo /llms.txt ao site
    • Trata-se de um arquivo Markdown com informações básicas e instruções simples, incluindo links para arquivos Markdown com informações mais detalhadas
    • Ele pode ser usado para fornecer as informações necessárias para usar uma biblioteca ou como parte de uma pesquisa para aprender sobre uma pessoa ou organização
  • O Markdown de llms.txt pode ser lido por pessoas e por LLMs, mas também permite processamento de formato preciso
  • O arquivo llms.txt pode ser usado em vários cenários
    • No caso de bibliotecas de software, ele fornece uma visão geral estruturada da documentação para que o LLM encontre facilmente funções específicas ou exemplos de uso
    • Em websites corporativos, pode descrever em linhas gerais a estrutura da organização e as principais fontes de informação
    • Informações sobre novas leis, bem como o contexto e os antecedentes necessários, podem ser organizadas em um arquivo llms.txt para ajudar as partes interessadas a compreendê-las
    • Websites de portfólio pessoal ou CV podem ajudar a responder perguntas sobre a pessoa
    • No e-commerce, pode resumir categorias de produtos e políticas
    • Instituições educacionais podem usá-lo para resumir ofertas de cursos e recursos

Formato do arquivo llms.txt

  • O formato do arquivo llms.txt fornece uma estrutura de informações usando Markdown, que é fácil para modelos de linguagem entenderem
  • Este arquivo usa Markdown em vez de formatos estruturados tradicionais (por exemplo, XML), porque os principais leitores do arquivo são modelos de linguagem e agentes
  • O arquivo llms.txt pode ser lido por ferramentas de programação padrão e é organizado de acordo com um formato específico
    • Cabeçalho H1: inclui o nome do projeto ou site e é a única seção obrigatória.
    • Bloco de citação: inclui um breve resumo do projeto e fornece as informações principais necessárias para entender o restante do arquivo.
    • Seções em Markdown: fornecem informações detalhadas e podem incluir vários tipos de seções, como parágrafos e listas, mas não incluem headings adicionais.
    • Seção de lista de arquivos separada por cabeçalhos H2: inclui uma lista de URLs que fornecem informações adicionais; cada item é escrito no formato de link Markdown [nome](URL) e pode opcionalmente incluir uma descrição.
  • Exemplo de arquivo
# Título do projeto  
  
> Uma descrição opcional do projeto entra aqui  
  
Detalhes opcionais entram aqui  
  
## Nome da seção  
  
- [Título do link](https://링크_URL): Descrição opcional do link  
  
## Optional  
  
- [Título do link](https://링크_URL)  
  • Seção "Optional": tem um significado especial; quando for necessário apenas um contexto curto, essas URLs podem ser omitidas. Ela contém informações secundárias que podem ser frequentemente deixadas de fora.

Coexistência com padrões existentes

  • llms.txt foi projetado para funcionar junto com os padrões web existentes
  • Enquanto os sitemaps listam todas as páginas para mecanismos de busca, llms.txt fornece uma visão geral curada para LLMs (grandes modelos de linguagem)
  • llms.txt é complementar ao robots.txt e pode fornecer contexto sobre o conteúdo permitido
  • Também pode fazer referência à marcação de dados estruturados usada no site para ajudar o LLM a entendê-la e interpretá-la
  • O caminho do arquivo é padronizado da mesma forma que /robots.txt e /sitemap.xml
    • robots.txt e llms.txt têm finalidades diferentes
      • robots.txt: é usado para que ferramentas automatizadas (por exemplo, bots de indexação de busca) entendam até onde o acesso ao site é permitido
      • llms.txt: é usado principalmente quando um usuário solicita explicitamente informações sobre um tema específico. Por exemplo, é útil ao incluir a documentação de uma biblioteca de código em um projeto ou ao pedir informações a um chatbot com função de busca
    • Espera-se que llms.txt seja útil principalmente para inferência (inference). Ele será usado no momento em que o usuário precisar de ajuda e não se espera que seja usado para treinamento (training). No entanto, se o uso de llms.txt se tornar amplamente difundido, também pode haver a possibilidade de essas informações serem aproveitadas em processos de treinamento no futuro
  • Diferenças em relação ao sitemap.xml
    • sitemap.xml: lista todas as informações indexáveis e legíveis por humanos do site
    • llms.txt não é um substituto para sitemap.xml:
      • Pode não incluir versões das páginas legíveis por LLM.
      • Não inclui URLs de sites externos que possam ser úteis para entender as informações.
      • Em geral, inclui documentos grandes demais para caber na janela de contexto de um LLM, além de muitas informações desnecessárias para compreender o site.
    • llms.txt pode funcionar como uma ferramenta otimizada para que modelos de linguagem acessem informações específicas e compreendam o contexto

4 comentários

 
iolothebard 2025-02-27

Acho que daria para simplesmente estender o robots.txt... Será que é mesmo necessário dar um status especial aos crawlers para LLM?
Eu preferiria que os user-agents dos crawlers de LLM fossem mais organizados... mas como o próprio user-agent já está meio com os dias contados, fica meio ambíguo.

PS 1. Se é .txt, por que é Markdown? Eu também gosto bastante de Markdown, mas precisava mesmo...

 
kwj9211 2024-09-09

O nome llms parece um pouco incômodo, porque dá a impressão de ser uma interface para uma tecnologia específica...

 
ilotoki0804 2024-09-10

Pois é. Em vez de criar outro padrão estranho e com utilidade muito limitada, talvez não fosse melhor usar ou estender padrões já existentes, como o JSON-LD?

 
regentag 2024-09-09

Se isso se espalhar amplamente, então vai dar para impedir que um LLM use o meu site com um arquivo llms.txt apropriado.
Por exemplo, fornecendo informações totalmente diferentes e sem sentido,
ou informações tão grandes a ponto de consumir todo o contexto do LLM.