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

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

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

Обновлено: yesterday

Обзор

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

Этого можно добиться с помощью лимитов токенов, настроек рассуждений и многословности, чётких инструкций, примеров и стоп-последовательностей. Самую актуальную и полную информацию всегда ищите в официальной справке API на platform.openai.com.

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

Responses API

Используется для моделей GPT-5 и большинства моделей серии o: применяйте max_output_tokens, чтобы ограничить количество токенов, которое сгенерирует модель. Поддерживает stop, но не поддерживает несколько вариантов завершения (n).

Chat Completions 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,and xhigh. В gpt-5.2-pro поддерживаются только medium, high,and xhigh. Более ранние модели с рассуждениями поддерживают только low, medium и high.

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

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

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

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

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

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

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

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

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

Применяйте стратегические стоп-последовательности

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

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

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

  • Chat Completions: n возвращает несколько завершений за один вызов.

  • Responses API: n не поддерживается; сделайте несколько вызовов, если нужно больше одного результата.

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