概览
控制模型响应长度有多方面好处:有助于管理成本(因为按 Token 计费)、降低延迟并提升性能(响应越短返回越快),还可避免输出过长或啰嗦,从而确保内容相关。
你可以通过 Token 上限、推理和 verbosity 设置、清晰说明、示例以及停止序列来实现这一点。如需最新、最完整的详细信息,请始终参阅 platform.openai.com 上的官方 API 参考。
设置最大输出长度
Responses API
用于 GPT-5 模型和大多数 o 系列模型:使用 max_output_tokens 限制模型将生成的 Token 数量。对于 compaction_trigger 请求,要么省略 max_output_tokens,要么将其设置为至少 20000;更小的值会被拒绝。Responses API 不支持多项补全(n)。
Chat Completions API
用于旧版 GPT-3.5、GPT-4o,有时也用于 o 系列。
对于 o3 和 o4-mini 等推理模型,请使用
max_completion_tokens(max_tokens的别名)。对于更早的模型或非推理模型,
max_tokens仍然可用。支持
stop和n(多项补全)。
注意:不存在“最少 Token 数”设置。如果需要最小长度,请在提示中说明。
按模型组划分的 Token 限制
有关最新的 Token 限制、上下文大小和输出上限,请参阅具体模型文档。
快速示例
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` 控制在生成答案前产生多少推理 Token。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 个 Token。如果还需要空间,请说‘需要更多空间。’”
使用长度一致的示例
与期望长度相匹配的少样本示例有助于模型延续这种模式。
有策略地应用停止序列
使用 stop,在模型到达分隔符或编号列表边界时停止生成。
{ "stop": ["\n###", "6."] }多个候选结果
Chat Completions:
n可在一次调用中返回多项补全。Responses API:不支持
n;如果需要多个输出,请进行多次调用。
