コンテンツにスキップ

キャッシング

ゲートウェイキャッシュを有効にし、Cloudflareのキャッシュから直接リクエストを提供するようにカスタマイズして、元のモデルプロバイダーよりも迅速なリクエストとコスト削減を実現します。

デフォルト設定

ダッシュボードでデフォルトのキャッシング設定を行うには:

  1. Cloudflareダッシュボードにログインし、アカウントを選択します。
  2. AI > AI Gatewayを選択します。
  3. 設定を選択します。
  4. レスポンスをキャッシュを有効にします。
  5. デフォルトのキャッシングをお好みの値に変更します。

このキャッシング動作は、キャッシングをサポートするすべてのリクエストに均等に適用されます。特定のリクエストのキャッシュ設定を変更する必要がある場合は、リクエストごとにこの設定をオーバーライドする柔軟性があります。

レスポンスがキャッシュから来ているかどうかを確認するには、cf-aig-cache-statusHITまたはMISSとして指定されます。

リクエストごとのキャッシング

設定タブで定義されたデフォルトのキャッシュ動作をオーバーライドするには、リクエストごとに次のオプションのヘッダーを設定できます:

キャッシュをスキップ (cf-skip-cache)

キャッシュをスキップするとは、キャッシュをバイパスし、元のプロバイダーからリクエストを直接取得することを指します。キャッシュされたバージョンをバイパスするには、ヘッダーcf-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-skip-cache: true' \
--data ' {
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "木のスプーンを3つの短いステップで作る方法は?できるだけ短く答えてください"
}
]
}
'

キャッシュTTL (cf-cache-ttl)

キャッシュTTL(Time To Live)は、キャッシュされたリクエストが有効である期間を示し、期限が切れると元のソースからの更新が必要になります。cf-cache-ttlを使用して、ミリ秒単位で希望のキャッシング期間を設定できます。

例えば、TTLを1時間に設定すると、リクエストは1時間キャッシュに保持されます。その1時間の間に、同一のリクエストは元のAPIではなくキャッシュから提供されます。1時間後、キャッシュは期限切れとなり、リクエストは最新のレスポンスを得るために元のAPIに送信され、そのレスポンスが次の1時間のためにキャッシュを再補充します。

例えば、OpenAIにリクエストを送信する際には、次のようにヘッダーを含めます:

1時間キャッシュされるリクエスト
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-cache-ttl: 3600000' \
--data ' {
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "木のスプーンを3つの短いステップで作る方法は?できるだけ短く答えてください"
}
]
}
'

カスタムキャッシュキー (cf-aig-cache-key)

カスタムキャッシュキーを使用すると、任意のリソースのキャッシュ可能性設定を正確に設定するためにデフォルトのキャッシュキーをオーバーライドできます。デフォルトのキャッシュキーをオーバーライドするには、ヘッダーcf-aig-cache-keyを使用します。

cf-aig-cache-keyヘッダーを初めて使用すると、プロバイダーからレスポンスが返されます。同じヘッダーを使用した後続のリクエストは、キャッシュされたレスポンスを返します。cf-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": "木のスプーンを3つの短いステップで作る方法は?できるだけ短く答えてください"
}
]
}
'