Artfical AI / API
Получить API-ключ Открыть tAI
Параметры запроса

Параметры сэмплирования

Необязательные поля запроса chat completions, влияющие на то, как генерируется ответ, — с теми же именами и диапазонами, что и в собственном API OpenAI.

Обзор

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

ПолеТипДиапазонЭффект
temperaturenumber0–2Более высокие значения делают вывод более разнообразным и менее предсказуемым; более низкие — более сфокусированным и детерминированным. 0 близко к тому, чтобы всегда выбирать наиболее вероятный следующий токен.
top_pnumber0–1Nucleus sampling: ограничивает выбор наименьшим набором токенов, суммарная вероятность которых достигает этого значения. Альтернативный рычаг для управления разнообразием наряду с temperature; в большинстве запросов стоит задавать что-то одно, а не оба сразу.
presence_penaltynumberот -2 до 2Положительные значения снижают вероятность токена, который уже где-либо встречался в ответе, побуждая модель поднимать новые темы, а не задерживаться на уже упомянутых.
frequency_penaltynumberот -2 до 2Положительные значения снижают вероятность токена пропорционально тому, сколько раз он уже встречался, препятствуя повторению одних и тех же слов и фраз.
seedintegerлюбое целое числоЗапрос с одним и тем же seed при прочих идентичных параметрах делает вывод более воспроизводимым от запуска к запуску. Это не строгая гарантия побайтово идентичного результата каждый раз, но заметно снижает вариативность при тестировании и отладке.
stopstring или array строкдо нескольких коротких последовательностейГенерация останавливается в тот момент, когда в выводе должна была бы появиться любая из этих последовательностей. Сама последовательность в возвращаемый текст не включается.

Пример

{
  "model": "tai-4.1",
  "messages": [{"role": "user", "content": "Bir ürün açıklaması yaz"}],
  "temperature": 0.3,
  "presence_penalty": 0.4,
  "stop": ["###"]
}

Когда что использовать

Для всего, где согласованность важнее разнообразия, — извлечение данных, классификация, структурированный вывод, код, — обычно правильным решением будет держать temperature низкой (от 0 примерно до 0.3). Для свободного письма, мозгового штурма или всего, где вы предпочли бы видеть разброс правдоподобных вариантов при повторных вызовах, более высокая temperature (от 0.7 до 1.0 и выше) обычно даёт более интересное разнообразие. К presence_penalty и frequency_penalty стоит обращаться именно тогда, когда модель выдаёт повторяющийся текст, зацикливается на одной и той же фразе или повторяет одну и ту же мысль; в качестве универсального значения по умолчанию они менее полезны, чем temperature. seed в первую очередь полезен на этапе разработки и тестирования, где воспроизведение одинакового вывода между запусками сильно упрощает отладку изменения промпта — не приходится гадать, вызвано ли различие в выводе вашим изменением или обычной вариативностью сэмплирования.

Пока не поддерживается

Несколько смежных с сэмплированием полей, существующих в собственном API OpenAI, пока не принимаются: n (несколько вариантов-кандидатов завершения на запрос; tAI всегда возвращает ровно один), logprobs / top_logprobs и response_format (структурированный вывод в режиме JSON). Отправка любого из них не имеет эффекта; они не проверяются и не применяются. Полный список того, что поддерживается, а что нет, при переносе существующей интеграции см. на странице Совместимость с OpenAI SDK.