Kleine Chatbots mit Insiderwissen

Retrieval Augmented Generation (RAG)

Der sperrige Titel heißt soviel wie „wissensgestützte Textgenerierung durch Abruf externer Informationen".

Das RAG-Verfahren beschreibt, wie man Chatbots mit eigenem, selbst bestimmten Wissen zu Chatbots mit Insiderwissen erweitern kann, und das ohne großen Aufwand.

Es ermöglicht Unternehmen, ihre eigenen Systeme zu bauen. So können auch mittelständische und kleinere Unternehmen KI-Anwendungen unter vollständig eigener Kontrolle einrichten, auf ihre Anwendungsfälle zugeschnitten und unabhängig von den großen (meist US-amerikanischen) Providern. Die Zutaten dazu sind:

  • ein gängiges Sprachmodell (LLM), vorzugsweise ein Open-Source-Modell, das idealerweise lokal (on premises) installiert werden kann,
  • eine aufbereitete interne Datensammlung (z.B. Produkt- und/oder Prozessbeschreibungen, beliebige andere firmeninterne Dokumentensammlungen oder Wissensdatenbanken) und
  • Software zur Herstellung der Verbindung des Chatbots mit dem Sprachmodell.

Sprachmodelle

Es muss nicht immer ChatGPT und das dahinter steckende Sprachmodell (LLM) oder Microsoft Copilot sein. Der Markt bietet inzwischen eine Reihe wesentlich kleinerer Modelle mit sehr unterschiedlichen Lizenzen, darunter eine Menge von open source- oder zumindest open weight-Produkten (Erklärung open weight zeigen).

Die gängtigen Chatbots wie ChatGPT, Gemini oder auch das chinesische DeepSeek sind vortrainiert. Ihr sogenanntes Wissen steckt in Milliarden bis Billionen Verbindungswerten ihrer künstlichenn Neuronen, die ihnen in einem sehr teuren und aufwändigen Training beigebracht wurden. Diese Verbindungswerte sind Teil des Geschäftsgeheimnisses der Anbieter und den Kundenn nicht zugänglich. Open Weight bedeutet, dass diese Verbindungswerte der verehrten Kundschaft zugänglich sind und verändert werden können. So kann die mit eigenem Wissen erweiterte Datenbasis nachtrainiert werden, ein Verfahren, das weit weniger aufwendig ist als ein völlig neues Basistraining.

Es gilt allerdings, einige Besonderheiten zu beachten:

  • Das benutzte Sprachmodell muss über ein API für die Programme verfügen, mit denen man es verbinden will und die das eigene Wissen verwalten.
  • Es muss sehr lange Prompts verarbeiten können. Einige Tausend Token sollte dieses sog. Context Window schon groß sein. Je größer, je lieber, doch es müssen nicht Hunderttausende oder Millionen Token sein wie bei GPT-4-Turbo, Claude 3, Gemini 1.5 Pro oder Mistral Large.
  • Es muss aus mehreren Texten die für die Aufgabe relevaten Teile erkennen und zu einer konsistenten Antwort zusammenfügen können. Z. B. kann man mit einem Needle-in-the-Haystack-Test prüfen, ob das Modell für die Aufgabe in großen Textmengen relevante Passagen erkennt, sie im Gedächtnis behält und sie zu einer brauchbaren Antwort zusammenfassen kann.

Chatbots auf der Basis großer Sprachmodelle wie ChatGPT oder Gemini schicken sich bekanntlich an, Fragen zu allen Lebensumständen zu beantworten, können inzwischen im Internet suchen, wenn ihr antrainiertes Wissen nicht aktuell ist, haben aber keinen Zugriff auf das Spezialwissen des Unternehmens.

Jedes hinreichend große LLM kann mithilfe der Retrieval Augmented Generation-Methode (RAG) ohne aufwändiges Fine-Tuning dazu benutzt werden, auch Antworten auf der Grundlage von internen Dokumenten zu erzeugen.

Entscheidet man sich für ein Open-Source- oder ein downloadbares Open-Weight-Produkt, so kann man die Abhängigkeit von den Big-Tech-Anbietern vollends reduzieren.

Aufbau eines Systems nach RAG

