TL;DR
Fragt man mich, wie man sich einen Chatbot vorstellen kann, so antworte ich gerne „wie der 16-jährige Praktikant mit dem ich auf Slack chatte und der sofort und übermotiviert alles erledigt, aber ständig über das Ziel hinausschießt und vom Unternehmen keine Ahnung hat. Und dem ich ganz genau alles erklären muss.“.
Fragt man mich, was ein Retrieval-Augmented Generation (RAG) System ist, so nutze ich die gleiche Analogie, nur ist es diesmal „der 100-jährige Gründer und Inhaber des Unternehmens der mit allen früheren und derzeitigen Mitarbeitern in einem Raum sitzt und mir per Chat alle meine Fragen sofort korrekt beantwortet„. #magick
RAG ist digital verkörpertes Fachwissen
Retrieval-Augmented Generation, kurz RAG. Klingt sperrig, der Begriff hat sich aber durchgesetzt. Auf gut hochdeutsch: ich bringe der KI Fachwissen bei. Und das ist es, was wir Unternehmer ja wollen: Mitarbeiter – auch digitale – die Ahnung von Prozessen, Qualitätsstandards, Unternehmenswerten und der Fülle an Dokumentation haben. Nicht nur allgemein, sondern im speziellen in meinem Unternehmen. Viele Trainings braucht das, Schulungen, viel Dokumentation lesen, Praktika, Videos schaun, Shadowing von Experten-Mitarbeitern, …. und natürlich soll das Personal am besten jeden Kunden persönlich kennen und alle Ticket Nummern auswendig kennen.
Keine Sorge: ich will hier keine Mitarbeiter durch eine allwissende KI ersetzen: wohl aber einen digitalen Fachmitarbeiter in Form eine LLMs etablieren und an die Seite stellen. Dieser digitale Fachmitarbeiter, das RAG System, verkörpert das digitale Unternehmenswissen und unterstützt als unternehmenseigenes Chat-System ähnlich ChatGPT, aber intelligenter.
Den Erfahrungsschatz nutzen: ein Beispiel
Jedes Unternehmen hat einen unsagbar wertvollen Schatz: die eigene Erfahrung. Egal ob 1 Jahr Erfahrung mit der Generierung von Porno Avataren via KI oder 120 Jahre Tradition im internationalen Logistik Großunternehmen: Berge von Dokumentation, Onboarding Protokollen, Meeting Protokollen, FAQs, Videos, Wikis, Dokumenten, Sharepoints, Google Docs, Datacubes, SAPs und wie sie alle heißen. Klar ist auch viel Wissen, Erfahrung und Weisheit in den Köpfen der Angestellten. Ein großer Teil davon ist aber schriftlich und digital dokumentiert. Und das ist der Kern: auf diese Ressource kann man mit einfach verfügbaren Mitteln zugreifen. Und die KI um dieses Wissen bereichern.
Dazu ein Beispiel aus dem technischen Support:
Prompt im Chat:
"Unser Gerät Illuminator 7000 gibt beim Kunden Firma Nägele KG täglich mehrfach die Fehlermeldung 'E014' aus. Wie kann ich das beheben?"
[hier passiert die RAG Magie]
Antwort:
"Der Illuminator 7000 bei der Firma Nägele KG läuft mit einer Software Version 2.7, Stand Juli 2020. In dieser Software Version bedeutet der Fehlercode 'EO14': Datum nicht gesetzt. (Achtung: der Kunde hat hier vermutlich 0 mit O verwechselt).
Analyse: Am wahrscheinlichsten ist eine leere Batterie des Geräts. Die Batterie sorgt für die Speicherung des Datums. Mit leerer Batterie wird das Datum immer wieder auf den Default Wert zurückgesetzt.
Vorschlag zur Behebung: beim nächsten Wartungstermin vor Ort durch den Techniker die Batterie tauschen lassen und das Datum korrekt einstellen."
Wie ist das möglich? Die KI weiß natürlich nichts über die interne Produktdokumentation. Aber: die RAG Software durchsucht zuerst das interne Firmenwissen, in diesem Fall die Produktbeschreibung und die konkrete Kundendokumentation. Und liefert die gefundene Information an die KI. Die KI erhält die Information als Text im Prompt und erstellt damit eine natürlich klingende und plausible Antwort.
Sinnhaftigkeit von RAG: was muss vorab geklärt werden
Da stellt sich zuerst die Frage: ist das überhaupt etwas für mich? Im typischen Beratungs- und Umsetzungsgespräch steht hier die Analyse der IST Situation, der Schmerzpunkt, sowie mögliche Lösungswege im Fokus.
Das bedeutet: wozu benötige ich überhaupt ein RAG System?
Vielleicht bin ich nicht zufrieden mit der Qualität der Lösungen des Support Teams und möchte den Standard bei der Lösung von Kundenproblemen erhöhen. Das wäre typisch bei der komplexen Produkten, wo aber nicht immer DER Spezialist jede Frage beantworten kann. Oder eine interne Wissensdokumentation liegt in einem gewaltigen Wiki mit 10.000 Einträgen, die seit Jahren zwar befüllt, aber selten bereinigt werden. Nun ist der Frust hoch beim Personal, sich durch veraltete Artikel durchzukämpfen. Ein RAG System soll die Nutzbarkeit des Wikis erhöhen. Oder aber das Ticket System enthält soviele Tickets, dass der Umgang damit schwierig geworden ist. Eine RAG Lösung kann auch hier schnelle Lösungswege aufzeigen.
Und wenn diese Anforderung klar ist, muss die Frage geklärt werden, welche Daten, Informationen, Systeme überhaupt verfügbar sind. Das ist ein sehr kritischer Punkt, denn auch hier gilt. Garbage in, garbage out. Die Antworten können nur so gut sein, wie die Qualität des Inputs. Alles nur im Kopf der Mitarbeiter? Leider nein. Mitarbeiter füllen Papierformulare aus? Leider nein. (aber: vielleicht sollten wir zuerst über Digitalisierung reden)
Und zu guter Letzt: Sicherheits-, Kosten- und Zuständigkeitsfragen. Darf ich meine Daten an zum Beispiel OpenAI senden? Oder muss es ein österreichischer Anbieter sein? Was wird die ständige Nutzung des RAG Systems kosten? Immerhin müssen ständig Tokens generiert werden. Dies kann abgeschätzt werden und ist derzeit meist erfreulich günstig. Was kostet die Implementierung eines RAG Systems? Und wer ist intern zuständig? So ein System muss natürlich auch gewartet werden. Hat der interne IT Techniker überhaupt Zeit und Ressourcen dafür?
Best Practices: wo wird RAG am besten eingesetzt
Da generative LLMs meist Text-basiert sind, eignet sich Text am besten. Textdokumente, PDFs, Präsentationen, Wikis, Trello, ClickUp, Salesforce, Google Docs, Intranet, Webseiten oder eingescannte Formulare. Eine der Stärken von KI ist die Verarbeitung unstrukturierter (!) Daten. Unvollständig ausgefüllte Formulare, Tippfehler, Mischung von Deutsch und Englisch, unterschiedliche Begriffe, widersprüchliche Aussagen, veraltete und neuere Dokumente, Design das beim Lesen Augenkrebs verursacht oder Seitenlanges Geschwafele in unverständlichen Worten von übermotivierten technischen Koryphäen.
Wie sieht eine Lösung aus
Üblicherweise eine kleine Software, zum Beispiel in Python oder TypeScript programmiert. Die auf einem eigenen Server läuft und Zugriff auf die Datenbasis hat. Sowie eine Vektor-Datenbank für die semantische Suche. Und Zugriff auf eine generative KI, zum Beispiel OpenAI oder eine selbst gehostetes LLM. Sowie ein graphisches User Interface, zum Beispiel als Webseite in HTML/JavaScript oder React implementiert.
Alternativ natürlich auch als komplettes ausführbares Softwarepaket.
Der Benutzer kann dann wie mit einem gewohnten ChatGPT-lik Interface mit der RAG Lösung arbeiten. Natürlich im Corporate Design 😉

