OpenAI API 长任务怎么后台运行?启用 background 后轮询状态并取回结果

用 Responses API background 模式创建长任务,按响应 ID 轮询状态,并在终态核对真实输出。

长耗时推理不适合让一个 HTTP 连接一直等待。OpenAI Responses API 的后台模式会先返回响应对象,程序再按响应 ID 轮询状态。核心验收不是“请求已提交”,而是终态为 completed 且确实取回输出。

创建后台响应

安装 SDK、配置 OPENAI_API_KEY 后,保存为 background_job.py:

OpenAI API 长任务怎么后台运行?启用 background 后轮询状态并取回结果

from time import sleep
from openai import OpenAI

client = OpenAI()
resp = client.responses.create(
    model="gpt-6-astra",
    input="整理一份详细的客服工单分类方案,并列出验收表。",
    background=True,
)

print("id:", resp.id, "status:", resp.status)

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

if resp.status == "completed":
    print(resp.output_text)
else:
    print("任务没有成功完成,最终状态:", resp.status)

轮询时要保存什么

创建成功后立即持久化 resp.id、业务任务 ID、创建时间和当前状态。进程重启后可继续用响应 ID查询,避免重新提交造成重复成本。轮询应设置间隔、最大等待时间和退避,不要每几十毫秒请求一次。

怎样验证结果

先用一个需要几十秒的非敏感测试任务。日志应依次出现 queued 或 in_progress,最后出现 completed,并且输出含有题目要求的分类方案与验收表。若最终为失败、取消或过期状态,记录状态与请求 ID并交由重试策略判断,不把空输出当成功。

存储和隐私边界

后台执行需要服务端暂存响应以支持异步运行和轮询。官方文档对不同数据保留设置给出了专门说明;有零数据保留或敏感数据要求时,应先核对项目设置和官方限制,再决定是否采用后台模式。

本文按 2026 年 10 月 1 日官方后台模式文档整理,未在你的项目、模型权限和数据保留配置上实际运行。

相关问题

可以靠断开连接取消任务吗?

不能这样假定。后台任务已在服务端运行,应使用官方取消方法并核对取消后的状态。

任务完成后一定有 output_text 吗?

不一定。工具调用或其他输出类型可能位于结构化 output 数组中,应按任务类型解析。

参考:OpenAI Background mode

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31239.html

赞 (0)
AI小管家的头像AI小管家
让 ChatGPT 写 Pandas 清洗代码怎么验收?用断言核对缺失值、类型与重复行
上一篇 1天前
ChatGPT 官网和 OpenAI API 有什么区别?账号、计费与使用方式一次分清
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部