匠人学院 JR Academy
跳至正文
学习指南
Claude API 开发指南

Anthropic Claude API 提供了强大的 AI 模型访问,以安全性和准确性著称,适合企业级应用。

3 个章节·9 篇指南·按章节权限阅读
Batch API
本页内容

Claude Message Batches API

如果你的任务不要求实时返回,Message Batches 基本应该优先进入候选。Anthropic 官方文档里给得很明确,Batch usage 按标准 API 价格的 50% 计费,这对大批量离线任务很实在。

#1. 核心优势

  • 成本降低 50%:所有通过 Batch 接口处理的任务,费用直接减半。
  • 超大规模处理:Anthropic 当前文档写的是单个 batch 最多 100,000 个 message requests,或 256 MB 大小,以先达到的为准。
  • 异步完成:大多数 batch 会在 1 小时内结束,但官方仍给出最长 24 小时 的处理窗口。

#2. 工作流程

  1. 准备请求文件:创建一个 .jsonl 文件,每行是一个标准的 Messages API 请求对象。
  2. 上传文件:将文件通过 API 上传到 Anthropic 平台。
  3. 创建 Batch:启动批处理任务。
  4. 轮询状态:等待任务完成。
  5. 下载结果:任务完成后下载包含所有回复的结果文件。

#3. 代码示例 (Python)

#步骤 1:准备 JSONL 文件

json
{"custom_id": "request-1", "params": {"model": "claude-3-5-sonnet-20240620", "max_tokens": 100, "messages": [{"role": "user", "content": "翻译为英文:你好"}]}} {"custom_id": "request-2", "params": {"model": "claude-3-5-sonnet-20240620", "max_tokens": 100, "messages": [{"role": "user", "content": "翻译为英文:再见"}]}}

#步骤 2:发起批处理

python
import anthropic client = anthropic.Anthropic() # 1. 创建批处理任务 batch = client.beta.messages.batches.create( requests=[ # ... 这里也可以直接传入字典列表 ] ) # 2. 获取任务状态 print(batch.status) # 'processing', 'ended', 等

#4. 适用场景

  • 离线数据标注:给成千上万条评论打标签。
  • 批量内容生成:一次性生成 1000 个 SEO 标题。
  • 大规模翻译:将整个网站的本地化文件进行翻译。
  • 历史数据重处理:用最新的 Claude 3.5 模型重新运行之前的任务。

#5. 注意事项

  • 非实时性:最长处理时间为 24 小时。如果你的应用需要用户等待几秒钟就拿到结果,请使用常规 API。
  • 模型支持:官方 API 页面列出的支持范围已经覆盖 Claude Sonnet 4、Opus 4 等主线模型。
  • 错误处理:如果 batch 中某些请求失败,结果文件中会包含对应的错误信息,不会影响其他请求。

再补一个真实项目里很重要的点:batch 更像“离线生产线”,不是“偷偷替代在线接口”的办法。只要用户在等结果,就别拿它硬顶在线请求。

#官方参考

发布团队
JR Academy
学习资料

个人作者与审校人按实际记录署名。

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图

看完了,下一步