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

Выбор поставщика модели

Многие модели обслуживают несколько поставщиков: разработчик модели и облачные площадки, которые запускают ту же модель у себя. Площадки различаются ценой, скоростью ответа, доступностью и точностью весов модели (например, fp8 или fp4).

По умолчанию поставщик выбирается автоматически для каждого запроса — с учётом цены и доступности. Если важны скорость, стабильность или конкретная площадка, укажите предпочтения в поле provider тела запроса.

Стоимость​

Запрос оплачивается по цене того поставщика, который его фактически обработал. Цены поставщиков по каждой модели — на странице Модели и поставщики. Какой поставщик обработал запрос, видно в поле provider ответа.

Параметры поля provider​

ПараметрТипЧто делает
onlyсписок строкИспользовать только перечисленных поставщиков
ignoreсписок строкНе использовать перечисленных поставщиков
orderсписок строкПробовать поставщиков в указанном порядке
allow_fallbacksда / нетРазрешить другого поставщика, если указанные недоступны. По умолчанию — да
sortстрокаПорядок выбора: price — дешевле, throughput — быстрее выдача, latency — быстрее первый ответ

Поставщик указывается идентификатором: moonshotai, z-ai, deepinfra и т. п. Чтобы выбрать конкретный вариант у поставщика, добавьте его метку через косую черту: z-ai/fp8. Идентификаторы поставщиков, которые сейчас обслуживают модель, перечислены в тексте ошибки, если указать поставщика, которого у модели нет (см. раздел «Ошибки»).

Примеры​

Только один поставщик, без замены при недоступности:

curl "$BASE_URL/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "X-AIN-USERNAME: ваш_логин" \
-H "X-AIN-SOURCEID: название_системы" \
-H "Content-Type: application/json" \
-d '{
"model": "opr.kimi-k3.chat_completions",
"messages": [{"role": "user", "content": "Привет"}],
"provider": {"only": ["moonshotai"], "allow_fallbacks": false}
}'

Исключить поставщика и выбирать самого быстрого — тело запроса:

{
"model": "opr.kimi-k3.chat_completions",
"messages": [{"role": "user", "content": "Привет"}],
"provider": {"ignore": ["relace"], "sort": "throughput"}
}

Python, библиотека OpenAI:

from openai import OpenAI

client = OpenAI(
base_url="https://<адрес, выданный при подключении>/v1",
api_key="ваш_API_ключ",
default_headers={
"X-AIN-USERNAME": "ваш_логин",
"X-AIN-SOURCEID": "название_системы",
},
)
response = client.chat.completions.create(
model="opr.kimi-k3.chat_completions",
messages=[{"role": "user", "content": "Привет"}],
extra_body={"provider": {"order": ["moonshotai", "wafer"]}},
)
print(response.model_dump().get("provider")) # кто обработал запрос

Когда закреплять поставщика​

  • Повторяющийся контекст (длинная системная инструкция, агенты, работа с кодом): закрепите одного поставщика (only и allow_fallbacks: false). Повторные запросы попадут к нему же, и кэш начала запроса будет срабатывать — повторное чтение обходится в разы дешевле.
  • Требования к стабильности — исключите поставщиков, с которыми были задержки (ignore), или задайте порядок (order).

Ошибки​

ОтветПричинаЧто делать
404 No allowed providers are available for the selected modelУказанный поставщик не обслуживает модель или сейчас недоступен, а замена запрещенаПроверьте идентификатор — в тексте ошибки перечислены доступные поставщики; разрешите замену (allow_fallbacks: true) или укажите нескольких
404 All providers have been ignoredСочетание условий исключило всех поставщиковОслабьте условия: уберите only или часть ignore

Запрос, завершившийся ошибкой выбора поставщика, не оплачивается.

Ограничения​

Для части маршрутов настройки поставщиков заданы на стороне платформы — например, по договорённости с клиентом или чтобы модель отвечала стабильнее. Такие настройки важнее параметров запроса: если в маршруте задан, например, порядок поставщиков, параметр order из запроса не применяется. Параметры, которых в настройках маршрута нет, работают как обычно.

Если поставщик недоступен для вашего ключа, запрос к нему не уйдёт, даже если указать его в order — будет выбран следующий.