Man muss sich einig sein, welche Ziele das System erfüllen soll und welches interne Wissen es seinen Benutzerinnen und Benutzern später liefern soll. Vor diesem Hintergrund wählt man ein geeignetes Sprachmodell (LLM) aus. Ein kleineres oder Open Source-Modell wird nicht die inzwischen perfektionierte Sprachdarstellung bieten und auch nicht über ein vergleichsweise umfangreiches Allgemeinwissen wie die kommerziellen Spitzenmodelle verfügen, aber das braucht es auch nicht für unternehmensinterne Zwecke. Es gibt reichlich Angebote für verschiedene Ansprüche.

Als nächstes muss man entscheiden, welches unternehmensinterne Wissen man mit dem Sprachmodell kombinieren will, z.B. Produkt- oder Prozessbeschreibungen, Handbücher, Rezepturen, Compliance-Regeln, Betriebsvereinbarungen...

Dieses externe Wissen muss nun aufbereitet werden. In einem ersten Schritt wird es in kleinere Elemete unterteilt, bei Texten z.B. in Abschnitte von wenigen hundert Wörtern. Diese Abschnitte werden in sog. Embeddings umgewandelt und in einer Vektordatenbank gespeichert (Details des Embedding erklären).

Computer können eigentlich nur rechnen und nichs „wissen“ oder „verstehen“. Wenn wir von „Wissen“ reden, meinen wir damit nur das gespeicherte Datenmaterial. Embedding heißt der Prozess, der Daten für die spätere Verarbeitung vorbereitet. Bedeutungen, die wir Menschen inhaltlich verstehen, werden für Computer nur als Beziehungen zu anderen Bedeutungen gespeichert. Von ihren Inhalten „weiß“ das System nichts.

Diese Beziehungen werden in einem mathematisch künstlichen Raum, einem sog. Semantischen Raum, als Vektoren dargestellt. Dreidimensional kann man sich das noch gut vorstellen, als Pfeile, die irgendwo hinzeigen. Der Endpunkt einens solchen Pfeils ist dann der sog. semantische Ort (ein Beispiel ansehen). Das Einzige, was man jetzt weiß, ist, dass nahe beieinander liegende Vektoren, also Pfeile, die an benachbarte Ort zeigen, ähnliche Bedeutungen symbolisieren. Was diese Bedeutungen wirklich sind, „weiß“ das Modell nicht und braucht es auch nicht zu wissen. Sein „Wissen“ besteht nur aus Wahrscheinlichkeiten für aufeinanderfolgende Begriffe, und das reicht aus, um eine brauchbare Antwort zu liefern.

Dieses Ergebnis wird dann gerne als „semantisch indizierter Wissensraum“ bezeichnet.

Es ist nicht wie bei den großen Sprachmodellen, deren aktuelles „Wissen“ an den Stichtag seines sehr aufwändigen Trainings und ggf. Nachtrainings gebunden ist. Zusätzliches unternehmensinternes Wissen kann jederzeit hinzugefügt werden, muss nur den Embedding-Prozess für die Vektor-Datenbank durchlaufen und steht dann zur Verfügung. Es braucht kein eigenes Training mehr.

Sorgfalt bei der Vorbereitung

In diese vorbereitenden Schritte muss man allerdings eine Menge Sorgfalt stecken. Das spätere System hängt entscheidend von der Qualität seiner Daten ab. Wer das nicht beachtet, den bestraft das Schicksal. Hier das Wichtigste:

Man muss die Daten der externen Wissensquellen in semantisch sinnvolle Abschnitte, sog. Chunks, teilen, darauf achten, dass sie kompakt und von ungefähr gleicher Größe sind (z.B. 200-500 Wörter), sie für eine später guter Auffindbarkeit indexieren und mit Metadaten versehen, z.B. mit Zeitstempeln, Quellenangaben, Titeln, Autoren, Fundstellen im Internet, je nach Verwendungsbedarf. Für das anschließende Embedding und Speichern in einer Vektordatenbank müssen sie von Sonderzeichen und Tags, z.B. bei Webseiten den Style-Informationen, bereinigt werden.

