最大输出 Token 数

Max Output Tokens

最大输出 Token 数(max_tokens / max_completion_tokens)指单次 API 请求允许模型生成的输出 Token 上限,防止输出过长或控制成本。

详细解释

最大输出 Token 数(Max Output Tokens,API 参数常写作 max_tokensmax_completion_tokens 是你在每次请求时显式设置的一个”输出长度刹车”。

它和 上下文窗口 不一样:

  • 上下文窗口 = 输入 + 输出总和上限(模型物理极限);
  • Max Output Tokens = 你在单次调用时**自愿限制的输出上限(可以比窗口小很多)。

为什么要设

  1. 控成本:输出 Token 通常比输入贵 2–10 倍。你不设上限,模型可能”长篇大论”输出 8K、16K Token,一口吃掉你几美元。
  2. 防跑飞:极端情况下模型会陷入”重复一句话”的死循环,max_tokens 是最后一道防线。
  3. 保体验:摘要、分类、提取类任务本来就不需要长回答,设 200–500 Token 又快又便宜。

唯元智创(Weimeta)的控制台在”成本保护”里可以给整个账号默认 max_tokens 上限,即使 SDK 忘了填也不会突破。

典型参数名的新旧之别

OpenAI 从 GPT-4.1 / GPT-5.x 起把参数名从 max_tokens 改叫 max_completion_tokens:含义相同,更准确地对应 JSON Output(Completion)部分。Chat Completions 接口两者都接受,但新接口推荐后者。

常见问题

设了 max_tokens 模型就一定生成这么多吗?
不会。它是上限,模型回答完会自然停止(遇到 stop token)。只有让它”写长文还**才可能接近上限。要让输出长度可以配合 min tokens(仅部分厂商支持)。