Выбор провайдера
Как выбирать и переключаться между провайдерами моделей
Выбор провайдера
usellm предоставляет доступ к моделям от разных провайдеров. В этом гайде вы узнаете, как выбирать оптимального провайдера для ваших задач.
Что такое провайдер?
Провайдером называется компания или сервис, предоставляющая доступ к AI моделям. Одна и та же модель может быть доступна через разных провайдеров с разной ценой, скоростью и доступностью.
Доступные провайдеры
| Провайдер | Модели |
|---|---|
| OpenAI | GPT-6 Astra, GPT-5.6 Luna и др. |
| Anthropic | Claude Fable 5.1, Claude Sonnet 5 и др. |
| Gemini 3.8 Flash, Gemini 3.7 Flash | |
| Alibaba Cloud | Qwen3.8 Flash, Qwen3.8 27B |
| Z.ai | GLM 5.3 Flash |
| xAI | Grok 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 в запросе:
| Поле | Тип | Описание |
|---|---|---|
order | string[] | Приоритетный порядок провайдеров |
only | string[] | Белый список: использовать только указанных провайдеров |
ignore | string[] | Чёрный список: исключить указанных провайдеров |
sort | string | Сортировка: price, latency или throughput |
max_price | object | Максимальные цены (см. ниже) |
allow_fallbacks | boolean | Разрешить фолбэк на другие провайдеры при ошибке |
Поля max_price
| Поле | Тип | Описание |
|---|---|---|
prompt | number | Макс. цена за промпт (RUB за миллион токенов) |
completion | number | Макс. цена за completion (RUB за миллион токенов) |
image | number | Макс. цена за изображение (RUB) |
audio | number | Макс. цена за аудио (RUB за миллион токенов) |
request | number | Макс. цена за запрос (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": {...}
}