Es gibt eine Menge softwaretechnischer Hilfsmittel für diese Arbeiten, für das Zerlegen in Chunks, das Extrahieren formatspezifischer Sonderzeichen und sog. Embedding-Engines für die Speicherung in einer Vektor-Datenbank. Das Angebot verbessert sich fast im Monatstakt.

Hilfreich: Die Empfehlungen des Kaiserslauterner Fraunhofer-Instituts für Experimentelles Software-Engineering (IESE).

Je mehr Automatisierung man für diese Arbeiten einsetzt, desto besser muss die Supervision dieser Prozessschritte sein. Das Arbeiten mit unzureichend qualifiziertem Personal wird sich mit Qualitätsdefiziten bei der Nutzung rächen.

Zusammengefasst: Man braucht ein Sprachmodell, eine Vektordatenbank, Software für das Embedding (die Erzeugung der Vektoren aus den Texteinheiten) und etwas Hilfsssoftware zur Unterstützung vorbereitender Arbeiten sowie das Orchestrieren der sog. RAG-LLM-Pipeline. Beachtlich viele dieser Produkte sind als open source zu haben.

Was geschieht bei der Abfrage eines Benutzers?

Bei der Benutzung des Systems geschieht - kurz zusammengefasst - Folgendes:

  • Zuerst wird die Benutzerabfrage auch in Embeddings, also in Vektoren umgewandlelt.
  • Dann werden in der Vektordatenbank des externen Wissens mit Hilfe einer Ähnlichkeitssuche die Embeddings der geeignetsten Textpassagen (meist zwischen 5 und 10) herausgesucht und in Text zurückverwandelt.
  • Diese Fundstellen werden nach errechneten Wahrscheinlichkeiten für ein nützliches Ergebnis gewichtet und in das Prompt der Benutzerin oder des Benutzers als zusätzliches Kontextwissen eingebettet.

Das so erweiterte Prompt wird nun in das Sprachmodell geschickt und nach dessen üblichen Regeln weiterverarbeitet (Für technisch Interessierte: Die einzelnen Verarbeitungsschritte zeigen).

Die ursprüngliche Benutzereingabe wird analysiert. Daraus wird ein Embedding-Vektor gebildet. Mit diesem Vektor als Suchschlüssel wird die externe Dokumentensammlung durchsucht, indem es (nach einem festlegbaren bzw. vom Sprachmodell abhängigen Verfahren) den Ännlichkeitswert des Benutzer-Vektors mit den Vektoren aus der Dokumentensammlung vergleicht. Die Dokument-Abschnitte (Chunks) mit der höchsten Ähnlichkeit werden ausgewählt, typischerweise drei bis zehn. Es sollen nicht zu viele sein, denn zu viele dann teilweise irrelevante Passagen verschlechtern das Ergebnis. Sie werden nun als Kontext gemeinsam mit dem alten Prompt zu einem neuen Prompt zusammengefügt.

Dieses erweiterte Prompt, also Systemanweisungen, Kontext und ursprüngliche Benutzeranfrage werden nun nach dem üblichen Verfahren behandelt: Alles wird in Token zerlegt und in der ersten Schicht des Sprachmodells, der Embedding-Schicht vektorisiert und dann an die nächsten Schichten des Modells weitergeschickt.

Die meisten Sprachmodelle sind nach dem Prinzip der Neuronalen Netze gebildet, haben

  • nach der ersten Embedded-Schicht
  • je nach Größe des Modells unterschiedlich viele sog. Transformer-Schichten, die über eine Aufmerksamkeits-Funktion (Self-Attention-Block) verfügen und
  • am Ende eine Ausgabeschicht, die aus der intern verwendeten Mathematik wieder Sprache macht.
Weitere Details zeigen.

Die verschiedenen Schichten (beliebte Größen sind 48, 96 oder 120 solche Schichten, auch Layers genannt) sind je nach verwendetem Sprachmodell auf unterschiedliche Aufgaben spezialisiert, z.B.

  • frühe Schichten für das Erkennen von Satzzeichen, Klammern, Substantiven und Verben, für Subjekt-Prädikat-Objekt-Beziehungen,
  • mittlere Schichten für zusammenhängende Elemente, Zuordnungen von Pronomen, Erkennen von logischen oder kausalen Strukturen, satzübergreifenden Strukturen, stilistischen Merkmalen und allgemeines Wissen
  • späte Schichten für die Ausführung bestimmter Aufgaben wie Zusammenfassungen, Übersetzungen, Strukturierung in Listenform, Glätten erkannter Ungenauigkeiten oder Fehlern aus vorangegangenen Schichten und
  • die letzte Schicht für die Berechnung der Wahrscheinlichkeiten für das nächste auf ein Wort folgende Wort.

