AI 网关可以缓存来自您的 AI 模型提供商的响应,为相同的请求直接从 Cloudflare 的缓存提供服务。
- 减少延迟: 通过避免对重复请求向源 AI 提供商进行往返,为用户提供更快的响应。
- 成本节省: 最小化向您的 AI 提供商发出的付费请求数量,特别是对于频繁访问或非动态内容。
- 增加吞吐量: 从您的 AI 提供商卸载重复请求,使其能够更高效地处理独特请求。
要在仪表板中设置默认缓存配置:
- 登录 Cloudflare 仪表板 ↗ 并选择您的账户。
- 选择 AI > AI 网关。
- 选择 设置。
- 启用 缓存响应。
- 将默认缓存更改为您偏好的任何值。
此缓存行为将统一应用于所有支持缓存的请求。如果您需要为特定请求修改缓存设置,您可以灵活地在每个请求的基础上覆盖此设置。
要检查响应是否来自缓存,cf-aig-cache-status 将被指定为 HIT
或 MISS
。
虽然您网关的默认缓存设置提供了良好的基线,但您可能需要更精细的控制。这些情况可能是数据新鲜度、具有不同生命周期的内容,或动态或个性化响应。
为了满足这些需求,AI 网关允许您使用特定的 HTTP 标头在每个请求的基础上覆盖默认缓存行为。这为您提供了为单个 API 调用优化缓存的精确性。
以下标头允许您定义此每个请求的缓存行为:
跳过缓存是指绕过缓存并直接从原始提供商获取请求,而不使用任何缓存副本。
您可以使用标头 cf-aig-skip-cache 绕过请求的缓存版本。
例如,当向 OpenAI 提交请求时,以以下方式包含标头:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai/chat/completions \ --header "Authorization: Bearer $TOKEN" \ --header 'Content-Type: application/json' \ --header 'cf-aig-skip-cache: true' \ --data ' { "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "how to build a wooden spoon in 3 short steps? give as short as answer as possible" } ] }'
缓存 TTL,或生存时间,是缓存请求在过期并从原始源刷新之前保持有效的持续时间。您可以使用 cf-aig-cache-ttl 以秒为单位设置所需的缓存持续时间。最小 TTL 是 60 秒,最大 TTL 是一个月。
例如,如果您设置一小时的 TTL,这意味着请求在缓存中保存一小时。在该小时内,相同的请求将从缓存提供服务而不是原始 API。一小时后,缓存过期,请求将转到原始 API 获取新响应,该响应将为下一小时重新填充缓存。
例如,当向 OpenAI 提交请求时,以以下方式包含标头:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai/chat/completions \ --header "Authorization: Bearer $TOKEN" \ --header 'Content-Type: application/json' \ --header 'cf-aig-cache-ttl: 3600' \ --data ' { "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "how to build a wooden spoon in 3 short steps? give as short as answer as possible" } ] }'
自定义缓存键让您覆盖默认缓存键,以便精确设置任何资源的可缓存性设置。要覆盖默认缓存键,您可以使用标头 cf-aig-cache-key。
当您第一次使用 cf-aig-cache-key 标头时,您将收到来自提供商的响应。具有相同标头的后续请求将返回缓存的响应。如果使用了 cf-aig-cache-ttl 标头,响应将根据指定的缓存生存时间进行缓存。否则,响应将根据仪表板中的缓存设置进行缓存。如果网关未启用缓存,响应将默认缓存 5 分钟。
例如,当向 OpenAI 提交请求时,以以下方式包含标头:
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai/chat/completions \ --header 'Authorization: Bearer {openai_token}' \ --header 'Content-Type: application/json' \ --header 'cf-aig-cache-key: responseA' \ --data ' { "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "how to build a wooden spoon in 3 short steps? give as short as answer as possible" } ] }'
- @2025 Cloudflare Ubitools
- Cf Repo