logo

Claude Message Batches API

Message Batches API 允许你异步发送大量的 API 请求。如果你不需要即时响应(例如批量的文本分析、翻译或数据提取),使用 Batch API 可以获得 50% 的价格折扣

1. 核心优势

  • 成本降低 50%:所有通过 Batch 接口处理的任务,费用直接减半。
  • 超大规模并发:一次 Batch 可以包含多达 10,000 个请求,且不计入常规的 Rate Limit(速率限制)。
  • 简单可靠:只需上传一个包含所有请求的文件,Claude 会在 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。
  • 模型支持:Claude 3 全系列模型均支持 Batch 处理。
  • 错误处理:如果 batch 中某些请求失败,结果文件中会包含对应的错误信息,不会影响其他请求。

总结:Batch API 是大规模处理任务时的“省钱利器”。只要对实时性要求不高,就应该优先考虑。

Claude API 开发指南
Claude API 开发指南Batch API

Claude Message Batches API

Message Batches API 允许你异步发送大量的 API 请求。如果你不需要即时响应(例如批量的文本分析、翻译或数据提取),使用 Batch API 可以获得 50% 的价格折扣

#1. 核心优势

  • 成本降低 50%:所有通过 Batch 接口处理的任务,费用直接减半。
  • 超大规模并发:一次 Batch 可以包含多达 10,000 个请求,且不计入常规的 Rate Limit(速率限制)。
  • 简单可靠:只需上传一个包含所有请求的文件,Claude 会在 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。
  • 模型支持:Claude 3 全系列模型均支持 Batch 处理。
  • 错误处理:如果 batch 中某些请求失败,结果文件中会包含对应的错误信息,不会影响其他请求。

总结:Batch API 是大规模处理任务时的“省钱利器”。只要对实时性要求不高,就应该优先考虑。

System Design

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

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

进入 System Design →

相关路线图