AI Hosting verstehen (3): Wie dich dein LLM anlügt – und wie RAG das Problem löst
Warum fantasiert ein LLM?
Wie wir im Beitrag über die Grundlagen des LLMs gelernt haben, generiert ein LLM Text, indem es bei jedem Schritt das wahrscheinlichste nächste Token vorhersagt – basierend auf dem, was es im Training gelernt hat und was aktuell im Kontextfenster steht.
Das Kontextfenster ist die Eingabe, die das LLM verarbeiten soll. Dieses kann zum Beispiel Verhaltensanweisungen (System Prompt) und den Chatverlauf mit deiner Anfrage an das LLM enthalten.
Parametrisiertes Wissen
Ein LLM ist ein neuronales Modell – angelehnt an die biologische Signalverarbeitung bei Neuronen wie im Gehirn. Ein Signal kommt rein, wird verändert (verstärkt, geschwächt) und weitergesendet. Wie stark und in welche Richtung das Signal verändert wird, nennt man Gewicht oder Modellparameter. Diese Gewichte werden im Training so verändert, dass du in der Nutzung bei einer Wissensfrage das gewünschte Ergebnis erhältst. Dafür nutzt ein LLM Milliarden von Parametern.
Das Wissen, das in den Modellparametern gespeichert ist, nennt sich parametrisiertes Wissen. Während du bspw. eine neue Sprache lernst, merkt sich dein Gehirn das, indem – hauptsächlich im Schlaf – neue Neuronenverbindungen geschaffen werden. So kannst du über die Struktur der Verbindungen und Eigenschaften der Neuronen das Wissen wieder abrufen.
Halluzination
Vielleicht kennst du das: Du fragst ein LLM nach einer Buchempfehlung zu einem Fachthema – und es nennt dir einen Titel, einen Autor und sogar eine ISBN. Alles klingt sinnig und präzise. Nur, weder das Buch noch die ISBN existieren. Das Modell hat beides erfunden.
Antworten aus dem parametrisierten Wissen haben ähnlich wie beim Menschen zwei Probleme:
- Das Modell besitzt nur das Wissen, das es im Trainingsprozess gelernt hat. Das Modellwissen hat inhaltliche Grenzen in Fachbereichen oder zeitliche Grenzen.
Andererseits hat das Modell selbst keine Erinnerungen an einzelne Textstellen aus dem Training. Ähnlich wie der Mensch, der den groben Inhalt eines Buches kennt, aber nicht mehr Wort für Wort zitieren kann, rekonstruiert das Modell Informationen aus erlernten Mustern. - Zudem folgt das Modell seiner Wahrscheinlichkeitslogik und füllt Wissenslücken automatisch mit falschen Informationen, ohne es selbst direkt zu merken. Die Generierung der Falschinformationen nennt man Halluzination. Das ist angelehnt an den Menschen, der auch nicht merkt, wenn er etwas wahrnimmt, das gar nicht existiert.
Jetzt aber mal reinfolgen!
Abonniere Tipps für CMS und Dev-Tools, Hosting Hacks und den ein oder anderen Gag. Unsere schnellen Takes für dich per E-Mail.
Gegenmaßnahmen
Welche Gegenmaßnahmen es dazu gibt, erkläre ich dir nun.
Wissen und Dokumente in das Kontextfenster nehmen
Die effektivste Methode: Die relevanten Informationen in das Kontextfenster holen. Das ist so gesehen der Arbeitsspeicher des Modells. Bei jedem Generierungsschritt – also bei der Vorhersage jedes einzelnen Tokens – bezieht das Modell sowohl sein parametrisiertes Wissen als auch den gesamten Inhalt des Kontextfensters ein.
Konkrete Fakten im Kontextfenster haben ein stärkeres Gewicht als vage erlernte Muster, weil sie direkt und eindeutig vorliegen. Das Modell muss nichts rekonstruieren. Es kann schlicht „nachlesen“. Im übertragenen Sinne ist das so, als müsstest du die Frage nicht aus dem Gedächtnis beantworten, sondern hättest die Dokumentation der Verwaltungsoberfläche direkt vor dir liegen und könntest jederzeit nachlesen.
Wenn du bspw. ein LLM fragst, wie man bei mittwald eine Subdomain anlegen kann, wird es wahrscheinlich halluzinieren. Über das Training hat es gelernt, wie Verwaltungsoberflächen von Webhostern aufgebaut sind. Wenn aber mittwald kein Teil des Trainingsprozesses gewesen ist, werden Klickpfade und Schaltflächen dazuerfunden.
Würdest du heute ChatGPT nutzen, erkennt das Modell automatisch, dass es deshalb besser im Internet recherchieren sollte. Es nutzt hierbei ebenfalls den Trick, die Suchergebnisse in das Kontextfenster einzubinden.
Das Problem hierbei: Die Größe des Kontextfensters ist endlich und limitierend. Was ist, wenn du eine Frage zu einem Buch oder einer großen Wissensdatenbank hast?
Die Lösung: Retrieval Augmented Generation (RAG).
RAG: Retrieval Augmented Generation
Retrieval Augmented Generation bedeutet salopp gesagt: Ich generiere etwas mit Informationen, die ich vorher abgerufen habe.
Statt sich auf das parametrisierte Wissen zu verlassen, wird gezielt relevantes Wissen aus einer Wissensdatenbank gesucht und in den Kontext geladen. Im übertragenen Sinne: Du stellst einer Person eine Frage und diese googelt einmal, bevor sie dir antwortet. Es muss aber keine Internetsuchmaschine sein. Auch eine Wissensplattform eines Unternehmens oder Datenbanken können Informationen liefern.
Der Ablauf sieht wie folgt aus:
- Frage kommt rein: „Wie lege ich eine Subdomain im mStudio an?"
- Suche im Wissenspool: Das System durchsucht eine Wissensbasis (z. B. Dokumente, Handbücher, interne Datenbanken) nach den relevantesten Stellen zur Frage.
- Relevante Passagen werden in den Kontext geladen: Die gefundenen Textstellen landen automatisch als zusätzlicher Kontext im Prompt.
- Das Modell antwortet auf Basis dieser Information: Es stützt sich dabei auf echtes, aktuelles Wissen statt auf Rekonstruktion.
Soll das Modell keine Sachen erfinden, sondern nur das Wissen nutzen, muss der Systemprompt angepasst werden. Darin lässt sich das LLM anweisen, sich nur auf die Dokumente im Kontext zu beziehen und nichts aus eigenem Wissen zu beantworten:
„Beantworte die Fragen des Nutzers ausschließlich auf Basis der bereitgestellten Dokumente im Kontext. Wenn die Antwort nicht aus diesen Dokumenten hervorgeht, antworte mit: „Dazu habe ich keine Information in der Wissensbasis.“ Erfinde keine Informationen und greife nicht auf eigenes Wissen zurück."
Das Halluzinieren wird dadurch minimiert. Es fasst zusammen, was ihm explizit vorliegt.
Damit die Suche der relevanten Textbausteine gut funktioniert, reicht eine klassische Stichwort-Suche nicht mehr aus. Man benötigt eine andere Suchmethode, wie im folgenden Abschnitt erklärt.
Embedding-Modell
Damit das RAG-System die passenden Suchergebnisse findet, arbeitet es mit Embeddings. Das Embedding-Modell überführt Texte oder Abschnitte in einen Vektor, also eine Zahlenliste, welche die semantische Bedeutung des Abschnitts repräsentiert. Dadurch lässt sich die Ähnlichkeit zweier Textabschnitte mathematisch vergleichen. Hat man ein ganzes Buch, wird der Inhalt in einzelne Bausteine getrennt. Jeder Baustein bekommt ein eigenes Embedding. Kommt eine Suchanfrage rein, wird auch dessen Embedding berechnet. Anschließend lassen sich die ähnlichsten Bausteine zu der Suchanfrage ermitteln. Für die Antwortgenerierung landen die passendsten Bausteine mit in den Kontext und das LLM kann damit arbeiten.
Du willst dein eigenes RAG-System bei mittwald aufbauen? Dann starte direkt und entdecke deine Möglichkeiten.
Vektordatenbanken
Die Vektoren der gesamten Wissensbasis müssen irgendwo gespeichert werden – und zwar so, dass bei einer Suchanfrage schnell die ähnlichsten Einträge gefunden werden können. Klassische Datenbanken sind dafür nicht ausgelegt: Sie suchen nach exakten Werten oder Texten, nicht nach Ähnlichkeit in hochdimensionalen Räumen.
Dafür gibt es Vektordatenbanken wie Qdrant, Weaviate oder Chroma. Sie sind dafür optimiert, unter Millionen von Vektoren blitzschnell die nächsten Nachbarn zu finden – also die Textstellen, deren Embedding der Suchanfrage am ähnlichsten ist. Diese kannst du auch in unserem Container Hosting hochfahren.
Der vollständige RAG-Stack setzt sich so zusammen:
Hintergrundwissen aufbauen, Fakten prüfen, kritisch denken
Das kritische Denken mit vorhandenem Hintergrundwissen ist mit die wichtigste Gegenmaßnahme. Frage dich: Wie wichtig ist es, dass die Antwort korrekt ist? Was sind die Folgen, wenn die Antwort nicht stimmt?
Bei einem kreativen Brainstorming ist eine gelegentliche Ungenauigkeit verschmerzbar. Geht es um medizinische Informationen, rechtliche Sachverhalte oder Entscheidungen mit echten Konsequenzen, sehen die Folgen bei einer falschen Ausgabe ganz anders aus. Bist du zu dem Entschluss gekommen, dass eine korrekte Antwort sehr wichtig ist, muss diese überprüft werden.
Es hilft nicht, das Modell zu fragen: „Bist du dir sicher?“. Die Wahrscheinlichkeit gelernt zu haben, nach einer plausibel klingenden Erklärung auf so eine Frage mit „Ja“ zu Antworten, ist hoch und liefert daher keinen Mehrwert. Stattdessen ist hier Recherchearbeit und Eigenleistung gefragt.
Ebenso hilfreich ist es, sich in dem Bereich, in dem man das Modell regelmäßig einsetzt, selbst ein Grundverständnis aufzubauen. Nicht um das Modell zu ersetzen, sondern um seine Ausgaben einschätzen zu können.
Prompting
Eine weitere aber weniger effektive Möglichkeit ist es, das Modell bereits im Prompt anzuweisen, bei Unsicherheit transparent zu sein. Zum Beispiel mit einem Zusatz wie: „Wenn du dir bei einer Information nicht sicher bist, sag das explizit." Das kann die Zahl der stillen Halluzinationen reduzieren. Verlassen solltest du dich darauf aber nicht. Das Modell kann trotz dieser Anweisung weiterhin antworten, auch wenn es eigentlich unsicher ist. Die Anweisung senkt die Schwelle, da es die Wahrscheinlichkeitsverteilung der nächsten Tokens beeinflusst, gibt aber am Ende keine Garantie.
Fazit
LLMs sind mächtige Werkzeuge, aber keine verlässlichen Quellen. Wer das ignoriert, riskiert, falsche Entscheidungen auf Basis erfundener Informationen zu treffen.
Die wichtigsten Hebel zusammengefasst:
- Wissen im Kontextfenster erlaubt dem Modell einen direkten Zugriff.
- RAG liefert dem Modell echtes, aktuelles Wissen direkt in das Kontextfenster statt Rekonstruktion aus parametrisiertem Wissen.
- Passender Systemprompt begrenzt das Modell auf das, was tatsächlich vorliegt.
- Eigenes Grundverständnis schützt dich dort, wo Technik allein nicht reicht.
Nutzt du diese Stellschrauben, bekommst du die Halluzinationen in den Griff.
RAG aufsetzen: So baust du deinen Stack auf
Du kennst die Theorie. Jetzt wird es konkret. Der Aufbau eines RAG-Systems folgt einer klaren Reihenfolge, deren Schritte ich hier kurz anreiße, bevor ich im nächsten Artikel in die Tiefe gehe.
- Vektordatenbank aufsetzen
Starte mit Qdrant im mittwald Container Hosting. Dafür findest du im mStudio bereits eine Container-Vorlage, die mit nur wenigen Klicks installiert ist. - Wissensbasis vorbereiten und einlesen
Jetzt kommt das Embedding-Modell ins Spiel. Du zerlegst deine Dokumente in Bausteine und übergibst dem Qwen3-Embedding-8B aus unserem AI Hosting deine Dokumente in Textform. Es berechnet für jeden Baustein einen Vektor, welchen du in deine eben eingerichtete Qdrant-Instanz schreibst. Wenn jetzt eine Anfrage reinkommt, vektorisiert das Embedding-Modell sie genauso wie die Wissensbasis und du kannst nach den ähnlichsten Einträgen suchen. - Kontext zusammenbauen und LLM aufrufen
Die gefundenen Textbausteine werden mit deiner Anfrage in einen Prompt gepackt. Der Systemprompt weist unser Antwortmodell an, hier gpt-oss-120b, ausschließlich auf Basis dieser Dokumente zu antworten. Das LLM generiert die Antwort, welche somit nicht auf dem parametrischen Wissen basiert.
Du verbindest drei Komponenten zu einem System das nun präziser antwortet anstatt zu raten. Und weil alles bei mittwald läuft, bleibt dein Stack DSGVO-konform, in Deutschland und alle Daten in deiner Hand.
In meinem nächsten Beitrag widme ich mich dem Thema in Tiefe und werfe einen Blick auf verschiedene Möglichkeiten, einen zuverlässigen RAG-Stack zu konstruieren.
Tipp!
Du willst das AI Hosting von mittwald testen? Dann leg gleich los – von "Starter" bis "Dedicated" ist alles dabei.
Kommentar hinzufügen