Dateien, Embeddings und RAG mit Google
# Dateien, Embeddings und RAG mit Google
Sie kkThe average number of new users each existing user generates through referrals. Above 1.0, growth compounds on itself and becomes exponential.Vollständige Definition ansehen →önnen Gemini ein 200-seitiges Mitarbeiterhandbuch übergeben und fragen: „Wie viele Remote-Tage stehen mir im zweiten Jahr zu?" und erhalten eine belegte Antwort mit der exakten Klausel. Diese Lektion zeigt Ihnen drei Wege, das auf Google AI zu tun, von „einfach die Datei hochladen" bis „echtes Retrieval über einen Dokumentenbestand aufbauen", und wann Sie zu welchem greifen.
Drei Retrieval-Strategien, nach Aufwand sortiert
Vor jedem Code: Treffen Sie die richtige Entscheidung. Auf Google AI haben Sie drei verschiedene Ansätze, und viele verschwenden Wochen damit, den falschen zu bauen.
1. Long Context (die Datei in den Prompt stecken). Geminis Context WindowContext WindowThe context window is the maximum amount of text (measured in tokens) a language model can process at once, including both the input prompt and the generated output.Vollständige Definition ansehen → ist groß genug für ganze Dokumente. Für ein einzelnes Handbuch brauchen Sie möglicherweise gar kein RAG. Hochladen, fragen, fertig.
2. Die File API. Für Dateien, die zu groß sind, um sie inline mitzuschicken, oder die Sie über viele Requests hinweg wiederverwenden: einmal hochladen und den Handle referenzieren. Immer noch Long-Context-Retrieval, nur besser verwaltet.
3. Embeddings + ein Vector Store (echtes RAG). Wenn Sie hunderte Dokumente haben oder über ein Korpus hinweg suchen müssen, das das Context WindowContext WindowThe context window is the maximum amount of text (measured in tokens) a language model can process at once, including both the input prompt and the generated output.Vollständige Definition ansehen → übersteigt, embedden Sie Chunks, speichern die Vektoren und rufen pro Query die relevanten ab.
Der Reflex aus dem Grundlagenblock ist, direkt zu RAG zu springen. Widerstehen Sie ihm. Wenn das gesamte Korpus in den Context passt, schlägt Long Context RAG bei Genauigkeit und Einfachheit. Greifen Sie zu Embeddings, wenn Skalierung oder Kosten Sie dazu zwingen.
Strategie 1: Einfach die Datei hochladen
Ziehen Sie in Google AI Studio Ihr Handbuch-PDF in einen Prompt und fragen Sie. Native Multimodalität bedeutet, dass Gemini das PDF direkt liest, inklusive Tabellen und Layout, ohne OCR-Schritt.
Für die APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → lassen sich kleine Dateien inline als Bytes senden. Aber sobald eine Datei groß ist oder Sie viele Fragen dazu stellen wollen, nutzen Sie stattdessen die File APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen →.
Strategie 2: Die File APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → für große, wiederverwendbare Dateien
Die File API speichert eine Datei auf Googles Seite und gibt Ihnen einen Handle. Sie laden einmal hoch und referenzieren sie dann über viele Requests, ohne jedes Mal die Bytes neu zu senden. Hochgeladene Dateien werden für einen begrenzten Zeitraum aufbewahrt (derzeit rund 48 Stunden) und die Speicherung ist kostenlos, was das ideal macht für eine Session nach dem Muster „Handbuch laden, zehn Fragen stellen".
from google import genai
client = genai.Client() # liest GEMINI_API_KEY aus der Umgebung
handbook = client.files.upload(file="employee_handbook.pdf")
resp = client.models.generate_content(
model="gemini-2.5-flash",
contents=[
handbook,
"How many remote work days am I allowed in my second year? "
"Quote the exact policy clause and its section number.",
],
)
print(resp.text)Das ist der komplette „Antwort aus unserem Handbuch"-Ablauf für ein einzelnes Dokument. Flash ist hier die richtige Stufe: schnell, günstig und mehr als fähig, ein PDF zu lesen. Sparen Sie Pro für schwierigeres Reasoning über unordentliche Inputs aus mehreren Dokumenten.
Der offizielle Guide zu Upload-Limits und unterstützten Typen liegt auf ai.google.dev. Schauen Sie dort nach, statt Größenlimits zu raten, die sich ändern.
Long context and the File API in Gemini
Wann Long Context nicht mehr reicht
Long Context ist wunderbar, bis es das nicht mehr ist. Drei Signale sagen Ihnen, dass Sie zu echtem RAG wechseln sollten:
- Das Korpus übersteigt das Window. Fünfzig Handbücher, ein Wiki-Export, jahrelange Policy-Memos. Sie kkThe average number of new users each existing user generates through referrals. Above 1.0, growth compounds on itself and becomes exponential.Vollständige Definition ansehen →önnen das nicht alles inline mitschicken.
- Die Kosten pro Query zählen. Sie zahlen für Input-TokensTokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.Vollständige Definition ansehen →. Das ganze Handbuch bei jeder von 10.000 täglichen Fragen mitzusenden, ist Verschwendung, wenn jede Antwort zwei Absätze braucht.
- Sie brauchen präzise, zitierfähige Provenienz über viele Quellen hinweg, nicht „irgendwo in diesem großen Blob".
Hier verdienen sich Embeddings ihren Platz.
Strategie 3: Embeddings und echtes RAG
Das RAG-Konzept kennen Sie bereits. Hier ist, wie es auf Googles konkrete Tools abgebildet wird.
Ein EmbeddingEmbeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.Vollständige Definition ansehen → ist ein Vektor (eine Liste von Zahlen), der die Bedeutung eines Textchunks erfasst, sodass semantisch ähnliche Chunks im Vektorraum nahe beieinander liegen. Sie embedden Ihre Dokument-Chunks einmal, speichern die Vektoren, embedden zur Query-Zeit die Frage des Nutzers und rufen die nächstgelegenen Chunks ab, um sie an Gemini zu geben.
Googles aktuelles EmbeddingEmbeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.Vollständige Definition ansehen →-Modell ist gemini-embedding-001, verfügbar über dieselbe Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen →. Ein wichtiges Detail: Es unterstützt einen Task-Type-Parameter. Sie geben an, ob Sie ein Dokument zur Speicherung embedden (RETRIEVAL_DOCUMENT) oder eine Query zum Suchen (RETRIEVAL_QUERY). Das korrekt zu setzen verbessert die Retrieval-Qualität merklich, und es zu überspringen ist der häufigste Fehler.
Schritt 1: Dokumente chunken und embedden
Teilen Sie das Handbuch in Abschnitte (nach Überschrift ist ideal) und embedden Sie dann jeden Chunk als Dokument.
from google import genai
client = genai.Client()
chunks = [
"Section 4.2 Remote Work: In their second year of employment, "
"staff are entitled to up to 80 remote working days per year...",
"Section 4.3 Equipment: The company provides a laptop and...",
# ...ein Eintrag pro Handbuchabschnitt
]
doc_vectors = client.models.embed_content(
model="gemini-embedding-001",
contents=chunks,
config={"task_type": "RETRIEVAL_DOCUMENT"},
).embeddingsIn der Produktion speichern Sie diese Vektoren in einer Vektordatenbank. Für ein kleines internes Tool ist eine In-Memory-Liste mit Cosine Similarity völlig ausreichend. Für Skalierung bietet Vertex AI eine Managed-Option (dazu unten mehr).
Schritt 2: Query embedden und abrufen
import numpy as np
def cosine(a, b):
a, b = np.array(a), np.array(b)
return a @ b / (np.linalg.norm(a) * np.linalg.norm(b))
question = "How many remote days do I get in my second year?"
q_vec = client.models.embed_content(
model="gemini-embedding-001",
contents=[question],
config={"task_type": "RETRIEVAL_QUERY"},
).embeddings[0].values
scored = sorted(
zip(chunks, doc_vectors),
key=lambda c: cosine(q_vec, c[1].values),
reverse=True,
)
top_chunks = [c[0] for c in scored[:3]]Beachten Sie den Unterschied bei task_type: Dokumente wurden als RETRIEVAL_DOCUMENT embedded, die Frage als RETRIEVAL_QUERY. Gleiches Modell, asymmetrische Rollen.
Schritt 3: Eine belegte Antwort generieren
Jetzt geben Sie nur die abgerufenen Chunks an Gemini. Das ist der Gewinn: ein winziger, günstiger Prompt statt des ganzen Handbuchs.
context = "\n\n".join(top_chunks)
resp = client.models.generate_content(
model="gemini-2.5-flash",
contents=(
f"Answer using ONLY the handbook excerpts below. "
f"Cite the section number. If the answer is not present, say so.\n\n"
f"{context}\n\nQuestion: {question}"
),
)
print(resp.text)Diese Anweisung „antworte NUR aus den Auszügen und sag es, wenn die Antwort fehlt" ist Ihr Guardrail gegen Halluzinationen. RAG hält ein Modell nicht davon ab, Antworten zu erfinden; die Prompt-Disziplin tut das.
Wissenscheck
1. Wann sollten Sie laut Lektion Long Context einer echten RAG-Pipeline vorziehen?
2. Was ist der Hauptzweck von Googles File API im Vergleich zum Inline-Senden einer Datei?
3. Warum sagt die Lektion, dass native Multimodalität beim Upload eines PDFs den OCR-Schritt erübrigt?
4. Wählen Sie ALLE Szenarien, in denen echtes RAG (Embeddings + ein Vector Store) die richtige Wahl ist.
Wählen Sie alle richtigen Antworten aus.
5. Wählen Sie ALLE Aussagen, die die File API so beschreiben, wie sie in der Lektion dargestellt wird.
Wählen Sie alle richtigen Antworten aus.
Verwechseln Sie RAG nicht mit Grounding über die Google-Suche
Eine häufige Verwechslung: Grounding mit der Google-Suche ist nicht RAG über Ihre privaten Dokumente. Es verbindet Gemini mit dem lebenden öffentlichen Web, damit das Modell Fragen zu aktuellen Ereignissen mit Quellenangaben beantworten kann. Ihr Handbuch ist privat und nicht im öffentlichen Web, Search Grounding hilft Ihnen dabei also nicht. Search Grounding aktivieren Sie als Tool in der APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen →; die oben beschriebene Embeddings-PipelinePipelineAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.Vollständige Definition ansehen → bauen Sie für Ihre eigenen Dateien. Nutzen Sie beides, wenn eine Query öffentliche Fakten *und* interne Richtlinien braucht.
Hochskalieren: Vertex AI und Managed RAG
Alles oben läuft auf der Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → und ist perfekt für Prototypen und interne Tools. Wenn Sie Enterprise-Kontrollen brauchen (Data Residency, IAM, Skalierung, Audit-Logging), wechseln Sie zu Vertex AI, Google Clouds Managed-AI-Plattform.
Vertex bietet RAG Engine, eine Managed PipelinePipelineAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.Vollständige Definition ansehen →, die Chunking, EmbeddingEmbeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.Vollständige Definition ansehen →, Vektorspeicherung und Retrieval für Sie übernimmt. Sie richten sie auf ein Korpus in Cloud Storage oder Drive und erhalten belegte Antworten. Sie schreiben deutlich weniger Plumbing und bekommen die Governance, nach der ein Security-Team fragen wird. Starten Sie auf cloud.google.com/vertex-ai.
Grobe Daumenregel:
- Prototyp oder persönliches Tool: Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → + eigener Vector StoreVector StoreA vector database stores data as high-dimensional numeric vectors (embeddings) and retrieves items by similarity rather than exact matches, powering semantic search and AI applications.Vollständige Definition ansehen → (der Code oben).
- Produktion mit Compliance-Anforderungen: Vertex AI RAG Engine.
- Agentisches Retrieval in einem größeren Workflow: Retrieval als Tool im Agent Development Kit (ADK) einpacken, damit ein Agent entscheiden kann, wann ererThe ratio of interactions (likes, comments, shares) to reach for a given piece of content, used to gauge how well audiences respond relative to how many people saw it.Vollständige Definition ansehen → das Handbuch und wann das Web durchsucht.
Der No-Code-Weg: dort, wo Ihr Handbuch schon liegt
Nicht jedes „Antwort aus unserem Handbuch"-Problem braucht eine PipelinePipelineAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.Vollständige Definition ansehen →. Wenn Ihr Handbuch ein Google Doc in einem geteilten Drive ist, haben Sie leichtere Optionen:
- Ein Gem (eine benutzerdefinierte, wiederverwendbare Gemini-Konfiguration) kann das Handbuch als Referenz und eine feste Instruktion bekommen, etwa „beantworte HR-Fragen unter Angabe des Policy-Abschnitts". Nicht-technische Kollegen erhalten einen abgestimmten Assistenten ohne eine Zeile Code. Setup siehe support.google.com.
- Gemini in Google Workspace kann über Dateien in Drive reasonen und direkt in Docs oder Gmail antworten, mit der „@"-Dateireferenzierung im Seitenpanel.
- Für etwas Individuelleres, aber weiterhin ohne Infrastruktur, erlaubt Apps Script, die Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → von innerhalb Workspace aufzurufen, zum Beispiel ein Sheet, das Support-Tickets gegen Handbuchkategorien klassifiziert.
Die Lektion: Passen Sie das Tool an den Nutzer und die Skalierung an. Ein Gem löst vielleicht in fünf Minuten, was Sie gerade eine Woche lang programmieren wollten.
Ein praktischer Entscheidungsablauf
Wenn jemand sagt „mach unser Handbuch abfragbar", fragen Sie:
1. Ein Dokument, gelegentliche Nutzung? Hochladen. File APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen →. Fertig.
2. Ein paar Docs, technischer Owner, Prototyp? Embeddings + In-Memory-Similarity (der Code oben).
3. Viele Docs, Produktion, Compliance? Vertex AI RAG Engine.
4. Nicht-technischer Owner, Doc in Drive? Ein Gem oder das Workspace-Seitenpanel.
5. Braucht auch öffentliche Web-Fakten? Grounding mit der Google-Suche ergänzen.
Die wichtigsten Erkenntnisse
- Probieren Sie Long Context vor RAG. Wenn das Korpus ins Window passt, liefert die File APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Vollständige Definition ansehen → genauere Antworten mit weit weniger Code. Bauen Sie Embeddings erst, wenn Skalierung, Kosten oder Provenienz Sie dazu zwingen.
- Setzen Sie `task_type` bei jedem Embedding-Call:
RETRIEVAL_DOCUMENTfür gespeicherte Chunks,RETRIEVAL_QUERYfür die Frage. Dieser einzelne Parameter verbessert das Retrieval sichtbar. - Sichern Sie sich im Prompt gegen Halluzinationen ab, nicht in der PipelinePipelineAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.Vollständige Definition ansehen →: Weisen Sie Gemini an, nur aus den abgerufenen Auszügen zu antworten und zu sagen, wenn die Antwort fehlt.
- Grounding mit der Google-Suche ist kein privates RAG. Nutzen Sie es für aktuelle öffentliche Fakten; bauen Sie Embeddings für Ihre eigenen Dateien; kombinieren Sie beides, wenn eine Query beides braucht.
- Wechseln Sie für die Produktion zu Vertex AI RAG Engine, und denken Sie an ein Gem oder das Workspace-Seitenpanel, wenn die eigentliche Anforderung lautet: „nicht-technische Kollegen, Dokument liegt schon in Drive".
Was Sie aus dieser Lektion umsetzen
Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.
- Einzelne große Artefakte in den Long Context legen und RAG für große Korpora reservieren