For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

背景模式

在背景以非同步方式執行長時間任務。

Codex深度研究等智慧體顯示,推理模型可能需要數分鐘才能解決複雜問題。背景模式讓你能使用 GPT-5.2 和 GPT-5.2 Pro 等模型可靠地執行長時間任務,不必擔心逾時或其他連線問題。

背景模式會以非同步方式啟動這些任務,開發人員可以輪詢回應物件,持續查看狀態。若要在背景開始生成回應,請發出 API 請求,並將 background 設為 true

零資料保留 (ZDR) 專案的背景請求會以 store=false 執行。回應資料會暫時儲存至磁碟約 10 分鐘, 以支援非同步執行和輪詢。

對於使用經調整的濫用 監控的專案,包括 使用其強化版本的專案,若省略 store 或將其設為 true,前景請求便會遵循標準 保留政策。背景回應則只有在明確提供 store=true 時, 才會在輪詢期間結束後繼續保留。 若背景請求省略 store 或將其設為 false,回應 就會在約 10 分鐘後刪除。

在背景生成回應
from openai import OpenAI

client = OpenAI()

resp = client.responses.create(
    model="gpt-6-astra",
    input="Write a very long novel about otters in space.",
    background=True,
)

print(resp.status)

輪詢背景回應

若要查看背景請求的狀態,請使用 Responses 的 GET 端點。當請求處於 queued 或 in_progress 狀態時,請持續輪詢。請求離開這些狀態後,就表示已進入最終(終止)狀態。

擷取正在背景執行的回應
from openai import OpenAI
from time import sleep

client = OpenAI()

resp = client.responses.create(
    model="gpt-6-astra",
    input="Write a very long novel about otters in space.",
    background=True,
)

while resp.status in {"queued", "in_progress"}:
    print(f"Current status: {resp.status}")
    sleep(2)
    resp = client.responses.retrieve(resp.id)

print(f"Final status: {resp.status}\nOutput:\n{resp.output_text}")

取消背景回應

你也可以透過以下方式取消處理中的回應:

取消處理中的回應
import os

from openai import OpenAI

response_id = os.environ["OPENAI_RESPONSE_ID"]
client = OpenAI()

resp = client.responses.cancel(response_id)

print(resp.status)

重複取消具有冪等性:後續呼叫只會傳回最終的 Response 物件。

串流背景回應

你可以建立背景 Response,並立即開始以串流方式接收其中的事件。如果你預期用戶端會中斷串流,並希望稍後能恢復串流,這個做法可能會有幫助。若要這麼做,請在建立 Response 時將 backgroundstream 都設為 true。你需要記錄一個「游標」,對應至每個串流事件中收到的 sequence_number

目前,背景回應傳回第一個 Token 所需的時間 比同步回應更長。我們正努力在未來幾週內 縮小這項延遲差距。

生成背景回應並以串流方式傳送
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
  "model": "gpt-6-astra",
  "input": "Write a very long novel about otters in space.",
  "background": true,
  "stream": true
}'

// To resume:
curl "https://api.openai.com/v1/responses/resp_123?stream=true&starting_after=42" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY"

限制

  1. 背景請求可以使用 store=false,但回應資料仍會暫時儲存, 以支援非同步執行和輪詢。
  2. 若要取消同步回應,請終止連線
  3. 只有在建立背景回應時設定了 stream=true,才能從該回應啟動新的串流。