Ein einfaches RAG selbst bauen
Chunking, Embeddings, Vektor-Suche, Kontext in den Prompt – die vier Schritte hinter jedem RAG-System, plus wann ein langes Kontextfenster einfach reicht.
Die vier Schritte
RAG (Retrieval-Augmented Generation) holt vor jeder Antwort relevante Textstücke aus einer eigenen Wissensbasis und gibt sie dem Modell mit in den Prompt. Der Ablauf hat vier Schritte:
- Chunking: Die Wissensbasis in kleine Textstücke zerlegen, meist ein paar Hundert Tokens.
- Embeddings: Jeden Chunk mit einem Embedding-Modell in einen Vektor umwandeln, der die Bedeutung erfasst.
- Vektor-Suche: Bei einer Anfrage die Chunks finden, deren Vektoren der Anfrage am ähnlichsten sind.
- Kontext in den Prompt: Die gefundenen Chunks in den Prompt einfügen, bevor das Modell antwortet.
RAG vs. langes Kontextfenster
Passt deine gesamte Wissensbasis locker ins Kontextfenster, ist RAG oft unnötiger Aufwand – einfach alles in den Prompt zu packen ist simpler und weniger fehleranfällig. RAG lohnt sich, wenn die Wissensbasis größer ist als das Kontextfenster, sich häufig ändert, oder wenn nur ein kleiner, wechselnder Ausschnitt pro Anfrage relevant ist.
Typische Fehlerquellen
Chunks zu groß: unwichtiger Ballast verdrängt Relevantes. Chunks zu klein: der Zusammenhang geht verloren. Reine Vektor-Suche übersieht exakte Begriffs-Treffer (Fachbegriffe, Codenamen) – eine Kombination mit klassischer Stichwortsuche fängt das ab.
BEISPIEL
Prompt-Gerüst nach der Suche: „Beantworte die folgende Frage ausschließlich anhand der Ausschnitte unten. Wenn die Antwort dort nicht steht, sag das. AUSSCHNITTE: [Chunk 1] [Chunk 2] [Chunk 3] FRAGE: Wie kündige ich mein Abo?"
🛠️ ÜBUNG — MACH DAS BEI DIR
Baue ein winziges RAG-System für eine Handvoll eigener Textdateien (z. B. 5-10 Notizen) und teste, ob es die richtige Quelle findet.
- Zerlege 5-10 kurze Textdateien in Chunks von etwa 200-300 Tokens.
- Erzeuge Embeddings für jeden Chunk und für 3 Testfragen, deren Antwort du kennst.
- Vergleiche die Kosinus-Ähnlichkeit und prüfe, ob der Chunk mit der richtigen Antwort tatsächlich oben landet.
✅ SELBST-CHECK
- ☐ Hat die Vektor-Suche bei allen 3 Testfragen den richtigen Chunk gefunden?
- ☐ Gab es einen Fall, bei dem ein falscher, aber semantisch ähnlicher Chunk gewonnen hat?
- ☐ Was hätte kleineres oder größeres Chunking an diesem Ergebnis geändert?
KURZ-QUIZ
Wann ist ein einfaches RAG-System die bessere Wahl, statt einfach die gesamte Wissensbasis ins Kontextfenster zu packen?
QUELLEN
- Anthropic Engineering: Contextual Retrieval ↗ www.anthropic.com
- Claude Platform Doku: Embeddings ↗ platform.claude.com
- OpenAI Doku: Embeddings ↗ platform.openai.com