Skip to content
Cloudflare Docs
非官方翻译 - 此文档为非官方中文翻译版本,仅供参考。如有疑问请以 英文官方文档 为准。

缓存

AI 网关可以缓存来自您的 AI 模型提供商的响应,为相同的请求直接从 Cloudflare 的缓存提供服务。

使用缓存的好处

  • 减少延迟: 通过避免对重复请求向源 AI 提供商进行往返,为用户提供更快的响应。
  • 成本节省: 最小化向您的 AI 提供商发出的付费请求数量,特别是对于频繁访问或非动态内容。
  • 增加吞吐量: 从您的 AI 提供商卸载重复请求,使其能够更高效地处理独特请求。

默认配置

要在仪表板中设置默认缓存配置:

  1. 登录 Cloudflare 仪表板 并选择您的账户。
  2. 选择 AI > AI 网关
  3. 选择 设置
  4. 启用 缓存响应
  5. 将默认缓存更改为您偏好的任何值。

此缓存行为将统一应用于所有支持缓存的请求。如果您需要为特定请求修改缓存设置,您可以灵活地在每个请求的基础上覆盖此设置。

要检查响应是否来自缓存,cf-aig-cache-status 将被指定为 HITMISS

每个请求的缓存

虽然您网关的默认缓存设置提供了良好的基线,但您可能需要更精细的控制。这些情况可能是数据新鲜度、具有不同生命周期的内容,或动态或个性化响应。

为了满足这些需求,AI 网关允许您使用特定的 HTTP 标头在每个请求的基础上覆盖默认缓存行为。这为您提供了为单个 API 调用优化缓存的精确性。

以下标头允许您定义此每个请求的缓存行为:

跳过缓存 (cf-aig-skip-cache)

跳过缓存是指绕过缓存并直接从原始提供商获取请求,而不使用任何缓存副本。

您可以使用标头 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,或生存时间,是缓存请求在过期并从原始源刷新之前保持有效的持续时间。您可以使用 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-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"
}
]
}
'