コンテキスト キャッシュ

一般的な AI ワークフローでは、同じ入力トークンをモデルに何度も渡します。Gemini API のコンテキスト キャッシュ機能を使用すると、一部のコンテンツをモデルに 1 回渡して入力トークンをキャッシュに保存し、キャッシュに保存されたトークンを後続のリクエストで参照できます。特定のボリュームでは、キャッシュに保存されたトークンを使用すると、同じトークンのコーパスを繰り返し渡すよりもコストが低くなります。

一連のトークンをキャッシュに保存する場合は、トークンが自動的に削除されるまでのキャッシュの存続期間を選択できます。このキャッシュ保存期間は、有効期間(TTL)と呼ばれます。設定しない場合、TTL はデフォルトで 1 時間になります。キャッシュ保存の料金は、入力トークンのサイズとトークンの保持時間によって異なります。

コンテキスト キャッシュは、Gemini 1.5 Pro と Gemini 1.5 Flash の両方をサポートしています。

コンテキスト キャッシュを使用する場合

コンテキスト キャッシュは、十分な初期コンテキストが短いリクエストで繰り返し参照されるシナリオに特に適しています。次のようなユースケースでは、コンテキスト キャッシュの使用を検討してください。

  • 広範なシステム指示を行う chatbot
  • 長い動画ファイルの繰り返し解析
  • 大規模なドキュメント セットに対して繰り返し実行されるクエリ
  • 頻繁なコード リポジトリ分析やバグの修正

キャッシュ保存によって費用が削減される仕組み

コンテキスト キャッシュは、全体的な運用コストを削減するために設計された有料機能です。請求は次の要素に基づいて行われます。

  1. キャッシュ トークン数: キャッシュに保存された入力トークンの数。以降のプロンプトに含まれる場合は割引料金で課金されます。
  2. 保存期間: キャッシュに保存されたトークンの保存期間(TTL)です。キャッシュに保存されたトークン数の TTL 期間に基づいて課金されます。TTL に最小値や最大値はありません。
  3. その他の要因: キャッシュに保存されていない入力トークンや出力トークンなど、その他の料金が適用されます。

最新の料金の詳細については、Gemini API の料金ページをご覧ください。トークンのカウント方法については、トークンガイドをご覧ください。

コンテキスト キャッシュの使用方法

このセクションでは、quickstartに示すように、Gemini SDK をインストールして API キーを構成していることを前提としています。

その他の考慮事項

コンテキスト キャッシュを使用する場合は、次の点に注意してください。

  • コンテキスト キャッシュの最小入力トークン数は 32,768 で、最大入力トークン数は特定のモデルの最大数と同じです。(トークンのカウントの詳細については、トークンガイドをご覧ください)。
  • このモデルでは、キャッシュに保存されたトークンと通常の入力トークンを区別しません。キャッシュに保存されたコンテンツはプロンプトの接頭辞です。
  • コンテキスト キャッシュに特別なレートや使用量上限はありません。GenerateContent の標準のレート上限が適用されます。トークンの上限には、キャッシュに保存されたトークンが含まれます。
  • キャッシュに保存されたトークンの数は、キャッシュ サービスの作成、取得、一覧表示のオペレーションでは usage_metadata に返されます。キャッシュを使用する場合は GenerateContent にも返されます。