Одну и ту же модель держат несколько площадок. По умолчанию мы выбираем сами и объясняем выбор в ответе; блок provider нужен там, где решение должно быть вашим.
Фактическая площадка приходит в поле provider ответа и пишется в раздел «Доступ к моделям». Никакой скрытой маршрутизации нет: по каждому запросу видно, кто его обслужил и по какой цене.
У блока два уровня, и это важно понимать. Первые три поля разбираем мы — они управляют порядком наших маршрутов. Остальные уходят площадке-агрегатору как есть и действуют по её правилам: она видит конкретные серверы, мы — только маршруты к ней.
| Поле | Кто исполняет | Что делает |
|---|---|---|
| order | шлюз | Названные маршруты идут первыми в этом порядке, остальные — следом |
| ignore | шлюз | К этим маршрутам не обращаться вовсе |
| allow_fallbacks | шлюз и агрегатор | false — только первый маршрут: либо его ответ, либо ошибка |
| require_parameters | агрегатор | Брать только те площадки, которые поддерживают все параметры запроса |
| data_collection | агрегатор | deny исключает площадки, которые оставляют себе промпты для обучения |
| sort | агрегатор | price, throughput или latency |
| max_price | агрегатор | Потолок цены за миллион токенов, в долларах — в той же единице, что и прайс |
| quantizations | агрегатор | Фильтр по разрядности весов: fp16, fp8, int8, int4 |
provider и не переписываем его: разобрали своё — остальное передали дальше. Поэтому поле, которого нет в этой таблице, но которое понимает агрегатор, тоже сработает.{
"model": "deepseek/deepseek-v3",
"messages": [{"role": "user", "content": "…"}],
"provider": {
"order": ["deepseek", "together"],
"allow_fallbacks": false
}
}С allow_fallbacks: false запрос уйдёт только первому маршруту; если он не ответил — ошибка, а не тихая подмена. Это правильный режим для задач, где ответ другой площадки хуже, чем отсутствие ответа: воспроизводимые эксперименты, сравнение качества, отладка. Если order и ignore вместе не оставили ни одного маршрута, приходит 400 provider_prefs_empty.
| Значение sort | Что оптимизируется | Чем платите |
|---|---|---|
| price | минимальная цена запроса | Медленные площадки. Для фоновых задач это не важно |
| throughput | токенов в секунду | Цена. Разница между самой быстрой и самой дешёвой бывает двукратной |
| latency | время до первого токена | Цена. Имеет смысл там, где пользователь смотрит в экран |
sort или order запросы перестают распределяться между близкими площадками и идут в одну — ту, что первая по вашему критерию. Это ровно то, о чём вы попросили, но устойчивость к её падению держится теперь только на резерве.{
"model": "meta/llama-4-70b",
"messages": [{"role": "user", "content": "…"}],
"provider": {
"data_collection": "deny",
"max_price": {"prompt": 40, "completion": 120},
"quantizations": ["fp16", "fp8"]
}
}max_price задаётся в долларах за миллион токенов — в той же единице, в которой ведётся баланс и прайс. Фильтры исполняет агрегатор, поэтому и отказ по ним приходит от него: мы передаём его текст как есть, не переписывая причину.
Про data_collection стоит понимать одно: это фильтр по заявленной политике площадки, а не техническая гарантия. Что именно мы про это знаем и чего не знаем — в разделе «Данные и логи».
Одна и та же модель у разных площадок может крутиться в разной точности. int4 дешевле и быстрее, но заметно хуже на длинном контексте и на коде. Если вы сравниваете качество моделей между собой, фиксируйте разрядность — иначе сравниваете вы не модели, а хостинги.
Вкладка «Провайдеры» в карточке модели показывает список с ценой, разрядностью, средней задержкой и аптаймом за последние сутки. Сводка по всем площадкам — на странице «Провайдеры».