+190 XP

Dateien, Embeddings und RAG mit Google

# Dateien, Embeddings und RAG mit Google

Sie kö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 Window 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 Window ü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 API 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 API.

Strategie 2: Die File API 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".

python
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

Watch on YouTube

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 können das nicht alles inline mitschicken.
  • Die Kosten pro Query zählen. Sie zahlen für Input-Tokens. 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 Embedding 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 Embedding-Modell ist gemini-embedding-001, verfügbar über dieselbe Gemini API. 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.

python
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"},
).embeddings

In 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

python
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.

python
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?

MEHRFACHAUSWAHL

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.

MEHRFACHAUSWAHL

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 API; die oben beschriebene Embeddings-Pipeline 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 API 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 Pipeline, die Chunking, Embedding, 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 API + eigener Vector Store (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 er 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 Pipeline. 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 API 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 API. 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 API 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_DOCUMENT für gespeicherte Chunks, RETRIEVAL_QUERY für die Frage. Dieser einzelne Parameter verbessert das Retrieval sichtbar.
  • Sichern Sie sich im Prompt gegen Halluzinationen ab, nicht in der Pipeline: 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
Vollständiges Action Playbook ansehen