Маршрутизация провайдеров
При использовании OpenRouter в качестве LLM-провайдера VibeOS поддерживает маршрутизацию провайдеров — тонкое управление тем, какие нижележащие AI-провайдеры обрабатывают ваши запросы и как они приоритизируются.
OpenRouter направляет запросы множеству провайдеров (например, Anthropic, Google, AWS Bedrock, Together AI). Маршрутизация провайдеров позволяет оптимизировать стоимость, скорость, качество или задать требования к конкретным провайдерам.
Трафик, проходящий через Nous Portal, по-прежнему учитывает маршрутизацию по моделям и настройки приоритетов — а подписчики Portal получают скидку 10% на провайдеров с оплатой за токены.
Конфигурация
Добавьте секцию provider_routing в ваш ~/.vibeos/config.yaml:
provider_routing:
sort: "price" # Как ранжировать провайдеров
only: [] # Белый список: использовать только этих провайдеров
ignore: [] # Чёрный список: никогда не использовать этих провайдеров
order: [] # Явный порядок приоритета провайдеров
require_parameters: false # Использовать только провайдеров, поддерживающих все параметры
data_collection: null # Управление сбором данных ("allow" или "deny")
Маршрутизация провайдеров применяется только при использовании OpenRouter. Она не действует при прямых подключениях к провайдерам (например, при прямом подключении к API Anthropic).
Параметры
sort
Управляет тем, как OpenRouter ранжирует доступных провайдеров для вашего запроса.
| Значение | Описание |
|---|---|
"price" | Сначала самый дешёвый провайдер |
"throughput" | Сначала самый быстрый по токенам в секунду |
"latency" | Сначала с наименьшим временем до первого токена |
provider_routing:
sort: "price"
only
Белый список имён провайдеров. Если задан, будут использоваться только эти провайдеры. Все остальные исключаются.
provider_routing:
only:
- "Anthropic"
- "Google"
ignore
Чёрный список имён провайдеров. Эти провайдеры никогда не будут использоваться, даже если они предлагают самый дешёвый или быстрый вариант.
provider_routing:
ignore:
- "Together"
- "DeepInfra"
order
Явный порядок приоритета. Провайдеры, указанные первыми, предпочтительнее. Провайдеры, не указанные в списке, используются как запасные.
provider_routing:
order:
- "Anthropic"
- "Google"
- "AWS Bedrock"
require_parameters
Если true, OpenRouter будет направлять запросы только тем провайдерам, которые поддерживают все параметры вашего запроса (такие как temperature, top_p, tools и т.д.). Это позволяет избежать незаметного игнорирования параметров.
provider_routing:
require_parameters: true
data_collection
Управляет тем, могут ли провайдеры использовать ваши промпты для обучения. Допустимые значения: "allow" или "deny".
provider_routing:
data_collection: "deny"
Практические примеры
Оптимизация по стоимости
Направлять запросы самому дешёвому доступному провайдеру. Хорошо подходит для больших объёмов использования и разработки:
provider_routing:
sort: "price"
Оптимизация по скорости
Приоритизировать провайдеров с низкой задержкой для интерактивного использования:
provider_routing:
sort: "latency"
Оптимизация по пропускной способности
Лучше всего подходит для длительной генерации, где важны токены в секунду:
provider_routing:
sort: "throughput"
Фиксация на конкретных провайдерах
Гарантировать, что все запросы проходят через определённого провайдера для обеспечения согласованности:
provider_routing:
only:
- "Anthropic"
Исключение конкретных провайдеров
Исключить провайдеров, которых вы не хотите использовать (например, из соображений конфиденциальности данных):
provider_routing:
ignore:
- "Together"
- "Lepton"
data_collection: "deny"
Предпочтительный порядок с запасными вариантами
Сначала пробовать предпочтительных провайдеров, переключаться на других, если они недоступны:
provider_routing:
order:
- "Anthropic"
- "Google"
require_parameters: true
Как это работает
Настройки маршрутизации провайдеров передаются в API OpenRouter через поле extra_body.provider при каждом вызове API. Это относится как к:
- Режиму CLI — настраивается в
~/.vibeos/config.yaml, загружается при запуске - Режиму шлюза — тот же файл конфигурации, загружается при запуске шлюза
Конфигурация маршрутизации читается из config.yaml и передаётся в качестве параметров при создании AIAgent:
providers_allowed ← из provider_routing.only
providers_ignored ← из provider_routing.ignore
providers_order ← из provider_routing.order
provider_sort ← из provider_routing.sort
provider_require_parameters ← из provider_routing.require_parameters
provider_data_collection ← из provider_routing.data_collection
Вы можете комбинировать несколько параметров. Например, сортировать по цене, но исключить определённых провайдеров и требовать поддержку параметров:
provider_routing:
sort: "price"
ignore: ["Together"]
require_parameters: true
data_collection: "deny"
Поведение по умолчанию
Если секция provider_routing не настроена (по умолчанию), OpenRouter использует собственную логику маршрутизации по умолчанию, которая обычно автоматически балансирует стоимость и доступность.
Маршрутизация провайдеров управляет тем, какие суб-провайдеры внутри OpenRouter обрабатывают ваши запросы. Для автоматического переключения на совершенно другого провайдера при сбое основной модели см. Запасные провайдеры.