Modul 04 · Mit Sprachmodellen bauen

RAG – das Modell deine Unterlagen lesen lassen

Ein Retrieval-Augmented-Generation-System von Grund auf bauen – Dokumente zerlegen, Vektorsuche, Stichwortsuche, Umformulieren der Anfrage, Reranking, Antworten mit Quellenangaben und Evaluation – und zum Schluss RepoBot die httpx-Dokumentation beibringen.

Lektionen

  1. 01
    Warum RAG

    Dieselbe Frage wird ohne Unterlagen falsch beantwortet und richtig, sobald der passende Abschnitt der Dokumentation im Prompt steht. Der grundlegende Ablauf von RAG, welches Problem es löst und wofür es sich nicht eignet.

    25 Minuten · Fortgeschritten
  2. 02
    Dokumente in Chunks zerlegen

    Drei Zerlegungsmethoden an der httpx-Dokumentation praktisch vergleichen – feste Länge, nach Überschriften, nach Überschriften mit Längenbegrenzung. Unterwegs tappen wir in eine echte Falle: Kommentare in Codeblöcken werden für Überschriften gehalten.

    35 Minuten · Fortgeschritten
  3. 03
    Vektorsuche von Grund auf

    Mit numpy in ein paar Dutzend Zeilen eine Vektorsuche schreiben – Chunks in eine Vektormatrix verwandeln, bei der Anfrage Ähnlichkeiten berechnen und die besten nehmen. Dann mit 20 Fragen bewerten: Nur die Hälfte wird richtig gefunden, und wir sehen, woran es liegt.

    45 Minuten · Fortgeschritten
  4. 04
    Hybride Suche und Reranking

    Eine BM25-Stichwortsuche von Grund auf schreiben, sie per RRF mit der Vektorsuche fusionieren, chinesische Fragen vorher in englische Suchbegriffe umformulieren und zum Schluss ein Reranking-Modell hinzufügen. Jeder Schritt wird mit denselben 20 Fragen gemessen.

    50 Minuten · Fortgeschritten
  5. 05
    Antworten mit Quellenangaben

    Dem Modell die gefundenen Chunks nummeriert geben, verlangen, dass jeder Satz seine Quelle nennt und fehlende Informationen als fehlend benannt werden. Dann per Programm prüfen, ob die Zitate gültig sind, und sehen, ob es bei einer Frage, die die Dokumentation nicht beantwortet, etwas erfindet.

    35 Minuten · Fortgeschritten
  6. 06
    Woran man erkennt, ob RAG gut ist

    Die Bewertung von RAG in zwei Hälften teilen, Suche und Antwort. Die Suche misst man an der Trefferquote; bei den Antworten urteilt ein anderes Modell als Gutachter, anhand einer Musterantwort über richtig oder falsch und anhand der Unterlagen über die Treue. Der Gutachter urteilte 60-mal, ich habe jedes Urteil geprüft und festgestellt, dass auch er sich irrt.

    45 Minuten · Fortgeschritten
  7. 07
    Projekt: dem Assistenten die Projektdokumentation beibringen

    Zerlegen, hybride Suche, Umformulieren der Anfrage und Antworten mit Quellenangaben in RepoBot einbauen und so v2 bauen. Er beantwortet die Fragen richtig, bei denen v1 falschlag, und löst das Suchproblem bei Rückfragen wie „und asynchron?“ in mehrstufigen Gesprächen.

    60 Minuten · Fortgeschritten

RepoBot v1 hat „Folgt httpx standardmäßig Weiterleitungen?“ falsch beantwortet und dazu eine Versionsgeschichte erfunden. Dieses Modul löst das Problem: Vor der Antwort sucht er in der offiziellen httpx-Dokumentation die passenden Absätze, antwortet danach und nennt dem Nutzer die Quelle.

Das ganze Modul kommt fast ohne Frameworks aus. Zerlegen, Vektorsuche, BM25, Fusion und Zitatprüfung schreiben wir selbst, jeweils ein paar Dutzend Zeilen. Alle Suchverfahren werden mit denselben 20 Fragen bewertet, sodass du siehst, wie sich die Zahlen mit jedem Baustein konkret ändern. Manche Ergebnisse widersprechen gängigen Aussagen: Auf unseren Daten war die hybride Suche zum Beispiel nicht besser als die reine Stichwortsuche, und die größte Verbesserung kam von einer billigen Umformulierung der Anfrage.

Warum diese Reihenfolge

Lektion 1 zeigt zuerst an einem Handbeispiel, dass „mit Unterlagen die Antwort stimmt“, und erklärt Ablauf und Einsatzbereich von RAG. Lektionen 2 bis 4 machen in der Reihenfolge des Ablaufs den Schritt „Unterlagen finden“ gut: erst zerlegen, dann suchen, dann die Suche verbessern. Lektion 5 behandelt den Schritt „Unterlagen nutzen“: das Modell mit Quellenangaben antworten lassen und ehrlich sagen lassen, wenn es etwas nicht weiß. Lektion 6 bewertet das ganze System, nicht nur die Suche, sondern auch die Antworten selbst. Lektion 7 baut all das in RepoBot ein.

Du bist fertig, wenn

  • du Dokumente anhand ihrer Struktur zerlegen und Probleme dabei erkennen und beheben kannst (etwa zerschnittene Codeblöcke).
  • du ohne Framework Vektorsuche und BM25 schreiben und beide mit RRF fusionieren kannst.
  • du für deine eigenen Dokumente einen Satz Suchfragen für die Evaluation vorbereiten, Trefferquote und MRR berechnen und danach ein Suchverfahren wählen kannst.
  • du das Modell nur anhand der gefundenen Unterlagen antworten, Quellen nennen und die Gültigkeit der Zitate per Programm prüfen lassen kannst.
  • RepoBot v2 die Fragen richtig beantwortet, bei denen v1 falschlag, und die Quelle in der Dokumentation nennt.

Code zu diesem Modul

Code und Programmausgaben stehen genau so da, wie sie gelaufen sind – Kommentare und Ausgaben sind daher auf Chinesisch.