Skip to main content

Краткий ответ

max_tokens управляет максимальным количеством tokens, которые модель может сгенерировать в одном ответе. APIYI не накладывает никаких дополнительных ограничений на max_tokens — параметр передается напрямую во внешнюю модель. Вы можете задать его самостоятельно; если он не задан, применяется значение по умолчанию модели.
Подход APIYI: Мы не устанавливаем никаких ограничений на max_tokens. У вас полный контроль. Если значение не задано, каждая модель использует собственное поведение вывода по умолчанию.

Что делает max_tokens

max_tokens (maximum output tokens) — один из самых распространенных параметров при вызове LLM API. Он говорит модели: сгенерируйте в ответе не больше этого количества tokens.
  • Установите значение слишком низким: модель может оборвать ответ на середине (возвращает finish_reason: "length")
  • Установите значение слишком высоким: модель не будет обязана генерировать столько tokens, но вы можете столкнуться с более высокими затратами (некоторые модели взимают плату за каждый output token)
  • Не задано: используется значение по умолчанию для модели (зависит от провайдера — см. таблицу ниже)
token ≠ символ. В английском примерно 1 слово ≈ 1-1.5 tokens. В китайском примерно 1 символ ≈ 1-2 tokens. 4,096 tokens — это примерно 3,000 английских слов.

Эволюция именования параметров OpenAI

OpenAI использует разные имена параметров в разных API и в разные периоды, что может вызывать путаницу:

Почему произошло переименование?

Когда OpenAI выпустила модель рассуждения o1 в сентябре 2024 года, она представила «скрытые токены рассуждения» — модель генерирует обширные внутренние токены рассуждения, которые не отображаются в вашем ответе. Первоначальный max_tokens означал и «токены, которые сгенерированы», и «токены, которые вы получаете», но у моделей рассуждения эти значения больше не совпадают. Поэтому OpenAI ввела max_completion_tokens, чтобы явно обозначить «лимит на токены, которые вы получаете в ответе». Позже Responses API перешел на более интуитивное название max_output_tokens.
Важно: При использовании моделей рассуждения серии o от OpenAI (например, o3, o4-mini) с Chat Completions API вы обязательно должны использовать max_completion_tokens вместо max_tokens, иначе получите ошибку.

Что происходит, если max_tokens не задан?

Разные провайдеры обрабатывают это по-разному:
Особая примечание: max_tokens в Claude API — это обязательный параметр. Если вы его не укажете, API вернет ошибку. Всегда задавайте его при использовании моделей Claude.

Справочник по максимальному числу output tokens

Ниже приведены максимальные лимиты output tokens для популярных моделей. Всегда проверяйте официальную документацию, чтобы получить самые актуальные значения, поскольку модели часто обновляются.
Официальная документация (для актуальных значений):
  • OpenAI: platform.openai.com/docs/models
  • Anthropic Claude: docs.anthropic.com/en/docs/about-claude/models
  • Google Gemini: ai.google.dev/gemini-api/docs/models
  • DeepSeek: api-docs.deepseek.com/api/create-chat-completion

Рекомендации

Лучшая практика: Мы рекомендуем явно задавать max_tokens в каждом вызове API, потому что:
  • У разных моделей/провайдеров разные значения по умолчанию, что может привести к неожиданному усечению
  • Ограничивает длину ответа и предотвращает ненужное расходование token
  • Claude API требует этого — выработка единой привычки снижает количество ошибок
  • Типичные настройки: обычный чат 2048-4096, генерация длинных текстов 8192-16384, генерация кода 4096-8192

Часто задаваемые вопросы

Нет. APIYI передает параметр max_tokens напрямую вышестоящей модели без каких-либо дополнительных ограничений. Какое значение вы зададите, такое и получит вышестоящая модель. Единственное ограничение — собственный максимальный лимит output token у модели.
Ошибки не будет — модель просто сгенерирует вывод в пределах своего собственного максимума. Например, у GPT-4o максимальный output составляет 16,384 token; даже если вы зададите max_tokens: 100000, она выведет не более 16,384 token.
Они служат одной и той же цели — ограничению количества token. Разница только в названии:
  • max_tokens: исходное имя параметра OpenAI, используемое для не-reasoning моделей серии GPT
  • max_completion_tokens: С сентября 2024 года используется для reasoning-моделей o-серии OpenAI
  • max_output_tokens: Единое имя параметра в OpenAI Responses API
При вызове через APIYI используйте подходящее имя параметра в зависимости от модели и формата API, который вы используете.
Это означает, что вывод модели достиг лимита max_tokens. Решения:
  1. Увеличьте значение max_tokens
  2. Оптимизируйте prompt, чтобы получать более краткие ответы
  3. Проверьте, что вы используете правильное имя параметра (модели o-серии требуют max_completion_tokens)

Похожие документы

Как выбрать правильную AI-модель?

Выберите лучшую модель для вашего сценария использования

Лимиты параллельных запросов API

Узнайте о лимитах параллельных запросов для разных моделей

Руководство по настройке Base URL

Как настроить Base URL APIYI в различных инструментах

Управление токенами APIYI

Управляйте API-ключами, проверяйте использование и баланс