用 Message Batches 批量处理离线请求
把大量非实时 Claude 请求提交到 Message Batches,稍后再取回结果。
基于 Claude Docs 整理 · Batches · 官方资料
评测、翻译、分类这类不需要立刻返回的任务,适合 Message Batches。
这篇完成:创建批次、轮询状态、下载结果。
创建批次请求
batches.create
python
import anthropic
client = anthropic.Anthropic()
batch = client.messages.batches.create(
requests=[
{
"custom_id": "task-1",
"params": {
"model": "claude-sonnet-4-6",
"max_tokens": 200,
"messages": [
{"role": "user", "content": "把这句话翻译成英文:缓存命中。"}
],
},
}
]
)
print(batch.id, batch.processing_status)等待完成并取结果
用 batches.retrieve 查看状态;完成后按官方方式流式读取结果行,用 custom_id 对齐原始任务。
最容易踩的坑
把批次当成实时聊天
Batches 有处理延迟;交互式 UI 仍用普通 Messages / Streaming。