Claude Batch API 批量调用指南

Claude Batch API 允许你批量发送大量请求,享受 50% 的费用折扣。适用于数据处理、内容生成、批量分析等不需要实时响应的场景。本文详细介绍 Batch API 的使用方法和最佳实践。

Batch API 概述

Batch API 与实时 API 的核心区别:

使用流程

  1. 准备请求列表(JSONL 格式)
  2. 创建批量任务
  3. 轮询任务状态
  4. 下载结果

Python 完整示例

1. 准备请求

import anthropic
import json

client = anthropic.Anthropic(
    api_key="your-api-key",
    base_url="https://claude4u.com/v1"
)

# 准备批量请求
requests = []
articles = ["文章1内容...", "文章2内容...", "文章3内容..."]

for i, article in enumerate(articles):
    requests.append({
        "custom_id": f"summary-{i}",
        "params": {
            "model": "claude-sonnet-4-20250514",
            "max_tokens": 512,
            "messages": [
                {"role": "user", "content": f"请用100字总结以下文章:\n\n{article}"}
            ]
        }
    })

2. 创建批量任务

# 创建 Batch
batch = client.batches.create(requests=requests)
print(f"Batch ID: {batch.id}")
print(f"状态: {batch.processing_status}")

3. 轮询状态并获取结果

import time

# 等待完成
while True:
    batch = client.batches.retrieve(batch.id)
    print(f"状态: {batch.processing_status}")

    if batch.processing_status == "ended":
        break
    time.sleep(30)  # 每30秒检查一次

# 获取结果
results = client.batches.results(batch.id)
for result in results:
    print(f"ID: {result.custom_id}")
    if result.result.type == "succeeded":
        print(f"回复: {result.result.message.content[0].text}")
    else:
        print(f"失败: {result.result.error}")

Batch API 价格对比

使用 Batch API 的费用仅为实时 API 的一半:

适用场景

  1. 数据标注:批量对文本进行分类、打标签、情感分析
  2. 内容生成:批量生成商品描述、SEO 文章、邮件模板
  3. 数据提取:从大量文档中批量提取结构化信息
  4. 代码审查:批量分析代码文件,生成审查报告
  5. 翻译任务:批量翻译多语言文档
提示:通过 claude4u.com 轻舟 AI 中转服务使用 Batch API,可以享受中转站的额外折扣叠加 Batch 50% 折扣,并通过后台统一监控所有批量任务的进度和费用。

最佳实践

注意:Batch API 不支持流式输出,且结果需要在 29 天内下载。请确保及时获取和保存结果数据。对于需要实时响应的场景,请使用标准 Messages API。

Start Using 轻舟 AI

Stable, fast AI API relay — supports Claude, OpenAI, Gemini and more

Sign Up Now