Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Einem Sprachmodell die richtigen Fakten geben (RAG)

Nach dieser Lektion: Ich kann erklären, wie eine App einem Sprachmodell die richtigen Fakten gibt.

Lektion, 45 Min.Keine Befehle

Der Chatbot kennt unsere Regeln nicht

Ein Online-Shop baut einen Chatbot für Kundenfragen. Im Chat fragt jemand: „Wie lange habe ich Zeit für eine Rücksendung?“

Das Sprachmodell antwortet freundlich und sicher: „14 Tage.“ Im Shop gelten aber 30 Tage.

Das Modell hat die Regeln des Shops nie gesehen. Wie bekommt es die richtigen Fakten? Darum geht es heute.

Am Ende dieser Lektion

Notiz

Ich kann erklären, wie eine App einem Sprachmodell die richtigen Fakten gibt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Sprachmodellein Modell, das zu einem Text den wahrscheinlich nächsten Textteil vorhersagtein Chatbot
Tokenein Textstück, mit dem das Modell rechnet: ein Wort oder ein Teil davon
Promptder Text, den die App an das Modell schickt: Anweisung, Frage und Fakten
Halluzinationeine Antwort, die sicher klingt, aber erfunden oder falsch ist
RAGerst passende Textstücke suchen, dann dem Modell mitgebenRetrieval-Augmented Generation
Vektorsucheeine Suche nach Bedeutung statt nach gleichen Wörtern

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Was ein Sprachmodell tut

Ein Sprachmodell wurde mit riesigen Mengen Text trainiert. Es sagt zu einem Text voraus, was wahrscheinlich als Nächstes kommt.

Es rechnet dabei mit Token: Textstücken, oft ein Wort oder ein Teil davon. Es klingt deshalb flüssig, prüft aber keine Fakten.

Drei Grenzen, die jede App kennen muss

Erstens: Das Modell kennt nur, was bis zu seinem Training im Text stand. Neue Preise kennt es nicht.

Zweitens: Es kennt keine privaten Daten wie Ihre Rückgaberegeln.

Drittens: Es kann erfinden. Eine solche Antwort heißt Halluzination. Sie klingt genauso sicher wie eine richtige.

Die Idee: erst suchen, dann fragen

Wir müssen das Modell nicht neu trainieren. Die App gibt ihm die Fakten einfach mit.

Das geht in drei Schritten. Erstens sucht die App in den eigenen Texten die Absätze, die zur Frage passen. Zweitens schreibt sie diese Absätze zusammen mit der Frage in den Prompt. Drittens antwortet das Modell auf dieser Grundlage.

Dieses Vorgehen heißt RAG: erst suchen (Retrieval), dann mit dem Fund antworten lassen.

Eine einfache Suche in Python

Code: python
# Drei Absätze aus dem Hilfe-Bereich eines Shops.
passagen = [
    "Retouren sind 30 Tage nach Erhalt der Ware kostenlos möglich",
    "Die Lieferung dauert in Deutschland meist zwei bis drei Werktage",
    "Rechnungen finden Sie im Kundenkonto unter Meine Bestellungen",
]
frage = "wie lange dauert die lieferung nach deutschland"

def gemeinsame_woerter(frage, text):
    zaehler = 0
    woerter_text = text.lower().split()
    for wort in frage.lower().split():
        if wort in woerter_text:
            zaehler = zaehler + 1
    return zaehler

beste = passagen[0]
beste_punkte = -1
for passage in passagen:
    punkte = gemeinsame_woerter(frage, passage)
    print(punkte, "gemeinsame Wörter:", passage)
    if punkte > beste_punkte:
        beste_punkte = punkte
        beste = passage

# Die App baut aus Frage und bestem Absatz die Anweisung für das Sprachmodell.
print("Anweisung: Antworte nur mit diesem Text:", beste)
print("Frage:", frage)

Wörter zählen reicht nicht immer

Die Suche im Code zählt gleiche Wörter. Jemand fragt aber: „Wie komme ich an mein Geld zurück?“ Im Text steht „Erstattung“. Kein Wort ist gleich.

Auch kleine Wörter wie „die“ zählen mit. Für gute Treffer braucht man eine Suche nach Bedeutung.

Vektorsuche in Worten

Ein anderes Modell wandelt jeden Absatz in eine Liste von Zahlen um, einen Vektor. Texte mit ähnlicher Bedeutung bekommen ähnliche Zahlen.

Die Frage wird genauso umgewandelt. Die App sucht dann die Absätze, deren Zahlen der Frage am nächsten liegen. Das ist die Vektorsuche.

Echte Vektoren haben mehrere Hundert Zahlen. In der Tabelle sehen Sie nur zwei.

Rechenbeispiel: der nächste Absatz

TextZahl für LieferungZahl für RechnungAbstand zur Frage
Frage: Wie lange dauert die Lieferung?910
Absatz: Lieferzeit811
Absatz: Retouren536
Absatz: Rechnungen1916

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Tabelle lesen

Der Abstand ist der Unterschied je Zahl, zusammengezählt. Für „Lieferzeit“ sind das 1 plus 0, also 1.

Der kleinste Abstand gewinnt. Die App nimmt also den Absatz „Lieferzeit“ und gibt ihn dem Modell mit. Es gibt auch andere Arten, einen Abstand zu messen. Das Prinzip bleibt gleich.

Ein häufiger Irrtum

Warnung

Viele glauben, RAG verhindert Halluzinationen ganz. Das stimmt nicht. Findet die Suche den falschen Absatz, antwortet das Modell auf falscher Grundlage. Prüfen Sie deshalb, was gefunden wurde, und zeigen Sie die Quelle an.

Datenschutz im Blick

Tipp

Alles im Prompt wird an das Modell geschickt, oft an einen fremden Dienst. Schicken Sie keine Namen, Adressen oder Gesundheitsdaten von Kundinnen und Kunden mit, ohne dass dies erlaubt und geklärt ist.

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.