Advanced & Production

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.

1

Dokumenten-Verarbeitung & Chunking (Ingestion)

HTML-Boilerplate entfernen, struktur­bewusstes Chunking (300–600 Tokens, 10–20 % Overlap, an Überschriften orientiert), Deduplizierung per content_hash und Anreicherung mit Metadaten (URL, Titel, Abschnitt, Importdatum).

2

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.

3

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.

4

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.

5

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.

6

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.

7

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.

8

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.

9

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:

0.45

Vektor-Ähnlichkeit

Semantische Relevanz aus dem Embedding-Abgleich (Kosinus-Ähnlichkeit).

0.15

Lexikalische Suche

Keyword-Vorkommen (BM25 / Postgres FTS) – wichtig für exakte Begriffe & Codes.

0.15

Quellen-Qualität

Parsing-Qualität & Review-Status des Quelldokuments.

0.10

Aktualität (Recency)

Exponentieller Altersabfall – frische Inhalte werden bevorzugt.

0.08

Autorität

Verlinkungen & Zitierungshäufigkeit der Quelle.

0.07

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.

0.0 — max. Diversität
1.0 — max. Relevanz

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

  1. Vektorsuche findet relevante Einstiegsknoten (semantischer Anker).
  2. Graph-Traversierung sammelt verbundene Fakten über 1–2 Hops.
  3. Text-Chunks + Graph-Pfade werden gemeinsam in den Kontext gegeben.
  4. 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.