Главная/Блог/Обзор/Presets в OpenRouter: Конфигурация как…
Обзор4 мин чтения · 12 сентября 2026 г.

Presets в OpenRouter: Конфигурация как код для LLM

Как использовать Presets в OpenRouter для управления моделями, системными промптами и провайдерами в одном месте. Практическое руководство по внедрению config-as-code.

Presets в OpenRouter: Конфигурация как код для LLM

В разработке на базе LLM часто возникает проблема дублирования конфигураций: одно и то же имя модели, системный промпт и параметры сэмплирования копируются в веб-приложение, пакетные скрипты и ноутбуки. Изменение температуры или модели требует правок в каждом месте. OpenRouter решает эту задачу через Presets — именованные, версионированные конфигурации, работающие по принципу config-as-code.

Presets хранят выбор модели (или список резервных), системный промпт, маршрутизацию провайдеров и параметры сэмплирования. Вы определяете конфигурацию один раз в дашборде и ссылаетесь на неё по имени в любом API-запросе. При изменении пресета все приложения, использующие его, автоматически получают обновленную конфигурацию без передеплоя кода.

01Что такое Preset и чем он лучше хардкода

Preset — это аналог файла .env или Terraform-модуля, но с ключевым отличием: конфигурация живет в облаке OpenRouter, а не в репозитории. Это позволяет менять настройки в реальном времени, влияя на все подключенные сервисы.

Основные компоненты пресета:

  • Model selection: Одна модель или упорядоченный список fallback-моделей.
  • System prompt: Инструкции, добавляемые перед каждым запросом.
  • Provider routing: Приоритизация провайдеров по цене или задержке, блокировка конкретных поставщиков.
  • Sampling parameters: Temperature, top_p и другие настройки генерации.
  • Tools: Встроенные инструменты OpenRouter (поиск в вебе, генерация изображений, субагенты).
💡
Гибридное слияние. Параметры запроса перезаписывают параметры пресета (shallow merge). Исключение — поле tools: инструменты из запроса и пресета объединяются, а инструменты с одинаковым именем заменяют друг друга.

02Создание и использование первого Preset

Для создания откройте openrouter.ai/settings/presets. Выберите уникальный slug, который будет использоваться в запросах в формате @preset/slug.

Пример использования пресета в Python-клиенте OpenRouter. Обратите внимание на сокращение кода и вынесение логики из тела запроса:

terminalpython
# До: хардкод всех параметров
resp = client.chat.send(
    model="anthropic/claude-opus-4.8",
    provider={"sort": "price"},
    temperature=0.7,
    messages=[
        {"role": "system", "content": "You are a concise technical writer..."},
        {"role": "user", "content": "Explain preset versioning."}
    ],
)

# После: использование пресета
resp = client.chat.send(
    model="@preset/tech-writer",  # Ссылка на пресет
    messages=[
        {"role": "user", "content": "Explain preset versioning."}
    ],
)

Вы также можете создавать пресеты через API, отправляя POST-запрос. В теле запроса указываются только конфигурационные поля; временные поля (messages, stream) игнорируются:

terminalbash
curl https://openrouter.ai/api/v1/presets/tech-writer/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "model": "anthropic/claude-opus-4.8",
  "temperature": 0.7,
  "messages": [
    {"role": "system", "content": "You are a concise technical writer."}
  ]
}'

03Практические кейсы: Улучшение промптов и Fusion

Кейс 1: Улучшение промптов для генерации изображений

Модели генерации изображений часто требуют детальных описаний. Preset позволяет связать текстовую модель с инструментом генерации изображений. Текстовая модель расширяет короткий запрос пользователя в полноценный визуальный бриф (субъект, композиция, освещение, палитра, стиль) и автоматически вызывает инструмент.

terminalbash
curl https://openrouter.ai/api/v1/presets/image-enhancer/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "model": "anthropic/claude-opus-4.8",
  "messages": [
    {"role": "system", "content": "You are an expert visual prompt engineer. Expand the user request into a detailed image prompt covering subject, composition, lighting, palette, and style, then call the image tool."}
  ],
  "tools": [
    {"type": "openrouter:image_generation",
     "parameters": {"model": "google/gemini-3.1-flash-image"}}
  ],
  "tool_choice": "required",
  "temperature": 0.7
}'

Теперь, отправляя запрос к @preset/image-enhancer с текстом "уютный уголок для чтения у дождливого окна", вы получите готовое изображение, так как система сама сформирует детальный промпт.

Кейс 2: Фиксация конфигурации Fusion

Конфигурация Fusion запускает панель моделей параллельно с основной моделью, а основная модель синтезирует финальный ответ на основе выводов панели. Сохранение этой сложной структуры в Preset позволяет использовать её в веб-приложениях, ботах и инструментах оценки через единую ссылку @preset/fusion-panel.

Это особенно полезно для ML-инженеров: конфигурация оценки (модели, параметры сэмплирования, маршрутизация) становится стабильной и воспроизводимой. Изменения вносятся только в дашборде, а не в коде каждого сервиса.

⚠️
Версионирование. Сохранение пресета с существующим slug создает новую версию и делает её активной. Запросы получают активную версию. Глобального "дефолтного" пресета для API нет — каждый запрос должен явно указывать slug.

04Управление и переопределение

Presets поддерживают частичное переопределение. Если в теле запроса передан параметр temperature, он перекроет значение из пресета. Если параметр не передан, используется значение из пресета.

Существует два способа ссылки на пресет в поле

Источник: OpenRouter ↗