Параметры управляют тем, как модель выбирает следующий токен. Мы их не подставляем и не переписываем: не указали — площадка применит своё умолчание, указали — уйдёт ровно ваше значение.
Отсутствующий параметр мы не заполняем значением по умолчанию, а просто не отправляем. Разница видна не сразу, но она есть: явный temperature: 1.0 и отсутствие temperature — это два разных тела запроса, и у некоторых площадок они дают разные ключи кэша промпта. Колонка «обычно» ниже — это конвенция отрасли, а не то, что подставляем мы.
| Параметр | Диапазон | Обычно | Что делает |
|---|---|---|---|
| temperature | 0.0 – 2.0 | 1.0 | Разброс ответов. 0 — один и тот же ответ на один и тот же вход. Для извлечения данных и классификации ставьте 0, для текста — 0.7–1.0. |
| top_p | 0.0 – 1.0 | 1.0 | Отсекает хвост распределения по накопленной вероятности. Крутить одновременно с temperature не нужно — берите что-то одно. |
| top_k | 0 и выше | 0 (выкл) | Оставляет K самых вероятных токенов. 1 — всегда самый вероятный. |
| min_p | 0.0 – 1.0 | 0.0 | Порог относительно самого вероятного токена: 0.1 отбрасывает всё, что вдесятеро менее вероятно лидера. |
| top_a | 0.0 – 1.0 | 0.0 | Динамический аналог top_p, порог считается от вероятности лидера. |
| Параметр | Диапазон | Обычно | Что делает |
|---|---|---|---|
| frequency_penalty | −2.0 – 2.0 | 0.0 | Штраф растёт с числом повторов токена. Лечит зацикливание. |
| presence_penalty | −2.0 – 2.0 | 0.0 | Штраф за сам факт повтора, независимо от количества. Толкает к новым темам. |
| repetition_penalty | 0.0 – 2.0 | 1.0 | Штраф масштабируется вероятностью исходного токена. Выше 1.2 текст начинает терять служебные слова и разваливаться. |
| Параметр | Тип | Что делает |
|---|---|---|
| max_tokens | целое | Потолок ответа. Максимум — контекст модели минус длина промпта. Упёрлись — finish_reason станет length. |
| max_completion_tokens | целое | То же самое в новой номенклатуре OpenAI. Принимаем оба, приоритет у max_completion_tokens. |
| stop | массив строк | До четырёх строк, на которых генерация обрывается. Сама строка в ответ не попадает. |
| seed | целое | Попытка воспроизводимости. Ни один провайдер её не гарантирует — на разном железе результат разойдётся. |
| response_format | объект | Схема ответа, см. «Структурированный вывод». |
| logit_bias | объект | Карта id токена → сдвиг от −100 до 100. −100 запрещает токен, 100 делает его почти обязательным. Id зависят от токенизатора конкретной модели. |
| logprobs | булево | Вернуть логарифмы вероятностей выбранных токенов. |
| top_logprobs | 0 – 20 | Сколько альтернатив на позицию вернуть. Требует logprobs: true. |
| Параметр | Что делает |
|---|---|
| tools | Массив описаний функций. См. «Вызов инструментов». |
| tool_choice | none, auto, required или конкретная функция объектом. |
| parallel_tool_calls | Разрешить модели запросить несколько инструментов за один ход. |
| reasoning | Бюджет размышления для рассуждающих моделей. См. «Рассуждения». |
| provider | Правила выбора площадки. См. «Выбор площадки». |
| usage | {"include": true} — вернуть детальный расчёт стоимости в ответе. |
Площадки умеют разное: top_k есть не везде, logit_bias — тем более. По умолчанию неподдерживаемый параметр отбрасывается, а запрос уходит: молчаливая деградация здесь полезнее отказа. Если для вас параметр критичен, потребуйте площадку, которая его умеет:
{
"model": "meta/llama-4-70b",
"messages": [{"role": "user", "content": "…"}],
"top_k": 40,
"provider": {
"require_parameters": true
}
}С require_parameters запрос уйдёт только той площадке, которая поддерживает весь набор полей, а если такой нет — вернётся 404 с перечнем того, чего не хватило. Подробнее — в разделе «Выбор площадки».
Поля, которых нет в схеме OpenAI, но которые понимает площадка, мы передаём как есть. Их список — на вкладке «Провайдеры» в карточке модели. Мы их не проверяем и не документируем: это контракт между вами и площадкой, мы здесь только канал.