Перейти к основному содержимому

Маршрутизация провайдеров

При использовании 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 обрабатывают ваши запросы. Для автоматического переключения на совершенно другого провайдера при сбое основной модели см. Запасные провайдеры.