RAG, technisch
Wie ein Abruf mit Generierung wirklich gebaut wird: Zerlegung, hybride Suche, Reranking, Zitierpflicht und die Messung, ohne die niemand weiß, ob es funktioniert.
Die Idee
Statt ein Modell nach seinem Gedächtnis zu fragen, sucht man zuerst in eigenen Dokumenten nach passenden Stellen und legt diese der Frage bei. Das Modell antwortet dann auf Grundlage dieser Stellen und kann sie nennen.
Der Gewinn ist nicht bessere Sprache, sondern Belegbarkeit.
Der Ablauf
- 01
Zerlegen
Dokumente in Abschnitte schneiden, die für sich verständlich sind.
- 02
Einbetten
Jeden Abschnitt in einen Vektor umrechnen und speichern.
- 03
Suchen
Zur Frage die ähnlichsten Abschnitte holen, meist zwanzig bis fünfzig.
- 04
Sortieren
Ein genaueres Modell bringt die Kandidaten in eine bessere Reihenfolge.
- 05
Antworten
Die besten fünf bis zehn Abschnitte mit der Frage an das Modell geben, mit der Anweisung, ausschließlich daraus zu antworten und zu zitieren.
Die Zerlegung
| Strategie | Wann |
|---|---|
| Feste Länge mit Überlappung | Einfach, guter Ausgangspunkt |
| An Überschriften | Strukturierte Dokumente, Handbücher, Gesetze |
| Nach Bedeutungswechsel | Fließtext ohne Struktur |
| Elternabschnitt nachladen | Kleine Abschnitte suchen, großen Kontext liefern |
Die letzte Strategie ist in der Praxis oft die beste: Man sucht mit kleinen, präzisen Abschnitten und übergibt dem Modell den umgebenden größeren Abschnitt.
Metadaten sind kein Beiwerk
- Quelle, Fassungsdatum, Gültigkeitszeitraum und Berechtigung je Abschnitt speichern.
- Bei der Suche nach Berechtigung filtern, nicht danach. Sonst kommen zu wenige Treffer.
- Veraltete Fassungen ausschließen oder als solche kennzeichnen. Ein System, das aus einer abgelaufenen Richtlinie zitiert, ist schlimmer als keines.
Getrennte Messung
Ein System mit Recall@10 = 0,62 und einer Treue von 0,95 hat kein
Modellproblem, sondern ein Suchproblem. Jede Arbeit am Prompt ist dort verschwendet.
Der Bewertungssatz
Er ist die einzige Investition, die sich in jedem RAG-Projekt lohnt.
- 100 bis 300 echte Fragen aus dem Betrieb, keine erfundenen.
- Zu jeder Frage die Kennung des Abschnitts, der sie beantwortet.
- Bewusst enthaltene Fragen, deren Antwort nicht im Bestand steht. Das System muss sagen, dass es die Antwort nicht hat.
- Fragen mit mehreren richtigen Quellen, um Vollständigkeit zu prüfen.
- Der Satz wird versioniert und bei jeder Änderung am System erneut gerechnet.
Zitierpflicht durchsetzen
Die Anweisung „zitiere die Quelle" allein reicht nicht. Belastbar wird es erst durch eine Prüfung nach der Erzeugung:
- 01
Nummerierte Abschnitte übergeben
Jeder Abschnitt bekommt eine Kennung, die im Prompt sichtbar ist.
- 02
Strukturierte Ausgabe verlangen
Antwort und Liste der verwendeten Kennungen getrennt, als JSON.
- 03
Nachprüfen
Jede Aussage der Antwort gegen die genannten Abschnitte halten, automatisch oder mit einem zweiten Modell.
- 04
Bei fehlender Deckung ablehnen
Lieber keine Antwort als eine unbelegte. Die Ablehnungsquote wird als Kennzahl geführt.
Aufwand je Anfrage
| Posten | Token | Anteil |
|---|---|---|
| Systemprompt | 400 | 4 % |
| Acht Abschnitte à 600 Token | 4.800 | 52 % |
| Frage und Verlauf | 300 | 3 % |
| Antwort | 400 | 4 % |
| Ohne Caching gesamt | 5.900 |
Der Systemprompt und häufig gelieferte Abschnitte lassen sich über Prompt-Caching wiederverwenden, was in der Praxis 30 bis 60 Prozent der Eingabekosten spart. Siehe Inferenz schneller machen.
Ein Bewertungssatz für den Abruf
KOSTENLOSES KONTO
Bewertungssatz und Auswertung für RAG
Ein Schema für den Bewertungssatz und ein Skript, das Recall, Treue und Ablehnungsquote getrennt misst.
Zugangscode2 Elemente
Passende Kurse und Quellen
Hugging Face Agenten-Kurs
Werkzeugaufrufe, Planung und die Absicherungen, ohne die ein Agent im Betrieb nicht tragbar ist. Praktisch, mit lauffähigem Code.
Für alle, die einen Agenten bauen wollen und wissen müssen, welche Absicherungen dazugehören.
Kurzkurse zu KI-Werkzeugen
Einheiten von etwa einer Stunde zu Prompting, Abruf eigener Dokumente, Agenten und Bewertung. Kostenlos und nah an dem, was gerade eingesetzt wird.
Für Praktiker mit einer konkreten Frage; eine Einheit dauert etwa eine Stunde.
LangChain-Dokumentation
Bausteine für Abruf, Werkzeugaufrufe und Agenten. Nützlich als Katalog der Muster, auch wenn man am Ende ohne das Rahmenwerk baut.
Als Musterkatalog nützlich, auch wenn man am Ende ohne das Rahmenwerk baut.
OWASP Top 10 für Anwendungen mit Sprachmodellen
Die Liste der Schwachstellen, die in Systemen mit Sprachmodellen tatsächlich auftreten, von Prompt-Injection bis zu unsicherer Werkzeuganbindung.
Für alle, die selbst bauen. Die Liste ersetzt keine Prüfung, ist aber der beste Ausgangspunkt dafür.
Retrieval-Augmented Generation
Die Arbeit, die Abruf und Erzeugung verbunden hat. Der Ursprung des Musters, mit dem eigene Dokumente belegbar nutzbar werden.
Für alle, die eigene Dokumente nutzbar machen wollen; der Ursprung des Musters.