Retrieval-Augmented Generation (RAG)
- Was RAG ist und die Retrieve-Augment-Generate-Schleife
- Wie man indiziert, abruft, augmentiert und mit Zitaten generiert
- Warum RAG das Fine-Tuning für 'über meine Dokumente antworten'-Bedürfnisse schlägt
- Die fünf Fehlermodi, die die RAG-Qualität töten
- Ein Copy-Paste-Erdungs-Prompt, der die zwei größten Lücken schließt
RAG bringt ein Modell dazu, Fragen über deine Daten zu beantworten — Dokumente, eine Wissensdatenbank, eine Codebasis —, auf denen es nie trainiert wurde. Die Idee ist einfach: die relevanten Teile abrufen (retrieve), den Prompt damit augmentieren (augment), dann eine Antwort generieren (generate), die in diesen Teilen geerdet ist.
Die Schleife
- In Chunks aufteilen, sie embedden (siehe /docs/foundations/embeddings) und in einem Vektor- (und/oder Schlüsselwort-)Index speichern.
- Ziehe die Top-Chunks, die für die Frage am relevantesten sind.
- Setze diese Chunks in den Prompt mit einer Anweisung wie "Antworte nur aus dem Kontext unten; wenn es nicht darin steht, sage es."
- Erzeuge die Antwort — und zitiere idealerweise, aus welchem Chunk jede Behauptung stammt.
Für den Embedding-Schritt bei der Indizierung siehe Embeddings & Vektorsuche.
Warum RAG statt Fine-Tuning?
- Frisch: aktualisiere die Daten, nicht das Modell
- Überprüfbar: liefert Zitate
- Günstig: weit günstiger als ein erneutes Training
Für die meisten "über meine Dokumente antworten"-Bedürfnisse ist RAG das richtige erste Werkzeug — siehe Fine-Tuning vs. Prompting vs. RAG.
Die Fehlermodi (wo die RAG-Qualität stirbt)
- Schlechtes Retrieval = schlechte Antwort. Wenn der richtige Chunk nicht abgerufen wird, kann das Modell ihn nicht nutzen. Die meisten 'RAG ist falsch'-Probleme sind Retrieval-Probleme.
- Zu grobe/feine Chunks ruinieren die Relevanz (siehe Embeddings).
- Keine Erdungsanweisung: Das Modell mischt abgerufene Fakten mit eigenen Vermutungen. Sage ihm, es soll nur aus dem Kontext antworten und Lücken zugeben.
- Zu viel hineinstopfen: Irrelevante Chunks verwässern das Signal und kosten Tokens. Rufe wenige, hochwertige Chunks ab.
- Keine Zitate: Du kannst nicht verifizieren, also kannst du nicht vertrauen.
Der Chunking-Fehler hängt mit Embeddings zusammen, und Über-Stopfen kostet Tokens.
- Bewerte das Retrieval separat: Miss 'haben wir den richtigen Chunk abgerufen?' getrennt von 'hat das Modell gut geantwortet?' Das lokalisiert das Problem schnell. Siehe Evals (/docs/foundations/evals).
Copy-Paste: ein Erdungs-Prompt
Der wirkungsvollste einzelne Fix ist eine Erdungsanweisung. Setze deine abgerufenen Chunks in eine Vorlage wie diese — sie zwingt das Modell, nur aus dem Kontext zu antworten, jede Behauptung zu zitieren und Lücken zuzugeben, statt zu raten:
Grounding prompt
You are answering strictly from the context below. Rules: - Use ONLY the context to answer. Do not use outside knowledge. - Cite the source after each claim, like [chunk 2]. - If the answer is not in the context, reply exactly: "I don't have that in the provided sources." - Quote numbers and names verbatim — never paraphrase a figure. Context: [chunk 1] ... [chunk 2] ... [chunk 3] ... Question: <the user's question>
Kombiniere ihn mit wenigen hochwertigen Chunks (nicht allem, was du abgerufen hast), und du schließt die zwei größten Lücken auf einmal: halluziniertes Vermischen und nicht überprüfbare Antworten. Bewerte dann Retrieval und Generierung separat, damit du weißt, welche Hälfte du justieren musst.
Beherrsche die Begriffe
Teste dich selbst
0/5- RAG = relevante Chunks abrufen, den Prompt augmentieren, eine geerdete, zitierte Antwort generieren.
- Indizieren (Chunken + Embedden + Speichern), Top-Chunks abrufen, mit einer Erdungsanweisung augmentieren, mit Zitaten generieren.
- Bevorzuge RAG gegenüber Fine-Tuning für Dokument-Q&A: frisch, zitiert, günstiger.
- Die meisten Fehler sind Retrieval-Fehler — rufe wenige hochwertige Chunks ab, nicht alles.
- Füge immer eine Erdungsanweisung hinzu und zitiere; bewerte Retrieval und Generierung separat.