OpenAI
Эта страница была переведена машинным переводом. Открыть оригинальную статью на английском.

Управление длиной ответов моделей OpenAI

Узнайте, как задавать ограничения вывода для моделей OpenAI с помощью настроек токенов, четких промптов, примеров и stop-последовательностей.

Обновлено: 3 days ago

Обзор

Управлять длиной ответа модели полезно по нескольким причинам: это помогает контролировать стоимость (так как оплата идет за токен), снижает задержку и повышает производительность (короткие ответы возвращаются быстрее), а также сохраняет релевантность, предотвращая слишком длинный или многословный вывод.

Для этого можно использовать лимиты токенов, настройки рассуждений и подробности, четкие инструкции, примеры и stop-последовательности. Самые актуальные и полные сведения всегда смотрите в официальном справочнике API на platform.openai.com.

Задайте максимальную длину вывода

Responses API

Для моделей GPT-5 и большинства моделей серии o используйте max_output_tokens, чтобы ограничить количество токенов, генерируемых моделью. В запросах compaction_trigger либо не указывайте max_output_tokens, либо задайте значение не менее 20000; меньшие значения отклоняются. Responses API не поддерживает несколько завершений (n).

API завершения чата

Используется для устаревших моделей GPT-3.5, GPT-4o и иногда для моделей серии o.

  • Для моделей рассуждений, таких как o3 и o4-mini, используйте max_completion_tokens (псевдоним max_tokens)

  • Для более ранних моделей и моделей без рассуждений по-прежнему работает max_tokens

  • Поддерживает stop и n (несколько завершений).

Примечание. Настройки «минимальное число токенов» нет. Если вам нужна минимальная длина, укажите ее в промпте.

Ограничения токенов по группам моделей

Актуальные ограничения токенов, размеры контекста и лимиты вывода см. в документации по конкретной модели.

Короткие примеры

Responses API

{ "model": "gpt-5", "input": "Кратко изложи выводы примерно в 80 словах.", "max_output_tokens": 120 }

Chat Completions (модель рассуждений)

{ "model": "o3-mini", "messages": [{"role": "user", "content": "Напиши пять вариантов по одной строке."}], "max_completion_tokens": 100 }

Параметры только для моделей GPT-5: verbosity и reasoning.effort

Эти параметры доступны только в моделях GPT-5 (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro и т. д.). Модели серии o и устаревшие модели их не поддерживают.

Параметр verbosity принимает значения "low", "medium" (по умолчанию) или "high". Он влияет на уровень детализации, но не задаёт жёстких ограничений.

{ "model": "gpt-5", "input": "Объясни PageRank на общем уровне.", "text": { "verbosity": "low" }, "max_output_tokens": 200 }

Параметр reasoning.effort определяет, сколько токенов рассуждений будет сгенерировано перед выдачей ответа. GPT-5.2 поддерживает значения none, low, medium, high и xhigh. gpt-5.2-pro поддерживает только medium, high и xhigh. Более ранние модели рассуждений поддерживают только low, medium и high.

{ "model": "gpt-5", "input": "Сколько золота потребуется, чтобы покрыть Статую Свободы слоем толщиной 1 мм?", "reasoning": { "effort": "minimal" } }

Чтобы модель работала как модель без рассуждений в сценариях, чувствительных к задержке, задайте для reasoning.effort значение none.

Давайте конкретные инструкции

Укажите точную длину или формат, который вам нужен. Примеры:

  • «Перечисли ровно пять вариантов».

  • «Напиши резюме из 50 слов».

  • «Не более 100 токенов. Если нужно больше, напишите: «Нужно больше места».»

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

Few-shot примеры, соответствующие желаемой длине, помогают модели продолжать заданный шаблон.

Используйте стратегические стоп-последовательности

Используйте stop, чтобы остановить генерацию, когда модель достигнет разделителя или границы нумерованного списка.

{ "stop": ["\n###", "6."] }

Несколько вариантов

  • API завершения чата: параметр n возвращает несколько завершений за один вызов.

  • Responses API: параметр n не поддерживается. Если нужен не один результат, выполните несколько вызовов.

Была ли эта статья полезной?