Генерация llms.txt
llms.txt — это специальный текстовый файл в формате Markdown, который размещается в корне сайта и используется ИИ-системами для улучшенной навигации по страницам. Его главная задача — помочь правильно понять структуру и смысл сайта, выделить ключевую информацию и корректно её интерпретировать при генерации ответов.
llms-full.txt — это специальный текстовый файл в формате Markdown, который размещается в корне сайта и содержит полное текстовое содержимое всех страниц сайта для быстрого получения контента ИИ-системами.
В Diplodoc поддержана генерация файлов llms.txt и llms-full.txt для документации: необходимо добавить в .yfm параметр llms: enabled: true или выполнить сборку с параметром --llms.
Структура собранного файла llms.txt:
# Название проекта
> Содержимое поля `llms: description` из файла .yfm
## Documentation
- [Заголовок статьи 1](ссылка-на-статью-1)
- [Заголовок статьи 2](ссылка-на-статью-2): содержимое поля description из метаданных статьи 2
- [Заголовок статьи 3](ссылка-на-статью-3): содержимое поля description из метаданных статьи 3
...
---
For more comprehensive documentation, see [llms-full.txt](llms-full.txt)
Особенности:
- для каждого toc.yaml генерируется отдельная пара файлов llms.txt / llms-full.txt;
- поле
llms: descriptionиз.yfmдобавляется в качестве описания проекта; - описание содержимого каждой статьи для llms.txt берется из поля description в метаданных страницы;
- в llms-full.txt для уменьшения размера файла вырезаются теги
<style>и<script>со всем их содержимым, а также не выполняется инлайнинг svg-изображений.
Ограничение размера llms-full.txt
Для проектов с множеством статей файл llms-full.txt может получиться слишком большим для чтения ИИ-системами. Чтобы задать предельно допустимый размер создаваемого файла, можно указать ограничение в параметре llms: llmsFullMaxSize в .yfm.
Обработка параметра работает следующим образом: если при добавлении в llms-full.txt следующей статьи итоговый размер файла начинает превышать заданное ограничение, наполнение llms-full.txt прекращается и отдается код сборки YFM022 (уровень INFO, можно переопределить через yfmlint).
Подключение внешнего llms.txt
Если документация является частью сайта, в котором уже есть собственный файл llms.txt, можно указать в статьях документации ссылку на него в параметре llms: url:
llms:
url: https://example.com/llms.txt
Важно: для указания внешнего файла необязательно включать сборку llms.txt в документации.