Architektur, Komponenten & Datenfluss
Übersicht über Aufbau, Komponenten und Datenfluss einer modernen Retrieval-Augmented-Generation-Pipeline.
RAG-Pipeline – Architektur, Komponenten & Datenfluss
Die folgende Dokumentation beschreibt eine moderne Retrieval-Augmented-Generation-Pipeline (RAG), wie sie im Kontext einer KI-gestützten Dokumentensuche eingesetzt wird.
RAG-Pipeline – Architektur, Komponenten & Datenfluss
Die folgende Dokumentation beschreibt eine moderne Retrieval-Augmented-Generation-Pipeline (RAG), wie sie im Kontext einer KI-gestützten Dokumentensuche eingesetzt wird.
1. Einleitung
Retrieval-Augmented Generation (RAG) ist ein Architekturansatz, bei dem Large-Language-Models durch externes Wissen ergänzt werden. Statt sich ausschließlich auf den Modell-Context zu verlassen, werden relevante Informationen dynamisch aus einem Wissensspeicher geladen.
1.1 Warum RAG?
- Für umfangreiche Wissensdatenbanken
- Verhindert Halluzinationen
- Reduziert Prompt-Kosten
- Erhöht Aktualität von Antworten
1.1.1 Typische Einsatzgebiete
- Technische Produkt-Dokumentationen
- interne Wissensdatenbanken
- Support-Chatbots
- API-Dokumentationen
- Wiki-basierte Knowledge Bases
1.1.1.1 Vorteile gegenüber LLM-Only
- Präziser → Fakten werden aus realen Dokumenten geladen
- aktuell → kein Re-Training notwendig
- skalierbar → Inhalte können beliebig wachsen
1.1.1.1.1 Fazit
RAG ist für jede Anwendung geeignet, die strukturiertes oder unstrukturiertes Wissen über ein LLM zugreifbar machen soll.
2. Komponenten der Pipeline
Eine vollständige RAG-Pipeline besteht typischerweise aus den folgenden Bausteinen:
2.1 Ingestion Layer
Der Ingestion Layer ist zuständig für die Aufnahme, Verarbeitung und Speicherung neuer Inhalte.
2.1.1 File-Parser
Unterstützte Formate:
- Markdown
- HTML
- TXT
- proprietäre Formate mit Custom-Adapter
2.1.1.1 Chunking
Der wichtigste Schritt beim Ingest-Prozess ist das Aufteilen großer Dokumente in kleinere Chunks:
- Semantic Split
- Markdown-Header-basiert
- Token-optimiert
- Hybrid-Chunking
2.1.1.1.1 Beispiel: Markdown-Chunking
Ein typischer Markdown-Chunk: