Could This Gemini Trick Replace RAG?

Google's Context Caching for Gemini can cut API costs by 75 to 90 percent by reusing large context windows. The presenter walks through caching a 600-page PDF and a GitHub repo, then uses the cached context to build an MCP server, showing how it might replace RAG systems.
Chapters
OK, ich könnte dir sagen, deine YEM API Kosten lassen sich um bis zu 90 Prozent senken und ich denke, viele Entwickler nutzen diese Möglichkeit nicht. Höhere Leistung und Kontextlänge der Modelle führen trotz allem bei mehr Nutzung zu stark steigenden Kosten. Hier kommt das Konzept des Context Cachings ins Spiel. Diese Technik reduziert nicht nur API Aufrufe und spart Geld, sondern kann auch als Alternative zur erweiterten Generierung von Abrufen für kleinere Dokumentenmengen dienen und den Aufwand für Vektorspeicher Indizierung und Speicherung vermeiden. Große API Anbieter wie OpenAI, Entropic und Google haben Context Caching implementiert. Google ist tatsächlich der erste, der dies eingeführt hat, aber ursprünglich benötigten sie Token zum Caching. Jetzt haben sie diese Zahl auf nur Token gesenkt, was es noch zugänglicher macht. In diesem Video zeige ich euch, wie ihr mit der Implementierung von Context Caching durch Google loslegen. Könnt, wie es funktioniert und wie ihr neue Systeme entwickeln könnt, die mithilfe von Context C lernen können. In diesem Video verwende ich die Context Caching Implementierung von Google, da sie euch im Vergleich zur Implementierung von Entropic und Opene viel mehr Kontrolle bietet. Ich habe ein Video zu Kontext Prompt Caching in der Cloud. Wenn ihr euch dafür interessiert, findet ihr den Link in der Beschreibung. Context Caching ist äußerst hilfreich, wenn ihr mit großen Dokumenten wie großen PDF-Dateien oder Videodateien arbeitet. Und der Nutzer wiederholt mit diesen Dateien interagiert. Ihr könnt diese Dateien also einmal zu deutlich geringeren Kosten zwischenspeichern und dann den Nutzer mit diesen zwischengespeicherten Dateien interagieren lassen. Das erhöht die Geschwindigkeit und senkt die Kosten. Laut Google könnt ihr wählen, wie lange der Cache bestehen bleiben soll, bevor die Token automatisch gelöscht werden. Standardmäßig ist die Gültigkeitsdauer eine Stunde, lässt sich aber auf Sekunden reduzieren. Ich denke, in bestimmten Fällen kann Context Caching als Ersatz für erweiterte Generierungen verwendet werden, insbesondere wenn man sich nicht mit Vektorspeichern und zusätzlichen Kosten für die Vorverarbeitung und Einbettungen befassen muss. In Fällen, in denen man relativ kleinere Dokumente hat und der Benutzer nur für kurze Zeit mit diesen Dokumenten interagiert, kann man möglicherweise Context Caching verwenden. Neben REC kann man dies auch für kontextbezogenes Lernen verwenden, bei dem man Informationen zu einer neuen Bibliothek hinzufügt und Gemini diese Dokumentation einsehen und in Nachfolgenden Aufrufen verwenden kann. Ich zeige dir später im Video ein Beispiel, aber vorher sind die Kosten der Hauptgrund für das Caching. Mal sehen, wie viel Kostenreduzierung man erwarten kann. Nun, für Gemini 2.5 Pro gibt es unterschiedliche Preise für die Anzahl der Token, die man über hinaus verwendet. Durch Einlösen von Prompts oder Tokens reduzieren sich die Kosten um ca. 75 Prozent gegenüber nicht monetären Tokens. Das funktioniert durchgängig für multimodale Token und textbasierte Token. Bei Gemini Flash ist es sehr ähnlich. Bei Gemini 2.5 Flash ist Context Caching noch nicht verfügbar. Es heißt, es kommt bald, doch es entstehen zusätzliche Speicherkosten, gemessen an der Tokenanzahl pro Stunde. Daher kostet die größere pro Version 4 Dollar und 50 Cent pro Million Token pro Stunde. Es ist also sehr wichtig, diese Speicherkosten und die Dauer der Aufbewahrung der Token zu berücksichtigen. Zunächst möchte ich Ihnen erklären, wie Context Caching funktioniert und dann sehen wir uns ein praktisches Beispiel an, indem wir es im Kontextlernen verwenden. Dazu stellen wir die Dokumentation des mcps Python Pakets bereit und bitten Gemini, ein neues mcps für uns zu erstellen. Zuerst müssen wir also das Google Generative i Paket installieren. Wir importieren alle relevanten Pakete, die wir benötigen, und hier starten wir einfach den Gemini Client. In diesem Beispiel verwende ich diesen Kampfplan, der etwa 600 Seiten lang ist. Es ist ein gescanntes Dokument. Sehen Sie. Das Gute daran ist, dass Gemini multimodale Informationen verarbeiten kann. Mit Hilfe der Bildverarbeitungsfunktionen kann das Programm auch dieses gescannte Dokument verstehen. Zuerst geben wir die URL des Dokuments an. Anschließend extrahieren wir das Dokument und laden es über unseren erstellten Client hoch. Im Grunde speichern wir das Dokument in der Google Cloud. Für dieses Beispiel verwenden wir Gemini Flash 2.5 Flash unterstützt noch kein Kontext Caching. Die Systemanweisungen sind denkbar einfach. Sie sind ein Experte. So erstellen Sie einen Cache. Geben Sie also den Modellnamen mit der Funktion Cache erstellen an. In den Konfigurationen können Sie beliebige Systemanweisungen angeben und dann die Inhalte, die Sie zwischenspeichern möchten. In einigen Fällen, wenn Sie sehr lange Systemanweisungen haben, können Sie diese einfach zwischenspeichern oder zusammen mit anderen Dokumenten, die Sie in nachfolgenden Aufrufen Ihres Modells verwenden möchten, Hier habe ich tatsächlich einen Fehler gemacht. Mein GROK nicht Google API Schlüssel wurde verwendet. Wir werden also alles noch einmal ausführen, um sicherzustellen, dass wir das Dokument hochladen können. Jetzt wird der Cache für uns erstellt. Dieser Vorgang kann einige Sekunden dauern, aber sobald er abgeschlossen ist, sollten wir unseren Cache sehen können. Eine URL sollte den genauen Speicherort des Cache angeben. Hier sind insgesamt etwa Token gespeichert. Der Cache wurde also erstellt und wir können jetzt mit diesem Cache genauso interagieren wie mit einem normalen Gemini Modell über die Gemini API. Hier werden wir diesen Cache in unseren nachfolgenden Anfragen verwenden. Dazu geben Sie eine Konfiguration an, in der wir auf die zwischengespeicherten Inhalte verweisen. Sie können mehrere verschiedene Caches gleichzeitig haben. Wir müssen also nur diese Konfiguration und dann die Benutzeranfrage angeben. Bevor wir Ihnen die endgültige Antwort des Modells zeigen, können wir uns einige der verwendeten Metadaten ansehen. Das ist sehr hilfreich, um zu verstehen, was genau darin passiert ist. Unsere Anfrage enthielt also insgesamt neun Token. Die Anzahl der im Cache gespeicherten Token ist hier zu sehen und die Gesamtzahl der vom Modell verarbeiteten Token ist wie Im Grunde genommen wurden die im Cache gespeicherten Token zu den Eingabetoken addiert und ich glaube, Das ergab insgesamt 553 Token. Wenn man also alles zusammenzählt, erhalten wir etwa Token. Das Modell unterscheidet nicht zwischen den im Cash gespeicherten und den nicht monetären Token. Das Modell verarbeitet sie also auf genau dieselbe Weise. Und hier ist eine Antwort, die vom Modell als prägnante Zusammenfassung des bereitgestellten Transkripts generiert wurde, richtig. Also eine wirklich prägnante Zusammenfassung dieses 600-seitigen Dokuments. Bevor wir dir zeigen, wie du Caching für kontextbezogenes Lernen verwendest, schauen wir uns ein paar sehr hilfreiche Funktionen oder Techniken an. Da du mehrere Caches haben kannst, kannst du diese einfach durchlaufen und alle verfügbaren Caches auflisten. Zweitens, was meiner Meinung nach äußerst hilfreich sein wird, ist, wenn du deinen Cache aktualisieren möchtest. Standardmäßig werden Inhalte ohne Gültigkeitsdauer eine Stunde gecached. Die Dauer lässt sich aber dynamisch anpassen. Hier legen wir den Wert beispielsweise auf 300 fest, wodurch die Cache Dauer auf 300 Sekunden aktualisiert wird. Angenommen, Sie möchten den Cache nach Ablauf einer Benutzersitzung löschen. In diesem Fall können Sie einfach die Löschfunktion des Caches verwenden, um auch diesen Cache vollständig zu löschen. Im weiteren Verlauf des Videos verwenden wir dieses Beispiel von Felipe, der zum Google Deep Mine I Developer Experience Team gehört. Hier ist ein wirklich tolles Beispiel, bei dem er die Inhalte eines GitHub Repositories im Zusammenhang mit MCPs zwischenspeichert und dann mit Hilfe dieser Cache Inhalte das Gemini Modell verwendet, um nachfolgende MCP Server zu erstellen. Die Cash Inhalte kosten uns etwa 31 Dollar statt einem Dollar und 25 Cent pro Million Token. Ich verwende seinen Code im selben Notebook, füge aber einen Link zu dem Original Notebook ein, das er erstellt hat. Zuerst müssen wir das Paket git ingest installieren. Falls du es noch nicht verwendet hast, ist dies ein wirklich geniales Paket. Jedes GitHub Repo lässt sich damit in LLM fähige Markdown Dateien umwandeln. Das gesamte Repo wird so zu einem LLM Dokument. Ich habe die Web Version verwendet, wusste aber nicht, dass es sogar ein Python Paket gibt. Nehmen wir also an, du gehst zu einem beliebigen GitHub Repository und ersetzt GitHub durch GetX. Dann wirst du zu dieser neuen Weboberfläche für Get Ingest weitergeleitet. Hier kannst du festlegen, welche Dateitypen du ein oder ausschließen möchtest. Es wird eine einzelne Datei mit dem gesamten Inhalt erstellt, was ziemlich genial ist. Anschließend kannst du diese Dateien oder diese einzelne Datei in ein LLM einspeisen und erhältst so den gesamten Kontext eines vollständigen GitHub Repositories. Ich habe das oft verwendet, wusste aber nicht, dass es sogar ein Python Paket gibt. Um es einzurichten, erstellen wir nun einen weiteren client für unsere Gemini Modelle. In diesem Fall verwenden wir die Version 2.5 Pro. Hier ist eine Systemanweisung. Die Idee ist, dass wir Inhalte des Fast MCP GitHub Repositories bereitstellen und Gemini basierend auf dessen Inhalten MCP Server erstellen lassen. Ein Fast MCP ist ein Python Paket, mit dem Sie MCP Server erstellen können. Sie verfügen über eine wirklich gute Dokumentation, wie sie loslegen und ihre eigenen MCP Server einrichten. Die Systemanweisung in diesem Fall lautet. Sie sind ein hilfreicher Codierungsassistent, mit dem Fast MCP GitHub Repository, das im Kontext verfügbar ist. Wenn ein Benutzer Fragen zu Fast MCP oder zum Erstellen eines MCP Servers stellt, verwenden Sie die verfügbaren Informationen. Wir werden einfach alles aus diesem Repository übernehmen, mit Ausnahme der JSON Dateien CSS, JS und einiger anderer Dateien oder Dateitypen im Zusammenhang mit virtuellen Umgebungen, GitHub und so weiter. Wie gesagt, dieses Python Paket war mir nicht bekannt, aber ich denke, ich werde es viel häufiger verwenden. Jetzt können wir uns ansehen, was genau wir als Ausgabe erhalten. Ich denke, es gibt hier schätzungsweise Token. Wenn wir uns den Baum ansehen, wird dies wohl die Struktur des Repositories sein und dann hat es den Inhalt, der der eigentliche Inhalt unseres Repositories sein wird. Als Nächstes erstellen wir unseren Cache. Wir gehen dazu wie folgt Wir verwenden einfach die Funktion Cache erstellen auf dem Client. Dann verwenden wir unser Modell. Wir stellen auch den Inhalt bereit, genau wie wir es für die PDF Datei getan haben, zusammen mit unseren Systemanweisungen. All dies wird also zwischengespeichert und in diesem Fall haben wir bereits eine Lebensdauer von 300 Sekunden. Der Cache wird also nach 300 Sekunden automatisch gelöscht. Wir haben also etwa Token zwischengespeichert und Sie können sich vorstellen, dass eine Kostenreduzierung von 75 Prozent sehr beträchtlich. Ist, wenn Sie etwa Token haben. Wir interagieren danach mit dem zwischengespeicherten Inhalt wie üblich über Ihre Systemeingabeaufforderung und ihren Kontext. Wir verwenden also den normalen API Client. Bauen wir einen einfachen MCP Server zum Lesen und Schreiben lokaler Dateien im temp MCP Ordner. Wir müssen nur den Namen des Caches angeben und können uns dann einige Metadaten ansehen. Es wurden ca. Token zwischengespeichert. 18 Token werden nicht zwischengespeichert. Dies sind die Token aus der Eingabe. Dann gibt es Token für den Gedanken, die nicht zwischengespeichert werden. Dann gibt es weniger Ausgabetoken, die nicht zwischengespeichert werden. Richtig, Aber die überwiegende Mehrheit der Token wird zwischengespeichert, weshalb wir für diese Token einen wesentlich geringeren Betrag zahlen werden. Schauen wir uns an, was genau in der Antwort passiert Ist Ein einfacher, schneller MCP Server zum Lesen und Schreiben von Dateien in einem bestimmten Verzeichnis. Es hat also einen MCP Server erstellt. Mal sehen und ob er über die Ressourcen verfügt. Die für den MCP Server benötigt werden und dann muss er noch diese Tools hinzufügen. Wie man sieht, wurde ein Tool zum Schreiben von Dateien erstellt. Ich denke, es wird auch ein Tool zum Lesen von Dateien geben. Und hier wird gezeigt, wie man den Code ausführt, zusammen mit einer genauen Erklärung, wie der Code implementiert wird. Gemini hat Keine Ahnung von MCPs, aber wenn man sich den zwischengespeicherten Inhalt ansieht, kann es eine Implementierung finden. Ich werde es also nicht testen. Ich werde wahrscheinlich ein anderes Video erstellen. Ich habe aber ein Video über MCP Server und wie sich MCPs von normalen Funktionsaufrufen unterscheiden. Ich werde einen Link zu diesem Video einfügen. Schaut es euch unbedingt an, wenn euch das Thema interessiert. Dies war ein kurzes Beispiel dafür, was Context Caching ist und wie man damit anfängt. Google ist nicht der einzige Tropic hat auch eine Implementierung von Content Caching, die sie Prompt Caching nennen. Sogar OpenAI hat eine eigene Implementierung. Ich habe ein paar Videos dazu erstellt, aber ich habe festgestellt, dass Google einem im Vergleich zu OpenAI und Entropic viel mehr Kontrolle bietet. Das ist also ein sehr wichtiges Konzept, das Sie lernen müssen, wenn sie LLMs über APIs verwenden. Es wird Ihre Kosten erheblich senken und in einigen Fällen kann es Ihnen auch helfen, die Latenz zu reduzieren. Wenn Ihnen solche technischen Inhalte gefallen, sollten Sie unbedingt den Kanal abonnieren. Ich hoffe, Sie fanden dieses Video hilfreich. Danke fürs Zuschauen und wie immer bis zum nächsten Mal.