Die letzte Schicht sorgt endlich dafür, dass die mathematischen Repräsentationen in der internem Verarbeitung wieder in normale Sprache dekodiert werden.

Jede Transformer-Schicht verfügt über eine Aufmerksamkeitsfunktion (Self-Attention-Block). Dabei wird für jedes Token berechnet, wie stark es sich auf alle anderen Token der Eingabe bezieht. Alles, was sich auf gemeinsame Schlüsselbegriffe bezieht, erhält einen hohem Aufmerksamkeitswert, alles mit wenig Beziehungen zu anderen Eingabeelementen erhält eine niedrigere Bewertung.

Dabei „weiß“ der Aufmerksamkeits-Algorithmus nicht, ob eine bewertete Einheit ursprünglich aus der externen Wissensbasis oder dem Sprachmodell stammt. Nur wenn man bei der Aufbereitung der externen Wissensbasis für geeignete Merkmale für die Inhalte, sog. Tags, gesetzt hat, kann das Modell erkennen, dass es sich um externen Kontext handelt und dies auch im Ergebnis darstellen, z.B. als Zitat.

Das Sprachmodell nutzt dabei seine in seinem Training erworbene interne Wissensbasis und das hinzugefügte Kontext-Wissen, um eine Antwort zu erzeugen. Viele Modelle bieten die Möglichkeit, zu beeinflussen, welches Wissen - intern oder extern - wie stark bewertet werden soll.

Das Sprachmodell hat hauptsächlich dafür zu sorgen, dass ggf. Begriffe erklärt, Lücken aus dem externen Kontextwissen gefüllt, Zusammenhänge hergestellt und die Antwort in grammatisch richtiger Sprache mit dem für das Modell charakteristischen Sprachmuster ohne logische Fehler gebildet wird. Das interne „Wissen“ aus dem Modell liefert also die Sprachkompetenz, allgemeines Verständnis und besorgt die Strukturierung der Antwort, während das externe „Wissen“ hauptsächlich für die aktuellen fachbezogenen Inhalte sorgt.

Die Vorteile

Über ein System zu verfügen, das Antworten auf Grundlage von internen Dokumenten bzw. Datenbanken liefern kann, bietet in vielen Unternehmensbereichen Vorteile. Es kann Montageanleitungen, Handbücher, Wartungspläne, Sicherheitsvorschriften und Richtlinien jedweder Art in benutzerfreundlicher Form, wenn man will per Spracheingabe, auf jeden Fall ohne umständliche Suchfunktionen präsentieren, und vor allem interne Schulungsunterlagen, Arbeitsanweisungen und Maschinendokumentationen interaktiv nutzbar machen.

Ähnlich nützliche Aufgaben bieten sich im Vertrieb an. Es kann Produktkataloge, Preislisten, Kundenkontakthistorien und Marktberichte durchsuchen und bei der Erstellung von kundenspezifischen Angeboten behilflich sein, kann vor Kundenterminen automatisch individuelle Briefings (letzte Bestellungen, letzte Besuche, offene Tickets, bevorzugte Produkte oder Services usw.) vorbereiten.

Die Möglichkeiten lassen sich eindrucksvoll erweitern, wenn man solche Systeme mit einstufigen Agentensystemen kombiniert und mit den Automatisierungsmöglichkeiten bescheiden umgeht, z.B. im Rahmen von Predictive Maintenance für die Erstellung von Vorschlägen für Instandhaltungspläne.

Die genannten Beispiele können zeigen, wie sich für die Mitarbeitenden erfahrbar umsetzten lässt, dass die KI-Technik zur Erleichterung und Verbesserung der Arbeit eingesetzt werden kann und nicht zum Ersatz der Arbeit.

Lokaler Betrieb

