Выбор провайдера

Как выбирать и переключаться между провайдерами моделей

Выбор провайдера

usellm предоставляет доступ к моделям от разных провайдеров. В этом гайде вы узнаете, как выбирать оптимального провайдера для ваших задач.

Что такое провайдер?

Провайдером называется компания или сервис, предоставляющая доступ к AI моделям. Одна и та же модель может быть доступна через разных провайдеров с разной ценой, скоростью и доступностью.

Доступные провайдеры

ПровайдерМодели
OpenAIGPT-6 Astra, GPT-5.6 Luna и др.
AnthropicClaude Fable 5.1, Claude Sonnet 5 и др.
GoogleGemini 3.8 Flash, Gemini 3.7 Flash
Alibaba CloudQwen3.8 Flash, Qwen3.8 27B
Z.aiGLM 5.3 Flash
xAIGrok 4.6

Как выбрать провайдера

Автоматический выбор (рекомендуется)

По умолчанию usellm автоматически выбирает оптимального провайдера на основе доступности, скорости и стоимости. Не нужно передавать параметр provider: система сама определит лучший вариант.

# Автоматический выбор провайдера — ничего указывать не нужно
curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Параметр provider

Для управления выбором провайдера передайте объект provider в запросе:

ПолеТипОписание
orderstring[]Приоритетный порядок провайдеров
onlystring[]Белый список: использовать только указанных провайдеров
ignorestring[]Чёрный список: исключить указанных провайдеров
sortstringСортировка: price, latency или throughput
max_priceobjectМаксимальные цены (см. ниже)
allow_fallbacksbooleanРазрешить фолбэк на другие провайдеры при ошибке

Поля max_price

ПолеТипОписание
promptnumberМакс. цена за промпт (RUB за миллион токенов)
completionnumberМакс. цена за completion (RUB за миллион токенов)
imagenumberМакс. цена за изображение (RUB)
audionumberМакс. цена за аудио (RUB за миллион токенов)
requestnumberМакс. цена за запрос (RUB)

Alias в строке model

Если ваш клиент не поддерживает дополнительные поля в body (например, некоторые OpenAI-совместимые SDK), часть routing-настроек можно передать прямо в строке model через @-синтаксис:

<model>@<key>=<value>&<key>=<value>

Поддерживаемые alias-параметры:

AliasЧто делает
providerВыбирает конкретного провайдера (provider.only)
reasoning_effortУправляет глубиной reasoning (low / medium / high и др.)
allow_fallbacksРазрешает или запрещает fallback (true / false)

Примеры:

anthropic/claude-fable-5-1@provider=Amazon Bedrock
openai/gpt-6-astra@reasoning_effort=high
openai/gpt-6-astra@allow_fallbacks=false
openai/gpt-6-astra@provider=OpenAI&reasoning_effort=high&allow_fallbacks=false

Alias-формат работает только для /v1/chat/completions, /v1/responses и /v1/messages. Embeddings, audio и media не поддерживаются.

Если один и тот же параметр задан и в alias, и в body (например, reasoning_effort в строке model и reasoning.effort в теле запроса), API вернёт 400. Для сложного routing (order, ignore, max_price) используйте обычный body-контракт.

Примеры

Приоритет провайдеров

Укажите предпочтительный порядок провайдеров. Если первый недоступен, запрос уйдёт ко второму.

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [{"role": "user", "content": "Привет!"}],
    "provider": {
      "order": ["OpenAI", "Anthropic"],
      "allow_fallbacks": true
    }
  }'

Белый список (only)

Ограничьте запрос только указанными провайдерами:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [{"role": "user", "content": "Привет!"}],
    "provider": {
      "only": ["OpenAI"]
    }
  }'

Чёрный список (ignore)

Исключите определённых провайдеров:

{
  "provider": {
    "ignore": ["DeepInfra", "Together"]
  }
}

Сортировка по цене / скорости

{
  "provider": {
    "sort": "price"
  }
}

Фильтрация по максимальной цене

Ограничьте стоимость запроса:

{
  "provider": {
    "sort": "price",
    "max_price": {
      "prompt": 10,
      "completion": 20
    }
  }
}

Комбинирование параметров

Все параметры можно комбинировать:

{
  "provider": {
    "only": ["OpenAI", "Anthropic"],
    "sort": "price",
    "max_price": {
      "prompt": 15,
      "completion": 30
    },
    "allow_fallbacks": true
  }
}

Получение информации о провайдере

В ответе API можно увидеть, какой провайдер обработал запрос:

{
  "id": "gen_123",
  "model": "openai/gpt-6-astra",
  "provider": "openai-direct",
  "choices": [...],
  "usage": {...}
}

Советы и лучшие практики

Следующие шаги