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

Параметры

Все поля запроса chat completions — что роутер проверяет, что меняет, что передает провайдеру и где работает каждое поле.

Открыть .md

Как роутер обрабатывает параметры

  1. Проверяет роутер: model, models, messages, stream, max_tokens, max_completion_tokens, tools, response_format и provider. Неверный тип или значение — это 400, где поле названо в error.metadata.fields.
  2. Передаются как есть: любое другое поле уходит провайдеру без изменений. Поддерживает ли его модель, зависит от модели: смотрите supported_parameters модели в GET /api/v1/models или в каталоге. Неподдерживаемые параметры модель игнорирует.
  3. Удаляются в регионе Россия: для моделей ru-1/… и ru-2/… роутер молча удаляет provider, models, route, transforms, plugins, usage, include_reasoning, reasoning, web_search_options, prediction и debug. reasoning.effort превращается в reasoning_effort.

В карточках ниже Регионы показывает, где работает поле: Глобальный (ID вида vendor/model) и Россия (ru-1/…, ru-2/…).

Модель и сообщения

modelstring
Регионы
Глобальный, Россия

ID модели из каталога. Обязателен, если не передан models.

modelsstring[]
Регионы
Глобальный, Россия

Резервные модели, которые пробуются по порядку после model, если у модели нет маршрута или она дала сбой до первого токена. Всего не больше 3 попыток на запрос. См. Модели и маршрутизация.

messagesobject[]Обязательный
Регионы
Глобальный, Россия

Диалог. У каждого сообщения должна быть role. См. Chat completions.

streamboolean
По умолчанию
false
Регионы
Глобальный, Россия

Отправлять ответ в виде server-sent events. См. Потоковый ответ.

Длина ответа

max_tokensinteger
По умолчанию
4096
Диапазон
1 to 65536
Регионы
Глобальный, Россия

Максимум токенов, которые может сгенерировать модель. Перед запросом роутер резервирует средства на это число токенов (не больше собственного лимита вывода модели), поэтому меньшее значение требует и меньшего баланса. Значения больше 65536 отклоняются с 400.

max_completion_tokensinteger
Диапазон
1 to 65536
Регионы
Глобальный, Россия

Новое название того же лимита. Если заданы оба, к обоим применяется меньшее значение.

Сэмплирование

temperaturenumber
Диапазон
0 to 2
Регионы
передается без проверки

Случайность ответа: ниже — предсказуемее, выше — разнообразнее. Значение по умолчанию зависит от модели, обычно 1.

top_pnumber
Диапазон
0 to 1
Регионы
передается без проверки

Nucleus sampling: учитываются только токены в пределах этой суммарной вероятности. Меняйте либо temperature, либо top_p, но не оба.

top_kinteger
Регионы
передается без проверки

Учитываются только K самых вероятных токенов. 0 отключает ограничение. Поддерживают не все модели.

frequency_penaltynumber
Диапазон
-2 to 2
Регионы
передается без проверки

Штрафует токены пропорционально тому, сколько раз они уже встречались; положительные значения уменьшают повторы.

presence_penaltynumber
Диапазон
-2 to 2
Регионы
передается без проверки

Штрафует любой уже встречавшийся токен; положительные значения подталкивают модель к новым темам.

repetition_penaltynumber
Диапазон
0 to 2
Регионы
передается без проверки

Уменьшает повтор токенов из входных данных; 1 означает отсутствие штрафа. В основном для открытых моделей.

min_pnumber
Диапазон
0 to 1
Регионы
передается без проверки

Минимальная вероятность токена относительно самого вероятного.

seedinteger
Регионы
передается без проверки

Делает сэмплирование воспроизводимым, если провайдер это поддерживает. Одинаковые seed и параметры обычно, но не всегда, дают одинаковый ответ.

stopstring | string[]
Регионы
передается без проверки

Последовательности, на которых генерация останавливается; сама последовательность не возвращается.

logit_biasobject
Регионы
передается без проверки

ID токенов и смещение от -100 до 100 для каждого: делает эти токены более или менее вероятными.

logprobsboolean
Регионы
передается без проверки

Возвращать логарифмы вероятностей выходных токенов. top_logprobs (от 0 до 20) дополнительно возвращает самые вероятные альтернативы.

Инструменты и структурированный вывод

toolsobject[]
Регионы
Глобальный, Россия

Функции, которые может вызвать модель, в формате OpenAI. Непустой список отправляет запрос только на маршруты с поддержкой инструментов. См. Вызов инструментов.

tool_choicestring | object
Регионы
передается без проверки

auto, none, required или объект с именем одной функции.

parallel_tool_callsboolean
Регионы
передается без проверки

Может ли модель запросить несколько вызовов инструментов в одном ответе.

response_formatobject
Регионы
Глобальный, Россия

{"type": "json_object"} запрашивает валидный JSON; {"type": "json_schema", "json_schema": …} запрашивает JSON по схеме и отправляет запрос только на маршруты с поддержкой структурированного вывода. См. Структурированный вывод.

Рассуждения

reasoningobject
Регионы
Глобальный

Управляет рассуждениями моделей: effort (minimal, low, medium, high), или max_tokens для бюджета рассуждений, exclude: true, чтобы не включать рассуждения в ответ, enabled. В регионе Россия сохраняется только effort — как reasoning_effort. См. Рассуждения.

reasoning_effortstring
Регионы
передается без проверки

Сокращение OpenAI для reasoning.effort.

Маршрутизация и приватность

providerobject
Регионы
Глобальный, Россия

Куда может уйти запрос. Сам роутер применяет:

  • only, ignore, order: списки slug провайдеров; slug ru обозначает регион Россия;
  • allow_fallbacks (boolean): false оставляет один маршрут на модель;
  • zdr (boolean): true отправляет запрос только моделям с эндпоинтом без хранения данных (ZDR);
  • data_collection (allow или deny): deny исключает провайдеров, которые могут хранить данные или обучаться на них.

Остальные ключи объекта уходят в регион Глобальный как есть, без гарантий. См. Модели и маршрутизация и Без хранения данных (ZDR).

Другие поля

userstring
Регионы
передается без проверки

Ваш ID конечного пользователя. Роутер его не хранит; некоторые провайдеры используют его для выявления злоупотреблений.

usageobject
Регионы
Глобальный

Игнорируется: роутер всегда запрашивает usage, и в каждом ответе есть usage с cost.

stream_optionsobject
Регионы
передается без проверки

include_usage в потоке всегда включен: последний чанк перед [DONE] содержит usage.

Поля, которых нет в этом списке, передаются провайдеру как есть. Роутер никогда не возвращает ошибку из-за неизвестного поля, но модель может его проигнорировать.