简短回答
max_tokens 控制模型单次回复最多生成多少个 token。API易 不对 max_tokens 做额外限制,该参数会直接透传给上游模型。你可以自行设置,不设置则使用模型的默认值。
API易 的立场:我们不强制限制
max_tokens,完全由你自行控制。不设置时,模型会使用各自的默认值输出。max_tokens 的作用
max_tokens(最大输出 token 数)是调用大模型 API 时最常见的参数之一,它告诉模型:这次回复最多生成多少个 token。
- 设置得太小:模型可能在回答到一半时被截断(返回
finish_reason: "length") - 设置得太大:不会强制模型生成那么多内容,但可能消耗更多费用(部分模型按输出 token 计费)
- 不设置:使用模型的默认值(各厂商不同,见下方表格)
OpenAI 参数名称演变
OpenAI 在不同时期和不同 API 中使用了不同的参数名称,容易造成混淆:为什么要改名?
2024 年 9 月 OpenAI 发布 o1 推理模型时,引入了「隐藏推理 token」的概念——模型内部会生成大量推理 token(reasoning tokens),但这些 token 不会出现在你的回复中。 原来的max_tokens 既表示「生成的 token 数」又表示「你收到的 token 数」,但在推理模型中这两者不再相等。因此 OpenAI 改用 max_completion_tokens 来明确表示「你收到的回复 token 上限」。
后来 Responses API 统一使用了 max_output_tokens 这个更直观的名称。
不设置 max_tokens 会怎样?
不同厂商的处理方式不同:各模型最大输出 tokens 参考
以下为主流模型的最大输出 token 数参考值。实际数值请以各厂商官方文档为准,因为模型更新频繁。官方文档参考(获取最新数值):
- 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
使用建议
常见问题
API易 有没有对 max_tokens 做限制?
API易 有没有对 max_tokens 做限制?
没有。API易 完全透传
max_tokens 参数给上游模型,不做任何额外限制。你设置多少,上游模型就按多少处理。唯一的限制来自模型本身的最大输出 token 上限。max_tokens 设置得比模型最大值还大会怎样?
max_tokens 设置得比模型最大值还大会怎样?
不会报错,模型会自动按自身的最大输出上限生成。例如 GPT-4o 最大输出 16,384 tokens,即使你设置
max_tokens: 100000,它最多也只会输出 16,384 tokens。max_tokens 和 max_completion_tokens 有什么区别?
max_tokens 和 max_completion_tokens 有什么区别?
功能相同,都是限制输出 token 数。区别在于:
max_tokens:OpenAI 早期参数名,适用于 GPT 系列非推理模型max_completion_tokens:2024 年 9 月起,OpenAI o 系列推理模型使用的参数名max_output_tokens:OpenAI Responses API 统一使用的参数名
输出被截断了(finish_reason 为 length),怎么办?
输出被截断了(finish_reason 为 length),怎么办?
这说明模型生成的内容达到了
max_tokens 上限。解决方法:- 增大
max_tokens值 - 优化 prompt,让模型生成更简洁的回复
- 检查是否使用了正确的参数名(o 系列模型需用
max_completion_tokens)
相关文档
如何选择合适的 AI 模型?
根据应用场景选择最适合的模型
API 可以开多少并发?
了解不同模型的并发限制
Base URL 配置指南
各类工具中配置 API易 Base URL 的方法
API易-令牌管理
管理 API 密钥、查看用量和余额