Technikblog

RAGO-X

RAGO-X verstehen: vom Dokument zur belegten Antwort

Ein RAG-Entwurfsleitfaden für Aufnahme, Fragen, Versionen, Zugriffsrechte, Suche und überprüfbare Quellenangaben.

RAGO-XVeröffentlicht Aktualisiert
#RAG#Architecture#LLM
Konzeptdiagramm der RAGO-X-Architektur vom Dokument bis zur Antwort

RAG lässt sich als zwei getrennte Abläufe verstehen. Die Aufnahme bereitet Dokumente für die Suche vor. Die Frageverarbeitung sucht erlaubte Belege und erzeugt daraus eine Antwort. Originalspeicher, Suchindex und Antwortgenerierung haben unterschiedliche Aufgaben.

Dieser Leitfaden erklärt die dokumentengestützten Antworten und die Quellenprüfung aus der RAGO-X-Produktübersicht. Ablauf und Code sind ein Referenzentwurf, keine Zusicherung einer bestimmten produktiven Datenbank, eines Modells oder Rerankers. Den Produktumfang beschreiben die Dokumentation und unterstützten Formate.

Aufnahme und Antworten trennen

text
Ingestion:
Document -> Extract text + source positions -> Chunks -> Search index

Question answering:
Question + permitted scope -> Retrieve evidence -> Select context
-> Generate answer -> Validate citations -> Show answer + sources

Ein erfolgreicher Upload bedeutet noch nicht, dass die Suche bereit ist. Extraktion oder Indexierung können scheitern. Zeigen Sie diese Zustände getrennt an und vermeiden Sie bei Wiederholungen doppelte Chunks desselben Dokuments.

Jede Stufe getrennt prüfen

Stufe Benötigtes Ergebnis Diagnosefrage
Speicherung und Extraktion Version, Text und Positionen Stimmen Reihenfolge von Tabellen und Absätzen?
Aufteilung und Index Chunk-IDs mit Quellenbezug Wurde die Antwortpassage getrennt oder verloren?
Zugriffsbereich Serverseitig erlaubte Dokumentmenge Gelangen fremde Gruppen in die Kandidaten?
Suche und Kontext Gewählte Belege und Versionen Hat das Modell die Antwortpassage tatsächlich erhalten?
Generierung und Zitate Antwort mit Quellenbezug Stützt die Quelle die Behauptung?

Bei Embeddings müssen Dokument- und Fragevektoren kompatible Darstellungen verwenden. Planen Sie beim Wechsel von Modell oder Vorverarbeitung Neuindexierung und Übergang, statt Vektoren beliebig zu mischen. Einzelheiten erläutern Chunking-Prüfungen und das RRF-Beispiel.

Quellen-IDs praktisch prüfen

Zitiert ein Modell S9, obwohl nur S1 bereitgestellt wurde, darf daraus kein erfundener Quellenlink entstehen. Die Funktion löst ausschließlich IDs der übergebenen Belege auf. Speichern Sie sie als citation_demo.py und starten Sie python3 citation_demo.py.

python
def resolve_sources(citation_ids, evidence):
    by_id = {source["id"]: source for source in evidence}
    unknown = set(citation_ids) - by_id.keys()
    if unknown:
        raise ValueError("citation not present in supplied evidence")
    return [by_id[key] for key in dict.fromkeys(citation_ids)]


evidence = [{
    "id": "S1", "document_id": "manual-17", "revision": "v2",
    "page": 3, "text": "Disconnect power before opening the cover."
}]
print([s["id"] for s in resolve_sources(["S1", "S1"], evidence)])
assert len(resolve_sources(["S1", "S1"], evidence)) == 1
try:
    resolve_sources(["S9"], evidence)
except ValueError:
    print("Unknown source rejected")
else:
    raise AssertionError("unknown source was accepted")

Die Ausgabe lautet ['S1'] und Unknown source rejected. Doppelte Verweise werden einmal aufgelöst, unbekannte IDs abgewiesen. Das prüft nur, ob die Quelle vorhanden ist. Ob sie eine Behauptung tatsächlich stützt, muss getrennt geprüft werden. Die Belege müssen bereits zugriffsgeprüft sein; die Funktion ersetzt keine Authentifizierung oder Autorisierung.

Versionen und fehlende Belege behandeln

Beim Austausch eines Handbuchs müssen Chunks, Index und Quellenlinks dieselbe Revision meinen. Sonst kann eine Antwort alte Anweisungen verwenden und zugleich auf die neue Datei verweisen. Prüfen Sie nach Löschung oder Rechteänderung sowohl die Suche als auch den Zugriff auf das Original.

Fehlen Belege, sollte die Antwort fehlende Informationen benennen. Anweisungen in gefundenen Dokumenten sind Quelldaten und keine Systemanweisungen. Ein hoher Suchwert allein bedeutet nicht, dass eine Frage beantwortbar ist.

Prüfung vor der Veröffentlichung

  1. Wählen Sie beantwortbare und nicht beantwortbare Fragen zu einem kleinen Handbuch.
  2. Verfolgen Sie die Antwortpassage durch Extraktion, Chunks, Kandidaten und endgültigen Kontext.
  3. Wiederholen Sie den Versuch mit einem Benutzer ohne Zugriff und prüfen Sie auf offengelegte Belege.
  4. Aktualisieren Sie das Dokument und prüfen Sie, dass alte Versionen weder gefunden noch verlinkt werden.
  5. Vergleichen Sie wesentliche Aussagen mit ihren Quellen. Erfassen Sie Sucherfolg und belegte Antwortqualität getrennt.

RAG verbindet gefundene Belege mit Generierung, garantiert aber keine korrekten Antworten. Den Forschungshintergrund liefert die RAG-Arbeit von Lewis et al.. Zur Produktnutzung: RAGO-X-API-Abläufe und Benutzer- und Zugriffsverwaltung.