Startseite / Artikel

Beendigung von Halluzinationen bei Chatbots: RAG, Vektor-Suche, Chunking und Schutzmechanismen.

Ein Systemdesign für einen Support-Chatbot, der Richtlinien erstellt: RAG, Embeddings und ANN-Suche, Chunk-Größen, Grounding-Prompts, Kontextgrenzen und Überwachung.

Verlag: REACTAPP.TOP7 Min. Lesezeit1527 Wörter

Quellen: AI Chatbot Gives Wrong Answers: System Design Deep Dive on Hallucinations, RAG Architecture, and Vector Databases

Ein Support-Chatbot wird nach der Rückerstattungspolitik des Unternehmens gefragt und erfindet eine. Eine solche Politik existiert nicht, der Kunde hält sich daran, und das Unternehmen ist schließlich gezwungen, sie einzuhalten. Dies ist das Halluzination-Problem in seiner teuersten Form und zugleich ein beliebtes Thema in Systemdesign-Interviews, da es KI-Infrastruktur mit klassischer Architektur verbindet.

Warum Modelle Dinge erfinden

Ein großes Sprachmodell ist ein probabilistischer Textgenerator. Es kennt keine Fakten, sondern prognostiziert den nächsten am wahrscheinlichsten erscheinenden Token. Wenn die Antwort nicht in seinen Trainingsdaten oder im Kontext vorhanden ist, erzeugt es etwas, das richtig klingt, aber falsch ist. Enthält der Trainingstext viele Rückerstattungspolitiken anderer Unternehmen, wird das Modell eine Politik ausgeben, die dem Muster entspricht – auch wenn sie für dieses Unternehmen falsch ist.

Es handelt sich dabei weniger um einen Fehler als vielmehr um eine Folge der Funktionsweise dieser Technologie. Auch das Feintunen allein löst das Problem nicht, denn man kann nicht alle möglichen Fakten in die Gewichte einbauen. Die wichtigste Lösungsmethode ist die retrieval-augmented generation, kurz RAG: Anstatt vom Modell zu verlangen, aus seinen Parametern zu antworten, werden zunächst relevante Dokumente abgerufen und in die Anfrage eingefügt.

Ein typisches Anwendungsbeispiel ist ein Kundenservice-Chatbot, der Fragen zu Produkten, Richtlinien und Fehlerbehebung beantwortet. Er gibt selbstbewusst Antworten, behauptet manchmal jedoch, ein Produkt besitze eine Funktion, die es nicht hat, oder erfindet Richtlinien. Wie kann man sicherstellen, dass seine Antworten auf den tatsächlichen Dokumenten beruhen?

