»ChatGPT in der Industrie« – Teil 3
Der intelligente Assistent
Dieser Teil der Artikelserie »ChatGPT in der Industrie« fokussiert sich darauf, wie die Technologie der Large Language Models (LLM) in Form von intelligenten Assistenten, Einzug in industrielle Produkte und Dienstleistungen hält.
Wie können Benutzerschnittstellen von komplexen industriellen Produkten und Dienstleistungen möglichst einfach und verständlich gehalten werden? Verlockend wäre in diesem Zusammenhang doch, jederzeit einen intelligenten Assistenten zur Hand zu haben? Dieser würde Fragen und Anweisungen unabhängig von der Sprache verstehen und dann präzise die erforderlichen Informationen für die Behebung eines Fehlerzustandes oder für den nächsten optimalen Bedienungsschritt liefern.
Dieser Wunsch nach „Conversational Interfaces“, also dialogorientierten künstlichen Intelligenzen, ist nicht neu. Allerdings war der Weg von einfachen textbasierten Programmen bis hin zu komplexen Systemen, die auf Natural Language Processing (NLP) und Machine Learning (ML) basieren, technisch gesehen mühsam. Vielen dürfte noch die sprechende Büroklammer in den Microsoft Office Programmen im Gedächtnis sein beziehungsweise aktuellere Varianten wie Cortana ebenfalls von Microsoft, der Sprachassistent Siri von Apple oder Alexa von Amazon. Von einer anfänglichen Qualität, die uns eher zum Schmunzeln gebracht hat als wirklich hilfreich zu sein, haben sich Sprachassistenten in den letzten Jahren als effizientes Werkzeug für eine Vielzahl von Anwendungen etabliert – vom Kundenservice bis hin zu interaktiven Lernplattformen.
>> Lesen Sie Teil 1 der Artikelserie »ChatGPT in der Industrie«
Aber mit dem Erscheinen von ChatGPT beziehungsweise gpt-4 von OpenAI hat nochmals eine tiefgreifende Änderung im Bereich der Chatbots und Conversational Interfaces stattgefunden. Neben einem massiven Qualitäts- und Flexibilitätssprung durch den Einsatz von LLMs für Chatbots ist nun auch die technische Umsetzung deutlich leichter. Ein fein ausgearbeitetes Regelsystem wie es früher die zwingende Grundlage für das Chatbot-Verhalten war, ist nun nicht mehr erforderlich.
Dieser Artikel konzentriert sich speziell auf die technische Möglichkeit mit LLMs, da sie die Tür der Dialog gesteuerten Benutzerschnittstellen für industrielle Produkte und Dienstleistungen weit öffnet und damit die bisherigen sehr hohe Einstiegshürden praktisch entfallen.
Spezifische Anfragen mit lokalem Wissen
Der einfachste Weg wäre es, einen Chatbot direkt auf einem der großen Sprachmodelle (LLMs) aufzubauen. Für allgemeine Anfragen wären wahrscheinlich bei Modellen wie gpt-4 sogar durchaus hilfreiche Antworten zu erwarten. Der Nachteil besteht jedoch darin, dass das Modell prinzipbedingt nicht den spezifischen hersteller- und maschinenbezogenen Kontext oder veränderliche Betriebsdaten kennen kann. Um dieses Problem zu lösen, hat sich eine Technik namens Retrieval-Augmented-Generation (RAG) etabliert. Der RAG-Prozess funktioniert zusammengefasst wie folgt:
- Retrieval (Abruf): Wenn das Sprachmodell eine Anfrage erhält, sucht es zuerst in einer externen Datenbank oder einem Datensatz nach relevanten Informationen. Diese Datenbank kann aus einer Vielzahl von Dokumenten bestehen, wie Betriebshandbücher als PDF, oder ausgewählte Webseiten zum Kundensupport oder anderen Informationsquellen.
- Augmentation (Erweiterung): Die abgerufenen Informationen werden dann vom Sprachmodell genutzt, um die Antwort zu informieren oder zu „erweitern“. Das bedeutet, dass das Modell nicht nur auf seinem internen Wissen, das während des Trainings erworben wurde basiert, sondern auch auf spezifischen, aus der Datenbank abgerufenen Informationen.
- Generation (Generierung): Schließlich generiert das Modell eine Antwort oder einen Text, der sowohl auf seinem eigenen Training als auch auf den konkret abgerufenen Informationen basiert.
- Der Vorteil von RAG liegt in der Fähigkeit, aktuellere und spezifischere Informationen zu liefern, als es ein Modell könnte, das ausschließlich auf den Modell-Trainingsdaten basiert. Besonders wichtig ist dies im Kontext industrieller Produkte, bei denen es auf sehr spezifische Informationen ankommt. Allerdings ist die Qualität und Relevanz der Antworten stark von der Qualität der vorhandenen abgerufenen Daten abhängig. Die Antworten sind nur so gut wie die Daten im Hintergrund. Die Stärke der künstlichen Intelligenz kann die Lücken der Datenbanken und Informationen nicht ausgleichen.
Der vollständige detaillierte Ablauf eines auf RAG basierenden Chatbots stellt sich folgendermaßen dar (Bild 1):
In der Vorbereitungsphase (grün hinterlegt) werden alle relevanten Dokumente und Informationen zusammengestellt, eingelesen und mittels eines meist vergleichsweise einfachen und kleinen „Embedding Modells“ in Vektoren überführt und in einer Vektordatenbank für die späteren Zugriffe des Chatbots gespeichert.
>> Lesen Sie Teil 2 der Artikelserie »ChatGPT in der Industrie«
Der Ablauf im Falle eine Benutzeranfrage ist durch die blauen Pfeile in der Grafik symbolisiert. Hier passieren nun mehrere Schritte, um den kombinierten Prompt zu erstellen. Die Benutzeranfrage wird einerseits über das Embedding Modell geleitet und genauso wie die vorab eingelesenen Informationen vektorisiert. Für diesen „Anfrage-Vektor“ wird nun mathematisch die Information aus der Vektordatenbank ermittelt, welche die größten Übereinstimmungen hat. Meistens werden in diesem Schritt die 3 - 5 gleichartigsten Informationsblöcke von der Vektordatenbank zurückgegeben und je nach Datenbank und Systemeinstellung mit weiterem Kontext vervollständigt. Dies erhöht um ein weiteres den Informationsgehalt der Suchergebnisse. Nun wird der letztendliche Anfrage-Prompt, bestehend aus der ursprünglicher Benutzeranfrage, dem Prompt-Template und den Sucherergebnissen, zusammengestellt und an das LLM geschickt. Dieses gibt dann die Antwort für den Benutzer zurück. Eine besondere Bedeutung kommt dabei der Prompt-Vorlage als Sammelpunkt aller Informationen zu.
Beispiel für eine Promptvorlage
Verhalten und Regeln: Maschinen- assistent: Du bist ein freundlicher, unterstützender Assistent, der für den optimalen Maschinenbetrieb konzipiert ist. Du beantwortest Fragen ausschließlich basierend auf den dir gegebenen Informationen und gibst keine spekulativen oder meinungsbezogenen Antworten. Bei Bedarf bittest du um Klarstellung und weitere Informationen. Jegliche Fragen, die außerhalb des maschinenbezogenen Kontexts sind, lehnst du höflich ab. Deine Hauptfunktion besteht darin, Bediener zu unterstützen den optimalen Betriebspunkt aufrechtzuerhalten. Du bietest Anleitungen zum allgemeinen Maschinenbetrieb und gibst auf Anfrage Ratschläge zur besseren Nutzung. Bei allen deinen Antworten verweist du konsequent auf die dir gegebenen originalen Datenquellen beziehungsweise lieferst den konkreten Verweis auf die entsprechende Stelle im Bedienerhandbuch.
Kontext: <hier kommt der Kontext aus der Vektordatenbank>
Frage: <hier kommt die eigentliche Benutzeranfrage>
Technische Implementierung
Bild 2. Beispielhafte Konstellationen von Softwareagenten zur Lösung komplexer Probleme mit dem Software Framework „autogen“.
© MicrosoftFür eine technische Umsetzung gibt es inzwischen Anbieter von Baukastensystemen oder, wer seinen Chatbot genauer kontrollieren will, auch leistungsstarke Software-Frameworks mit jeweiligen besonderen Stärken und Schwächen. Wer für sich einen schnellen Proof-of-Concept eines Chatbots mit lokalen Daten selbst erstellen möchte, kann beispielsweise folgende Komponenten einsetzen. Die einfache Verfügbarkeit und liberalen Lizenzbedingungen der Open Source Komponenten waren neben der technischen hohen Qualität der ausschlaggebende Grund für die hier getroffene Technologieauswahl:
- Benutzeroberfläche mit einer Web-Visualisierung für Chatbots „Chainlit“
- Datenverarbeitung mit dem Framework „llama_index“
- Vektordatenbank „Postgres“ (Vorteil auch für reine Stichwortsuchen geeignet)
- Embedding Modell von OpenAi
- gpt-4 als LLM von OpenAi
Chatbot der nächsten Generation
Es ist zu anzunehmen, dass wir uns an die neuen komfortablen und einfachen Benutzerschnittstellen gewöhnen und die Erwartungen an die mögliche Komplexität der Fragestellung und auch Verlässlichkeit in Bezug auf die zu erwartenden Ergebnisse schnell ansteigen. Neben stärkeren Sprachmodellen ist ein weiterer großer Hebel die Erweiterung von Chatbots mit mehr oder weniger sichtbaren KI-Agenten mit besonderen Fähigkeiten und Werkzeugen, die sich im „Team“ selbst korrigieren, ergänzen und bewerten können und so die Antwortqualität nochmals wesentlich verbessern. Dies ist aktuell ein sehr dynamisches Softwareentwicklungsfeld. Neben anderen Software-Frameworks ist besonders das Framework „autogen“ von Microsoft in besonderer Weise für die Konfiguration von Agentennetzwerken in unterschiedlichsten Variationen ausgelegt (Bild 2).
Zusammenfassend lässt sich sagen, dass die Technik bereitsteht, Chatbots als ein weiteres Element für die einfache und intuitive Bedienung komplexer industrieller Anwendungen zu integrieren. Diese Kategorie der neuen Conversational Interfaces hilft dabei, grundlegende Bedienerprobleme die durch Mehrsprachigkeit und kulturelle Unterschiede, spezielles Fachchinesisch, eine große Informationsflut oder vernetzte Zusammenhänge entstehen, leichter zu lösen. Im Zusammenspiel mit einer guten graphischen Benutzerführung dürfen wir uns auf ein ganz neues Level im Umgang beziehungsweise in der natürlich sprachlichen Konversation mit technischen Systemen freuen.
| Anwendungsfälle von Chatbots |
|---|
|
Kundenservice: Chatbots können rund um die Uhr Fragen beantworten und Informationen bereitstellen, wodurch sich die Kundenzufriedenheit verbessert und der Arbeitsaufwand für den Kundenservice reduziert. Mitarbeiter- und Bedienerunterstützung: Chatbots können als virtuelle Assistenten dienen, die Mitarbeitern und Maschinenbedienern bei der Beantwortung von Fragen oder der Durchführung komplexer Aufgaben helfen. Personalisierte Lern- und Unterhaltungserlebnisse: Chatbots können auf die individuellen Bedürfnisse und Vorlieben von Nutzern eingehen und so ein personalisiertes Erlebnis bieten. |

















