キャッシング
ゲートウェイキャッシュを有効にし、Cloudflareのキャッシュから直接リクエストを提供するようにカスタマイズして、元のモデルプロバイダーよりも迅速なリクエストとコスト削減を実現します。
ダッシュボードでデフォルトのキャッシング設定を行うには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- AI > AI Gatewayを選択します。
- 設定を選択します。
- レスポンスをキャッシュを有効にします。
- デフォルトのキャッシングをお好みの値に変更します。
APIを使用してデフォルトのキャッシング設定を行うには:
- 次の権限を持つAPIトークンを作成します:
AI Gateway - ReadAI Gateway - Edit
このキャッシング動作は、キャッシングをサポートするすべてのリクエストに均等に適用されます。特定のリクエストのキャッシュ設定を変更する必要がある場合は、リクエストごとにこの設定をオーバーライドする柔軟性があります。
レスポンスがキャッシュから来ているかどうかを確認するには、cf-aig-cache-statusがHITまたはMISSとして指定されます。
設定タブで定義されたデフォルトのキャッシュ動作をオーバーライドするには、リクエストごとに次のオプションのヘッダーを設定できます:
キャッシュをスキップするとは、キャッシュをバイパスし、元のプロバイダーからリクエストを直接取得することを指します。キャッシュされたバージョンをバイパスするには、ヘッダー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(Time To Live)は、キャッシュされたリクエストが有効である期間を示し、期限が切れると元のソースからの更新が必要になります。cf-cache-ttlを使用して、ミリ秒単位で希望のキャッシング期間を設定できます。
例えば、TTLを1時間に設定すると、リクエストは1時間キャッシュに保持されます。その1時間の間に、同一のリクエストは元のAPIではなくキャッシュから提供されます。1時間後、キャッシュは期限切れとなり、リクエストは最新のレスポンスを得るために元のAPIに送信され、そのレスポンスが次の1時間のためにキャッシュを再補充します。
例えば、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-cache-ttl: 3600000' \ --data ' { "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "木のスプーンを3つの短いステップで作る方法は?できるだけ短く答えてください" } ] }'カスタムキャッシュキーを使用すると、任意のリソースのキャッシュ可能性設定を正確に設定するためにデフォルトのキャッシュキーをオーバーライドできます。デフォルトのキャッシュキーをオーバーライドするには、ヘッダー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つの短いステップで作る方法は?できるだけ短く答えてください" } ] }'