logo
Claude API 开发指南
AI Engineer

Claude API 开发指南

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

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 是大规模处理任务时的“省钱利器”。只要对实时性要求不高,就应该优先考虑。

相关路线图