Zu den Themen, die in einer guten Antwort behandelt werden sollten, gehören:

  • warum Modelle Halluzinationen erzeugen und warum Feintunen nicht ausreicht
  • der RAG-Prozess der Kontextabfrage und anschließenden Generierung
  • Vektordatenbanken und semantische Suche auf Basis von Embeddings
  • Strategien zum Aufteilen von Dokumenten in Blöcke
  • Prompt-Techniken, die Halluzinationen verringern
  • Verwaltung des Kontextfensters innerhalb der Token-Beschränkungen
  • Bewertungspipelines zur Überwachung der Antwortqualität
  • Wie RAG Halluzinationen verringert

    Mit RAG holt das System zunächst relevante Materialien aus einer Wissensdatenbank und fügt sie als Kontext in den Prompt ein. Ohne diese Hilfestellung schätzt das Modell auf der Grundlage seiner Parameter. Mit ihr liest das Modell die Antwort aus den bereitgestellten Dokumenten. Es erzeugt weiterhin Tokens, doch der Kontext bremst dies aus. Wenn in den Dokumenten steht, dass es keine Rückerstattungen gibt, wird das Modell kein 30-tägiges Rückgabefenster erfinden.

    Vektordatenbanken und Embeddings

    Wie findet das System die richtigen Dokumente? Jedes Dokument wird in eine Vektordarstellung umgewandelt, eine hochdimensionale numerische Repräsentation seines Inhalts, und die Abfrage wird auf dieselbe Weise verarbeitet. Die Vektordatenbank gibt die Dokumente zurück, deren Vektordarstellungen denjenigen der Abfrage am nächsten liegen.

    Vier Komponenten übernehmen diese Aufgabe:

    • Embedding-Modell. Es wandelt Text in Vektoren um, sodass ähnliche Texte ähnliche Vektoren erzeugen. Zu den Optionen gehören OpenAI’s text-embedding-3-small mit 1536 Dimensionen sowie open-source-Modelle wie BGE oder E5.
    • Vektordatenbank. Sie speichert die Vektordarstellungen und unterstützt die Suche nach annähernden nächsten Nachbarn (ANN). Zu den Möglichkeiten zählen das verwaltete Pinecone sowie Weaviate, Qdrant, pgvector (eine Erweiterung für PostgreSQL) und Milvus.
  • ANN-Suche. Das Vergleichen einer Abfrage mit jedem gespeicherten Vektor wird langsam. Algorithmen wie HNSW (Hierarchical Navigable Small World) und IVF (Inverted File Index) finden annähernde Nachbarn deutlich schneller, in etwa logarithmischer Zeit. Bei 10 Millionen oder mehr Vektoren kann eine exhaustive Suche Sekunden in Anspruch nehmen, während die ANN nur Millisekunden benötigt.
  • Neubewertung der Relevanz. Bei der ersten Durchlauf wird etwa 20 Kandidaten zurückgegeben. Ein präziserer Cross-Encoder ordnet diese anschließend nach Relevanz um, wobei nur die drei besten zum LLM gelangen. Eine schnelle, aber annähernde Suche, gefolgt von einer langsamen, aber präzisen Neubewertung der Relevanz, vereint Geschwindigkeit und Genauigkeit.
  • Chunking

    Ein 50-seitiges Richtliniedokument kann nicht vollständig abgerufen werden, daher muss es in Teile aufgeteilt werden. Die Größe der Chunks beeinflusst sowohl die Genauigkeit der Suche als auch die effektive Nutzung des Kontextfensters.

    • Ein zu kleiner Abschnitt verliert den Kontext. Es könnte „Gegenstände, die bei der Lieferung beschädigt wurden, sind nicht“ lauten, wobei der Rest des Satzes im nächsten Abschnitt steht, was dazu führt, dass das Modell nicht richtig antworten kann.
    • Ein zu großer Abschnitt diluiert das nützliche Signal durch irrelevante Texte und füllt das Fenster mit Rauschen.
    • Überlappung schützt vor Grenzen. Ein Schiebefenster mit 10 bis 20 Prozent Überlappung verhindert, dass Informationen zwischen den Abschnitten geraten.

    Eine sinnvolle Standardlösung für Dokumentationen ist es, nach Abschnittsüberschriften zu teilen, die Abschnitte auf etwa 500 bis 1000 Token zu begrenzen und benachbarte Abschnitte um 50 bis 100 Token zu überlappen. Jeder Abschnitt sollte selbstständig sein, ein vollständiger Gedanke.

    Prompt-Design als zweite Verteidigungslinie

    Auch bei der Informationsabrufung kann ein Modell den Kontext ignorieren und dennoch Fantasien erzeugen, daher muss die Anweisung es fest mit dem bereitgestellten Material verbinden. Die wichtigsten Elemente sind:

    • Eine Rolle. Etwas wie „Sie sind ein Kundenservice-Assistent“ legt die Personifikation fest.
    • Verankerung im Kontext. Die Anweisung, nur auf dem bereitgestellten Kontext zu antworten, verhindert, dass das Modell auf sein Gedächtnis zurückgreift.
    • Notlösung bei Unsicherheit. Dem Modell mitzuteilen, dass es nicht antworten kann, wenn der Kontext keine Antwort enthält, ist die wertvollste Anweisung. Ohne sie tippt das Modell einfach drauflos.
    • Zitierungen. Die Erforderlichkeit von Quellenangaben zwingt das Modell, Behauptungen zu belegen, was Fälschungen erschwert.
    • Verbot externer Kenntnisse. Ein ausdrückliches Verbot von Informationen außerhalb des Kontexts stärkt die Regel der Verankerung im Kontext.

    Verwaltung des Kontextfensters

    Was passiert, wenn die relevanten Textabschnitte nicht hineinpassen oder eine Frage mehrere Teile hat, die viele Abschnitte erfordern? Moderne Modelle verfügen über große Kontextfenster – beispielsweise 128.000 Token für GPT-4o und bis zu 1 Million für Gemini – doch das Füllen dieser Fenster mit unbedeutendem Material verringert die Qualität der Antworten. Vier Strategien helfen dabei:

    1. Sortieren nach Relevanz. Holen Sie zehn Textabschnitte ab, ordnen Sie sie nach ihrer Relevanz ein und fügen Sie sie von der besten zur schlechtesten hinzu, bis das Tokenbudget aufgebraucht ist; dabei werden die am wenigsten relevanten zuerst weggelassen.
    2. Die Anfrage zerlegen. Bei einer Frage wie „Erzählen Sie mir von der Rückerstattungspolitik und den Versandzeiten“ teilen Sie sie in Unterfragen auf, holen Sie für jede eine Antwort ab und beantworten Sie beide in einer einzigen Antwort.
    3. Große Themen zusammenfassen. Wenn ein Thema mehrere Textabschnitte umfasst, lässt man das Modell diese zunächst zusammenfassen und verwendet diese Zusammenfassung als Kontext für die endgültige Antwort.
  • Ausdehnen um einen Treffer herum. Bei Fragen zu einem bestimmten Abschnitt sollten die Blöcke vor und nach dem Treffer herangezogen werden, damit der Kontext vollständig ist, ohne das gesamte Dokument einzubeziehen.
  • Die vollständige Architektur

    Zusammenfassend sind die wichtigsten Entscheidungen folgende:

    • Semantisches Chunking. Die Aufteilung erfolgt an natürlichen Grenzen wie Überschriften und Absätzen, wobei jeweils Blöcke mit etwa 500 Token sowie einer Überlappung von 50 Token entstehen, die jeweils selbstständig sind.
    • Zweistufiger Abruf. Die ANN-Suche liefert 20 Kandidaten, und ein Cross-Encoder zur Neubewertung behält die besten 3.
    • Niedrige Temperatur. Eine Einstellung von etwa 0,2 auf einer Skala von 0 bis 2 sorgt dafür, dass das Modell weniger kreativ ist und seltener Fakten erfindet.
  • Schutzmechanismen. Ein Inhaltssensor überprüft auf personenbezogene Daten und Verstöße gegen Richtlinien, eine Quellenprüfung stellt sicher, dass die Antwort auf den Kontext verweist, und ein aus der Ähnlichkeit der gefundenen Informationen abgeleiteter Zuverlässigkeitswert entscheidet darüber, ob geantwortet werden soll oder nicht.
  • Eine explizite „Ich weiß es nicht“. Wenn die Zuverlässigkeit der gefundenen Informationen unter einen bestimmten Schwellenwert fällt, gibt der Bot an, keine Antwort geben zu können. Dies ist die stärkste Abwehrmaßnahme.
  • Ein Feedbackkreislauf. Zustimmungen oder Ablehnungen der Nutzer fließen in einen Bewertungsprozess ein, der im Laufe der Zeit die Genauigkeit sowie das Ausmaß an Halluzinationen erfasst.
  • Was zu überwachen ist

    1. Ausmaß an Halluzinationen. Der Anteil der Antworten, die Informationen enthalten, die im bereitgestellten Kontext fehlen – gemessen durch automatische Bewertung oder menschliche Prüfung. Ein angemessenes Zielwert ist unter einem Prozent.
  • Rückholgenauigkeit@3. Von den drei wichtigsten Abschnitten: Wie viele beziehen sich tatsächlich auf die Anfrage? Ein Wert unter 70 Prozent deutet darauf hin, dass das Embedding-Modell oder die Aufteilung in Abschnitte verbessert werden muss.
  • Vertrauensverteilung. Die Aufteilung der Antworten in Kategorien mit hohem, mittlerem oder niedrigem Vertrauen. Viele Fälle mit niedrigem Vertrauen deuten auf Lücken in der Wissensdatenbank hin.
  • Zitiergenauigkeit. Ob ein zitiertes Dokument tatsächlich die Aussage stützt – wird automatisch überprüft.
  • Bewertung durch Nutzer. Die durchschnittliche Bewertung aus „Daumen nach oben“ und „Daumen nach unten“, ein Maß für die allgemeine Zufriedenheit.
  • Nutzung des Kontexts. Wie viel vom verfügbaren Tokenbudget genutzt wird. Eine ständig niedrige Nutzung bedeutet, dass zu wenige Abschnitte zurückgegeben werden, während eine Nutzung nahe 100 Prozent darauf hindeutet, dass das Budget erhöht werden muss.
  • Frische der Eingabe. Die Verzögerung zwischen einer Änderung eines Dokuments und seinem Erscheinen in den Suchergebnissen. In dynamischen Wissensbasen führt veraltete Daten zu unaktuellem Feedback.
  • Die vier Verteidigungsschichten

    Halluzinationen sind kein Zeichen dafür, dass die KI defekt ist. Es handelt sich um ein Konstruktionsproblem. Ein unbeschränktes Modell wählt stets Plausibilität statt Genauigkeit, weil genau das seine Trainingsaufgabe ist. Vier Schichten begegnen diesem Problem:

    • Auswahl der Dokumente. Bereitstellung relevanter Dokumente, damit das Modell aus diesen antwortet und nicht aus dem Gedächtnis.
    • Anleitung durch Prompts. Eingrenzung des Modells auf den gegebenen Kontext, Anweisung, anzugeben, dass es nichts weiß, sowie Erfordernis von Quellenangaben.
    • Schutzmechanismen. Filterung der Ausgaben, Überprüfung der Quellenangaben und Berechnung von Zuverlässigkeitswerten, wobei alles abgelehnt wird, was im Kontext nicht überprüft werden kann.
  • Feedback. Überwachen Sie die Häufigkeit von Halluzinationen, die Benutzerbewertungen sowie die Genauigkeit der Informationsabrufung und verbessern Sie kontinuierlich die Wissensbasis sowie den Arbeitsablauf.
  • Die wichtigste Regel: Ein Chatbot, der selbstbewusst „Ich weiß es nicht“ sagt, ist weitaus besser als einer, der selbstbewusst eine Antwort erfindet.