Kontext-Caching

In einem typischen KI-Workflow können Sie dieselben Eingabetokens immer wieder an ein Modell übergeben. Mit der Gemini API-Funktion zum Kontext-Caching können Sie einige Inhalte einmal an das Modell übergeben, die Eingabetokens im Cache speichern und dann bei nachfolgenden Anfragen auf die im Cache gespeicherten Tokens verweisen. Bei bestimmten Volumen sind mit der Verwendung von im Cache gespeicherten Tokens geringere Kosten verbunden und die Latenz kann geringer sein als die wiederholte Übergabe desselben Korpus von Tokens.

Wenn Sie eine Reihe von Tokens im Cache speichern, können Sie festlegen, wie lange der Cache bestehen bleiben soll, bevor die Tokens automatisch gelöscht werden. Diese Caching-Dauer wird als Gültigkeitsdauer (TTL) bezeichnet. Die Kosten für das Caching hängen von der Größe des Eingabetokens ab und davon, wie lange die Tokens bestehen bleiben sollen.

Kontext-Caching unterstützt sowohl Gemini 1.5 Pro als auch Gemini 1.5 Flash.

Wann sollte Kontext-Caching verwendet werden?

Das Kontext-Caching eignet sich besonders gut für Szenarien, in denen kürzere Anfragen wiederholt auf einen wesentlichen anfänglichen Kontext verweisen. Kontext-Caching kann für folgende Anwendungsfälle in Betracht gezogen werden:

  • Chatbots mit ausführlichen Systemanweisungen
  • Wiederholte Analyse langer Videodateien
  • Wiederkehrende Abfragen großer Dokumentgruppen
  • Häufige Analyse oder Behebung von Fehlern im Code-Repository

Wie Caching die Kosten senkt

Kontext-Caching ist eine kostenpflichtige Funktion, mit der die Betriebskosten insgesamt gesenkt werden können. Die Abrechnung erfolgt anhand der folgenden Faktoren:

  1. Anzahl der Cache-Tokens:Die Anzahl der im Cache gespeicherten Eingabetokens, die zu einem reduzierten Preis abgerechnet werden, wenn sie in nachfolgenden Aufforderungen enthalten sind.
  2. Speicherdauer:Die Dauer der Speicherung von im Cache gespeicherten Tokens (TTL) und wird stündlich abgerechnet. Es gibt keine Mindest- oder Höchstgrenzen für die TTL.
  3. Weitere Faktoren: Es fallen weitere Gebühren an, z. B. für nicht zwischengespeicherte Eingabetokens und Ausgabetokens.

Aktuelle Preisinformationen finden Sie in der Preisübersicht für die Gemini API. Informationen zum Zählen von Tokens finden Sie im Leitfaden zu Tokens.

Kontext-Caching verwenden

In diesem Abschnitt wird davon ausgegangen, dass Sie ein Gemini SDK installiert und einen API-Schlüssel konfiguriert haben, wie in der quickstart gezeigt.

Weitere Überlegungen

Beachten Sie bei der Verwendung von Kontext-Caching die folgenden Überlegungen:

  • Die minimale Anzahl der Eingabetokens für das Kontext-Caching beträgt 32.768 und das Maximum ist mit dem Maximum des jeweiligen Modells identisch. Weitere Informationen zum Zählen von Tokens finden Sie im Leitfaden zu Tokens.
  • Sie können die Gültigkeitsdauer (TTL) für Ihren Cache festlegen, wie im Beispielcode gezeigt. Wenn die Richtlinie nicht konfiguriert ist, wird die TTL standardmäßig auf 1 Stunde festgelegt.
  • Das Modell unterscheidet nicht zwischen im Cache gespeicherten Tokens und regulären Eingabetokens. Im Cache gespeicherte Inhalte sind einfach ein Präfix für die Aufforderung.
  • Der Caching-Dienst bietet einen Löschvorgang zum manuellen Entfernen von Inhalten aus dem Cache. Weitere Informationen finden Sie in der Dokumentation zum SDK Ihrer Wahl.
  • Für die kostenpflichtige Stufe gibt es keine speziellen Raten oder Nutzungslimits für das Kontext-Caching. Es gelten die standardmäßigen Ratenbegrenzungen für GenerateContent und die Tokenlimits umfassen im Cache gespeicherte Tokens. Für die kostenlose Stufe gilt ein Speicherlimit von 1 Million Tokens für Gemini 1.5 Flash und Caching ist für Gemini 1.5 Pro nicht verfügbar.
  • Im Cache gespeicherte Inhalte können nicht abgerufen oder angesehen werden. Sie können jedoch die Metadaten (name, display_name, model sowie Erstellungs-, Aktualisierungs- und Ablaufzeiten) abrufen.
  • Sie können eine neue ttl oder expire_time festlegen. An den im Cache gespeicherten Inhalten können keine Änderungen vorgenommen werden.
  • Die Anzahl der im Cache gespeicherten Tokens wird im usage_metadata der Erstellungs-, Abruf- und Listenvorgänge des Cache-Dienstes sowie bei Verwendung des Caches in GenerateContent zurückgegeben.