Hintergrund: wie funktioniert RAG technisch?
Eigentlich nicht weiter wichtig in der Anwendung. Trotzdem hier kurz erklärt für die Fachbegriffe.
Informationen werden aus den Dokumenten extrahiert und in kleine Textstücke zerlegt, sogenannten Chunks. Man spricht von Chunking oder Splitting. Hier gibt es im Detail viel zu beachten, was in der Beratung schon geklärt werden muss.
Aus diesen Textstücken, Chunks, werden dann mit mithilfe von einem LLM sogenannte Embeddings erzeugt. Ein Embedding für einen Text ist ein langer Vektor, oft mit hunderten oder tausenden Dimensionen, der in jeder Dimension eine spezifische Bedeutung des Texts kodiert. Welche Dimensionen das genau sind, ist kaum nachvollziehbar, da automatisch erzeugt, aber man kann es sich ungefähr so vorstellen: das Wort „Passwort“ hat in der Dimension „Sicherheit“ einen hohen Wert, genauso wie das Wort „2FA“ und das Wort „Multifaktorauthentizierung“. Suche ich später nach „2FA“, werden Ergebnisse mit hohem „Sicherheit“ Wert bevorzugt gefunden – obwohl die Worte „2FA“ und „Multifaktorauthentizierung“ nun wirklich nicht ähnlich sind. Diese Embeddings, Vektoren, werden in einer Vektor Datenbank zum Beispiel ChromaDB gespeichert.
Dieser Prozess des Chunking und Embedding wird initial mit der kompletten Datenbasis ausgeführt, manchmal Ingestion Prozess genannt. Und dann regelmäßig wiederholt, um neue Daten verfügbar zu haben. Beispielsweise mit einem klassischen CRON Job in der Nacht.
Bei jeder Anfrage, wird zuerst eine semantische Suche mit dem Anfragetext in der Vektor Datenbank durchgeführt. Semantisch bedeutet in diesem Kontext, dass nach Texten gesucht wird, deren Bedeutung sehr ähnlich der Bedeutung der Anfrage ist. Zuerst wird der Anfragetext in ein Embedding verwandelt und damit in der Vektor Datenbank gesucht. Das Ergebnis sind zum Beispiel 5 kurze Textfragmente, die genau zur Anfrage passen. Magie.
Diese Textfragmente werden nun in einem gut engineerten Prompt an das LLM übergeben. Die KI macht daraus einen verständlichen Text oder Anleitung.
Fazit
Lassen wir die komplizierten mathematischen Hintergründe einmal weg, so ist eine Retrieval-Augmented Generation (RAG) Lösung in der Praxis vergleichbar mit einem Chat mit DEM Experten im Unternehmen. 24:7 erreichbar. Immer auf dem neusten Stand. Überzeugt?
Alles Liebe, Christian