Как настраивать параметры AI API: temperature, max_tokens и top_p
Практическое руководство по temperature, top_p и max_tokens: влияние параметров, расчёт лимита вывода и стартовые настройки для разных задач.
Как настраивать параметры AI API: temperature, max_tokens и top_p
Имя модели и ключ — только базовая часть запроса. Параметры temperature, max_tokens (в некоторых API — max_completion_tokens) и top_p влияют на длину, стабильность и разнообразие ответа. Начинайте с консервативных значений и сравнивайте результаты на одинаковых тестовых запросах.
Что делает каждый параметр
| Параметр | Назначение | Что обычно меняется при увеличении |
|---|---|---|
temperature | Случайность выборки | Больше разнообразия и меньше повторяемости |
top_p | Диапазон кандидатов по накопленной вероятности | Меняется набор доступных вариантов |
max_tokens | Максимальный объём нового текста | Ответ может быть длиннее, но растут цена и задержка |
Поддержка параметров и их диапазоны различаются у моделей и API-посредников. Если сервер отвечает 400, сверяйтесь с документацией именно для выбранной модели.
Как выбирать temperature
Для классификации, извлечения, суммаризации и кода начните с 0–0.3. Для идей и творческого текста можно поднять значение до 0.7–1.0, но проверьте факты и повторяемость результата. Temperature не повышает автоматически точность и не заменяет инструкцию о формате ответа.
{
"model": "model-id",
"messages": [{"role": "user", "content": "Извлеки три пункта"}],
"temperature": 0.2,
"max_tokens": 500
}
Сначала зафиксируйте prompt и max_tokens, а затем меняйте только temperature. Так будет понятно, какой параметр повлиял на результат.
Почему не стоит одновременно менять top_p
top_p оставляет кандидатов, пока их суммарная вероятность не достигнет заданного значения. Низкое значение сужает выбор, высокое оставляет больше вариантов. И top_p, и temperature меняют случайность, поэтому во время теста обычно фиксируют один параметр на стандартном значении и настраивают другой.
Если посредник не поддерживает top_p, удалите поле после проверки документации. Зафиксируйте в результатах теста, было ли поле принято, проигнорировано или вызвало 400.
Как оценить max_tokens
Это верхняя граница нового вывода, а не обещанная длина. Слишком маленькое значение обрежет ответ, слишком большое увеличит задержку и может превысить контекстное окно или бюджет.
входные Token + max_tokens <= лимит контекста модели
Для длинного документа, кода, изображений, system prompt и истории диалога оставляйте запас. При ошибке контекста или обрезанном ответе уменьшите историю и лимит вывода, затем проверьте актуальное имя параметра в документации модели.
Стартовые настройки по задачам
- Извлечение и JSON:
temperature=0–0.2, лимит вывода по числу полей и проверка схемы; - Обычный вопрос:
temperature=0.3–0.7и достаточный лимит ответа; - Творческий текст:
temperature=0.7–1.0с ограничением длины и проверкой содержимого; - Код: низкая temperature, ограничение вывода, затем запуск тестов или компилятора.
Это стартовые точки, а не универсальная рекомендация. Записывайте ID модели, параметры, статус, расход Token и факт обрезания ответа, но не сохраняйте ключ и чувствительный prompt.
Проверка перед запуском
- Уточнить поддерживаемые поля и диапазоны для конкретной модели;
- Менять за один тест только один параметр случайности;
- Оставить запас в контекстном окне;
- Проверять JSON, код и важные ответы автоматически;
- Сохранять параметры и расход Token без секретов;
- Не использовать устаревшие поля из старых примеров.
Цель настройки — сбалансировать цену, скорость и стабильность. Посредники могут менять значения по умолчанию или ограничивать поля, поэтому перед рабочим запуском выполните короткий тестовый запрос.
Дополнительно: стабильный JSON в AI API · оплата по подписке или по факту