OpenAI
此頁面由機器翻譯。查看原始英文文章

控制 OpenAI 模型回應的長度

了解如何使用 Token 設定、清楚的提示詞、範例與停止序列,為 OpenAI 模型設定輸出限制。

更新日期:19 hours ago

總覽

控制模型回應長度有幾個好處:有助於管理成本(因為你按 Token 付費)、改善延遲與效能(較短的回應會更快傳回),並避免過長或過於冗贅的輸出,以確保相關性。

你可以透過 Token 上限、推理與詳細度設定、清楚的指示、範例,以及停止序列來達成。如需最新且完整的詳細資訊,請一律參閱 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_tokensmax_tokens 的別名)

  • 對於較早期/非推理模型,max_tokens 仍可使用

  • 支援 stopn(多個補全)。

注意:沒有「最低 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 模型專屬控制項:verbosityreasoning.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,lowmediumhigh,and xhigh。gpt-5.2-pro 僅支援 mediumhigh,and xhigh。較早期的推理模型僅支援 lowmediumhigh

{ "model": "gpt-5", "input": "若要在自由女神像表面鍍上一層 1mm 厚的黃金,需要多少黃金?", "reasoning": { "effort": "minimal" } }

你可以將 `reasoning.effort` 設為 none,讓模型在對延遲敏感的使用案例中,像非推理模型一樣運作。

提供具體指示

明確要求你想要的長度或形式。範例:

  • 「列出剛好五個選項。」

  • 「寫一篇50 字摘要。」

  • 「不超過 100 個 Token。如果需要更多空間,請說「需要更多空間。」」

使用長度一致的範例

與你所需長度相符的少樣本範例,有助於模型延續相同模式。

策略性套用停止序列

使用 stop,讓模型在到達分隔符號或編號清單邊界時停止生成。

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

多個候選項目

  • Chat Completions:n 會在一次呼叫中傳回多個補全。

  • Responses API:不支援 n;如果需要多個輸出,請進行多次呼叫。

這篇文章有幫助嗎?