logo

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 文件

{"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:发起批处理

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 更像“离线生产线”,不是“偷偷替代在线接口”的办法。只要用户在等结果,就别拿它硬顶在线请求。

官方参考

Claude API 开发指南
AI Engineer

Claude API 开发指南

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

Claude API 开发指南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 更像“离线生产线”,不是“偷偷替代在线接口”的办法。只要用户在等结果,就别拿它硬顶在线请求。

#官方参考

System Design

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

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

进入 System Design →

相关路线图