コンテキスト キャッシュ保存は、繰り返されるコンテンツを含む Gemini へのリクエストの費用とレイテンシを削減するのに役立ちます。Vertex AI には、次の 2 種類のキャッシュ保存が用意されています。
- 暗黙的なキャッシュ保存: デフォルトで有効になっている自動キャッシュ保存。キャッシュ ヒットが発生した場合に費用を削減できます。
- 明示的なキャッシュ保存: Vertex AI API を使用して有効にする手動キャッシュ保存。ユーザーはキャッシュに保存するコンテンツと、プロンプトがキャッシュ コンテンツを参照するかどうかを明示的に宣言します。
暗黙的なキャッシュ保存と明示的なキャッシュ保存の両方で、レスポンスのメタデータの cachedContentTokenCount
フィールドは、入力のキャッシュに保存された部分のトークン数を示します。キャッシュ保存リクエストには、少なくとも 2,048 個のトークンが含まれている必要があります。
キャッシュ保存のストレージ費用
暗黙的なキャッシュ保存と明示的なキャッシュ保存の両方で、標準の入力トークン費用以外にキャッシュへの書き込みに追加料金は発生しません。明示的なキャッシュ保存の場合、キャッシュの保存期間に基づいてストレージ費用が発生します。暗黙的なキャッシュ保存にはストレージ費用がかかりません。詳細については、Vertex AI の料金をご覧ください。
暗黙的なキャッシュ保存
すべての Google Cloud プロジェクトで、暗黙的なキャッシュ保存がデフォルトで有効になっています。暗黙的なキャッシュ保存により、キャッシュに保存されたトークンの費用は、標準の入力トークンと比較して 90% 削減されます。
有効にすると、暗黙的なキャッシュ ヒットによる費用の削減が自動的に適用されます。暗黙的なキャッシュ ヒットの可能性を高めるには:
- 大規模で一般的なコンテンツは、プロンプトの先頭に配置します。
- 類似した接頭辞を含むリクエストを短時間で送信します。
サポートされているモデル
次のモデルを使用する場合、暗黙的なキャッシュ保存がサポートされます。
- Gemini 2.5 Flash (プレビュー)
- Gemini 2.5 Flash-Lite (プレビュー)
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Pro
- Gemini 2.5 Flash
暗黙的なキャッシュ保存では、次の最新のエイリアスもサポートされています。
gemini-flash-latest
gemini-flash-lite-latest
明示的なキャッシュ保存
明示的なキャッシュ保存では、よりきめ細かい制御が可能になり、明示的なキャッシュが参照されるときに割引が適用されます。Gemini 2.5 モデルでは 90%、Gemini 2.0 モデルでは 75% の割引が適用されます。
Vertex AI API を使用すると、次のことができます。
- コンテキスト キャッシュを作成し、より効果的に制御する。
- コンテキスト キャッシュを使用する: プロンプト リクエストでリソース名を使用してコンテンツを参照します。
- デフォルトの 60 分を超えてコンテキスト キャッシュの有効期限(有効期間、TTL)を更新する。
- 不要になったコンテキスト キャッシュを削除する。
Vertex AI API を使用して、コンテキスト キャッシュに関する情報を取得することもできます。
明示的なキャッシュは暗黙的なキャッシュと連携するため、キャッシュの作成時に指定されたコンテンツ以外のキャッシュが追加される可能性があります。キャッシュ データの保持を防ぐには、暗黙的なキャッシュ保存を無効にし、明示的なキャッシュを作成しないようにします。詳細については、キャッシュ保存を有効または無効にするをご覧ください。
サポートされているモデル
次のモデルを使用する場合、明示的なキャッシュ保存がサポートされます。
- Gemini 2.5 Flash (プレビュー)
- Gemini 2.5 Flash-Lite (プレビュー)
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
明示的なキャッシュ保存では、次の最新のエイリアスもサポートされています。
gemini-flash-latest
gemini-flash-lite-latest
コンテキスト キャッシュ保存を使用する状況
コンテキスト キャッシュ保存は、初期コンテキストの実体部分が、後続のリクエストで繰り返し参照されるシナリオに特に適しています。
大量のテキスト、音声ファイル、動画ファイルなど、キャッシュに保存されたコンテキスト アイテムは、Gemini API へのプロンプト リクエストで使用して出力を生成できます。プロンプト内で同じキャッシュを使用するリクエストには、各プロンプトに固有のテキストも含まれます。たとえば、チャットの会話を構成する各プロンプト リクエストには、チャットの各ターンを構成する一意のテキストだけでなく、動画を参照する同一のコンテキスト キャッシュも含まれる場合があります。
次のようなユースケースでは、コンテキスト キャッシュ保存の使用を検討してください。
- 広範なシステム指示を伴う chatbot
- 長時間の動画ファイルの繰り返し分析
- 大規模なドキュメント セットに対する繰り返しのクエリ
- 頻繁なコード リポジトリの分析やバグ修正
プロビジョンド スループットのコンテキスト キャッシュ保存のサポートは、明示的なキャッシュ保存のプレビュー版です。プロビジョンド スループットでは、明示的なキャッシュ保存はサポートされていません。詳しくは、プロビジョンド スループット ガイドをご覧ください。
対象
コンテキスト キャッシュ保存は、Vertex AI の生成 AI が利用可能なリージョンで使用できます。詳細については、Vertex AI ロケーションの生成 AI をご覧ください。
上限
キャッシュに保存するコンテンツについては、次の表に示す上限を遵守する必要があります。
コンテキスト キャッシュ保存の上限 | |
---|---|
最小キャッシュ トークン数 |
すべてのモデルで 2,048 |
blob またはテキストを使用してキャッシュに保存できるコンテンツの最大サイズ |
10 MB |
キャッシュの作成後に有効期限切れになるまでの最小時間 |
1 分 |
キャッシュの作成後、キャッシュが有効期限切れになるまでの最大時間 |
キャッシュの最大保存期間はありません |
VPC Service Controls のサポート
コンテキスト キャッシュ保存は VPC Service Controls をサポートしています。つまり、キャッシュがサービス境界外に漏洩することはありません。Cloud Storage を使用してキャッシュを構築する場合は、キャッシュ コンテンツを保護するために、バケットをサービス境界に含めます。
詳細については、Vertex AI ドキュメントの Vertex AI を使用した VPC Service Controls をご覧ください。
次のステップ
- Gemini API の詳細を確認する。
- マルチモーダル プロンプトを使用する方法を確認する。