进阶

上下文缓存与批量 API:成本与速率

在生产环境中,API 调用成本和速率限制是两大挑战。学习如何使用 Context Caching 和 Batch API 来解决这些问题。

1 小时 优化 4.8

1. Context Caching (上下文缓存)

如果你需要多次向模型发送相同的长文档(例如一本小说或一份法律法规),你可以将其缓存起来,后续的请求只需传递缓存 ID,无需再次上传内容。

优势: 输入 Token 成本降低高达 90%,首 Token 延迟显著降低。

# 创建缓存
cache = genai.caching.CachedContent.create(
    model='models/gemini-3-pro',
    display_name='harry_potter_book',
    system_instruction='你是哈利波特专家。',
    contents=[book_file],
    ttl=datetime.timedelta(minutes=60)
)

# 使用缓存
model = genai.GenerativeModel.from_cached_content(cached_content=cache)
response = model.generate_content("哈利在第一章做了什么?")

2. Batch API (批量处理)

对于不需要实时响应的任务(如离线数据分析),使用 Batch API 可以获得 50% 的折扣,并且拥有更高的速率限制。