llms.txt в Ruby on Rails
Rails обслуживает папку public/ в корне сайта. Добавьте туда llms.txt или создавайте его через контроллер, если содержимое динамическое.
Последнее обновление:
Два подхода
Rails может обслуживать llms.txt двумя способами: статический файл в public/ (самый простой вариант), либо действие контроллера, которое создаёт файл из ваших данных. Используйте
статический файл, если его содержимое не должно отражать актуальные записи.
Метод 1: статический файл в public/
Всё в public/ обслуживается в корне домена. Файл по адресу public/llms.txt
разрешается в /llms.txt.
- Создайте файл:
touch public/llms.txt - Напишите содержимое (см. руководство):
# Your App Name
> One-sentence description of your app for LLM context.
## Core pages
- [Home](https://yourdomain.com/): what this app does.
- [Pricing](https://yourdomain.com/pricing/): plans and limits.
- [Docs](https://yourdomain.com/docs/): developer documentation.
Способ 2: действие контроллера
Чтобы динамически генерировать файл, добавьте маршрут и контроллер, который возвращает обычный текст:
# config/routes.rb
get "/llms.txt", to: "llms#show"
# app/controllers/llms_controller.rb
class LlmsController < ApplicationController
def show
pages = Page.published.order(:title) # example data source
body = "# Your App Name\n\n> Description of your app.\n\n## Core pages\n\n"
body += pages.map { |p| "- [#{p.title}](#{page_url(p)}): #{p.summary}" }.join("\n")
render plain: body, content_type: "text/plain"
end
end
Раздача статических файлов в production
Проверка настройки
curl -sI https://yourdomain.com/llms.txt | grep -i content-type
# expect: content-type: text/plain
Используете Laravel? См. также Руководство по Laravel. Для
более полного экспорта содержимого страниц добавьте llms-full.txt.