Entscheidet man sich für den Einsatz von Open Source-Produkten für das Sprachmodell, so kommen weitere, möglicherweise wettbewerbsentscheidende Vorteile dazu:

  • Wegfall von nutzungsabhängigen Kosten des laufenden Betriebs, nur interne Wartungskosten, keine Limitierungen und keine Abhängigkeit von Preiserhöhungen seitens des Anbieters, alle Kosten bleiben im eigenen Verantwortungsbereich.
  • Man behält die vollständige Kontrolle über die Unternehmensdaten und hat keine Probleme mit der Drittstaatenübermittlung in Länder, in denen kein EU-Recht gilt (jedenfalls bei lokaler Installation oder einem private cloud-Betrieb).
  • Datenschutz und Schutz des geistigen Eigentums lässt sich besser gewährleisten, Unabhängigkeit von US-Cloud-Gesetzen (z.B. Cloud Act).
  • Man kann jederzeit das Sprachmodell wechseln und vermeidet die bei kommerziellen Produkten meist gegebene Plattformabhängigkeit.
  • Der Zugriff auf den Quellcode des Modells erlaubt eine sehr flexible Anpassungsstrategie der Bereitstellung des internen Wissens in der RAG-Pipeline.
  • Lokal installierte Open Source-Systeme lassen sich in kritischen Situationen oder bei Produktionsanlagen mit eingeschränkter Netzverbindung auch ohne Internet-Kontakt betreiben.
  • Die Aktivitäten der Open Source-Communities sorgen für Teilhabe am aktuellen Stand der Technik.
  • Das Verfahren fördert den Aufbau von internem KI-Know-how auf Benutzer- und Entwicklerebene - mit Blick in die Zukunft ein wertvoller Kompetenzerwerb.

Ressourcen

Eine on premises-Nutzung ist natürlich mit Hardware- und Softwarekosten verbunden. Die grundlegenden Anforderungen sind eher bescheiden, es braucht

  • einen LLM-Server für den Betrieb des ausgewählten Sprachmodells,
  • einen Embedding-Server für die Umwandlung der unternehmensinternen Dokumente in Vektoren
  • mit einer Vektordatenbank für die Speicherung und Durchsuchung während des Betriebs sowie
  • Steuerungssoftware für den Betrieb der RAG-LLM-Pipeline.

Für einen Pilotversuch mit einem Dutzend Benutzern lässt sich das alles auf einem einzelnen Rechner für wenige tausend Euro unterbringen.

Bei einer Anwendung bis zu hundert Benutzer wird es dann etwas anspruchsvoller. ChatGPT befragt nach dem erforderlichen Aufwand meint, mit 10 bis 25 Tausend Euro wäre man gut bedient (Antwort von ChatGPT zeigen).

Frage: Welche Hardware braucht man für den on premise-Betrieb von RAG-LLM-Systemen?
Stand 16. Oktober 2025

.....

......

Für einen Großbetrieb im Rechenzentrum eines Konzerns muss man dann - je nach Anspruch - mit einem Betrag ab 150.000 € rechnen. Glaubt man ChatGPT weiter, so ist je nach Modell nach spätestens 12 bis 18 Monaten der Break-Even-Punkt gegenüber kommerziellen Cloud-Modellen erreicht.

Fazit

Die geschilderten Vorteile sind sicher kein Quantensprung in Sachen Produktivität. Aber wenn die These stimmt, dass die Künstliche Intelligenz eine Universaltechnik ist und Einzug in alle computerunterstützten Arbeitssysteme nehmen wird, dann macht die kontinuierlich wachsende Summe kleiner Verbesserungen die Zukunft aus. Umso wichtiger ist dann der Aufbau einer Kompetenz in Sachen KI-Technik.

Der Start mit einem kleinen Pilotbetrieb ist jedenfalls ein sinnvollerer Beitrag als das Warten auf Taten nach der vollmundigen Ankündigung AI first der EU-Frontfrau von der Leyen. Es ist schön, wenn wir die neuen großen KI-Rechenzentren haben, auch wenn sie nach dem Gießkannenprinzip in Europa verteilt wurden. Für eine ernstzunehmende digitale Souveränität brauchen wir vor allem KI-Kompetenz.

 

Karl Schmitz • Oktober 2025, Update November 2025