OpenAI Batch API 怎么省 50%:JSONL、24 小时窗口与结果对账

Batch API 适合评测、批量分类和向量化等非实时任务;本文按官方文档说明 50% 折扣、JSONL 提交、24 小时完成窗口和逐条结果对账。

关键词
LALondAI 内容团队发布日期 2026-11-08
6 分钟阅读模型教程
LA
OpenAI Batch API 怎么省 50%:JSONL、24 小时窗口与结果对账
OpenAI Batch API官方来源与可执行检查LondAI 内容团队

如果任务不要求立即返回,OpenAI Batch API 可以把一组请求异步处理。官方文档明确给出三项核心差异:相对同步接口降低 50% 成本、使用独立且更宽裕的限额池,并提供 24 小时完成窗口。它适合离线评测、批量分类、内容库向量化等任务,不适合用户正在等待答案的在线对话。

先确认是否真的适合批处理

  • 任务可以等待,业务承诺允许最长 24 小时完成。
  • 每条输入彼此独立,单条失败不会破坏整批业务状态。
  • 调用的端点与模型在 Batch API 支持范围内。
  • 输入中没有不应进入第三方 API 的敏感数据,且已按最小必要原则脱敏。

直接来源:OpenAI Batch API 官方指南。

JSONL 文件怎样设计

批次输入是 JSONL 文件,一行对应一个独立请求。每行都要提供唯一的 custom_id,用于把输出重新映射到业务记录;不要依赖结果文件的行序与输入一致。一个输入文件只能使用同一个模型,正文参数应与目标端点的同步请求保持一致。

推荐把业务主键的不可逆摘要、任务版本和分片号组合进 custom_id,但不要把用户邮箱、手机号、完整订单号或 API Key 写进去。提交前先逐行做 JSON 解析和字段白名单校验,避免整批因为格式错误被拒绝。

可复现的执行顺序

  1. 从同步链路抽取一小批已脱敏样本,固定模型、提示词版本和输出格式。
  2. 生成 JSONL,并检查 custom_id 唯一、URL 一致、模型一致。
  3. 上传输入文件并创建批次,记录 batch ID、输入文件哈希、提交时间和负责人。
  4. 按合理间隔轮询状态,不要用高频轮询抵消批处理的限额优势。
  5. 完成后分别下载成功结果与错误结果,按 custom_id 回填;只重提可重试的失败项。

成本与风险边界

“50% 折扣”只说明 Batch API 相对同步调用的计费优惠,不等于所有任务总成本自动减半。提示词过长、输出失控、重复提交和无法复用的失败结果仍会增加费用。批次也不是实时队列:需要秒级响应、强顺序依赖或必须立即撤回的任务,应继续使用同步接口或自建任务队列。

上线前怎样验收

用固定的 100 条样本同时跑同步与批处理基线,核对成功数、错误类型、输出结构、token 用量和账单差异。再人为加入一条格式错误和一条业务失败,确认系统能按 custom_id 精确定位并只重试必要记录。验收通过的标准不是“批次显示 completed”,而是每条输入都有明确、可审计的最终状态。