Advanced RAG-Konzepte
Von der einfachen Vektorsuche zur produktionsreifen Retrieval-Pipeline: Multi-Signal-Scoring, hybrides Retrieval, MMR-Diversität, Graph-RAG und Guardrails – alles, was heute mit Spring AI, PostgreSQL und pgvector umsetzbar ist.
Die produktionsreife RAG-Pipeline in 9 Stufen
Jede Stufe steigert Präzision, Sicherheit und Nachvollziehbarkeit der Antworten.
Dokumenten-Verarbeitung & Chunking (Ingestion)
HTML-Boilerplate entfernen, strukturbewusstes Chunking (300–600 Tokens, 10–20 % Overlap, an Überschriften orientiert), Deduplizierung per content_hash und Anreicherung mit Metadaten (URL, Titel, Abschnitt, Importdatum).
Hybride Retrieval-Engine (Dense, Sparse & RRF)
Parallele dichte Vektorsuche (pgvector / Embeddings) und lexikalische Volltextsuche (Postgres FTS, BM25-artig). Beide Ranglisten werden per Reciprocal Rank Fusion (RRF) kombiniert – robust gegen Synonyme und exakte Begriffe.
Post-Retrieval-Filterung & ACL-Berechtigungen
Harter Mandantenfilter (knowledge_space_id) serverseitig erzwungen, Relevanzschwelle, Zugriffskontrolle (ACL): Nutzer sehen nur Chunks, für die sie berechtigt sind. Kein Cross-Space-Leak.
Multi-Signal-Scoring & Re-Ranking
Kandidaten werden nicht nur nach Ähnlichkeit, sondern über mehrere gewichtete Signale neu sortiert (siehe Gewichtungstabelle unten): semantische Relevanz, Keyword-Treffer, Quellenqualität, Aktualität, Autorität und Nutzer-Feedback.
MMR-Diversität & Per-Dokument-Capping
Maximal Marginal Relevance (λ) balanciert Relevanz gegen Redundanz; ein Cap pro Quelldokument verhindert, dass eine einzige Seite das Kontextfenster dominiert.
Fortgeschrittene Pipeline-Stufen
Optional: LLM-basiertes Re-Ranking (Cross-Encoder), Contextual Compression (irrelevante Sätze kürzen), Query Expansion / Multi-Query und Konfliktauflösung bei widersprüchlichen Quellen.
Prompt-Assembly & LLM-Vorbereitung
Token-Budget-Management, „lost in the middle“-Anordnung (beste Chunks an Anfang/Ende), nummerierter Quellen-Kontext und gehärteter Systemprompt: Kontext = Daten, keine Befehle.
Output-Guardrails, Maskierung & Citation-Validierung
Nachgelagerte Prüfung: Es werden nur tatsächlich bereitgestellte Quellen zitiert, PII wird maskiert, der Systemprompt nie offengelegt, und bei fehlender Grundlage greift das deterministische No-Answer-Gate.
Evaluation & Feedback-Loop
Offline-Metriken (Precision, Recall, Groundedness/Faithfulness, Citation Accuracy, No-Answer Accuracy) auf einem Golden-Set, Betriebsmetriken (Latenz, Error-Rate, Token-Cost) via Micrometer und ein Nutzer-Feedback-Loop (EWMA), der zurück in Stufe 4 fliesst.
Multi-Signal-Scoring: Gewichtung der Relevanzsignale
Statt reiner Ähnlichkeit kombiniert das Re-Ranking mehrere Signale zu einem Gesamtscore. Beispiel-Gewichtung:
Vektor-Ähnlichkeit
Semantische Relevanz aus dem Embedding-Abgleich (Kosinus-Ähnlichkeit).
Lexikalische Suche
Keyword-Vorkommen (BM25 / Postgres FTS) – wichtig für exakte Begriffe & Codes.
Quellen-Qualität
Parsing-Qualität & Review-Status des Quelldokuments.
Aktualität (Recency)
Exponentieller Altersabfall – frische Inhalte werden bevorzugt.
Autorität
Verlinkungen & Zitierungshäufigkeit der Quelle.
Nutzer-Feedback
Vergangenes Daumen-Feedback, geglättet per EWMA.
MMR Lambda (λ)
Maximal Marginal Relevance steuert die Balance zwischen Relevanz (λ = 1.0) und Redundanzvermeidung (λ = 0.0). Ein typischer Wert von ca. 0.7 liefert relevante, aber vielfältige Chunks – so wird das Kontextfenster nicht mit Duplikaten gefüllt.
Kombination mit einer Graph-Datenbank (Graph-RAG)
Wenn Beziehungen zwischen Entitäten wichtig sind, ergänzt ein Wissensgraph die Vektorsuche.
Warum Graph-RAG?
Reine Vektorsuche findet ähnliche Textstellen, aber keine Mehrschritt-Zusammenhänge (Multi-Hop). Ein Wissensgraph modelliert Entitäten (Personen, Produkte, Verträge) und ihre Beziehungen explizit. So lassen sich Fragen beantworten wie „Welche Verträge hängen an Lieferant X, der wiederum Standort Y beliefert?“.
Hybrider Ablauf
- Vektorsuche findet relevante Einstiegsknoten (semantischer Anker).
- Graph-Traversierung sammelt verbundene Fakten über 1–2 Hops.
- Text-Chunks + Graph-Pfade werden gemeinsam in den Kontext gegeben.
- Das LLM begründet die Antwort entlang der nachvollziehbaren Beziehungskette.
Mit Spring AI heute machbar: Spring AI liefert die Abstraktionen für Embeddings, VectorStore und Chat-Modelle anbieterunabhängig. Der Graph-Layer (z. B. Neo4j oder eine Property-Graph-Erweiterung in PostgreSQL) wird als zusätzliche Retrieval-Quelle eingebunden und per RRF mit der Vektorsuche fusioniert.
Evaluation & Feedback-Loop
Qualität wird gemessen, nicht vermutet – als Merge-Gate und im laufenden Betrieb.
Precision & Recall
Werden die erwarteten Quell-Chunks gefunden – und nur die relevanten?
Groundedness / Faithfulness
Ist jede Aussage durch einen Chunk gedeckt, ohne Halluzination?
Citation Accuracy
Werden nur bereitgestellte Quellen korrekt indexiert zitiert?
No-Answer Accuracy
Wird bei themenfremden Fragen korrekt der No-Answer-Satz geliefert?
Latenz & Token-Cost
p50/p95 je Stufe und Kosten pro Anfrage – via Micrometer/Actuator.
Feedback-Loop (EWMA)
Daumen-Feedback fliesst geglättet zurück ins Multi-Signal-Scoring.
RAG produktiv mit Ihren Daten?
Wir bauen produktionsreife RAG-Systeme mit Spring AI – on-premise oder auf Schweizer Infrastruktur.