Eigene Dokumente mit ChatGTP nutzen

08.06.2023
Eigene Daten können mit ChatGTP und Azure Cognitive Search einfach erschlossen werden. Dieser Artikel enthält einige Anmerkungen zu einem Projekt von Microsoft, welches genau dies leistet.

KI Tools wie ChatGTP entwickeln für viele Organisationen erst dann einen größeren Nutzen, wenn es möglich wird die eigenen Daten darin zu verwenden. Microsoft hat vor einer Weile ein Projekt vorgestellt, welche es erlaubt, eigene Dokumente zu indizieren und per ChatGTP abzufragen. Dies ist eine gute Gelegenheit, um eigene Daten per ChatGTP zu erschließen. Eine Beschreibung für das Projekt findet sich unter

https://techcommunity.microsoft.com/t5/ai-applied-ai-blog/revolutionize-your-enterprise-data-with-chatgpt-next-gen-apps-w/ba-p/3762087?WT.mc_id=aiml-89446-dglover

In dem Repo https://github.com/Azure-Samples/azure-search-openai-demo/ gibt es eine Anleitung, wie das entsprechende Projekt eingerichtet wird. Ohne lokale Rechte als Administrator geht es schon mal nicht. Ich möchte jetzt nicht im Einzelnen erklären was Sie wie machen müssen, die Artikel sind wirklich gut. Vielmehr möchte ich einige Anmerkungen machen, welche im Artikel nicht enthalten sind.

Damit sie das Projekt überhaupt nutzen können, muss in Ihrem Azure Mandaten OpenAI aktiviert sein. Sie können in Azure die OpenAI Ressource immer aufrufen. Wenn Sie noch keine Freischaltung haben, wird Ihnen ein Link angeboten, welcher auf ein Formular verweist. Nach dem Ausfüllen und Versenden des Formulars hat es bei mir nur einen Tag gedauert, dann stand OpenAI zur Verfügung.

In dem Formular wird nach einer Region gefragt, in welcher OpenAI aktiviert werden soll. Bei mir war das EastUS als einzige Option. Wenn man das Projekt einrichtet, fragt dieses ebenfalls nach einer Region und schlägt standardmäßig EastUS2 vor. Wenn man diesen Standard bestätigt, schlägt das Projekt fehl. Man kann nur die Region verwenden, welche man im Formular angegeben hat.

Das Projekt baut ein Verzeichnis auf, in welcher sich in der root der Ordner data befindet. Dieser enthält die Dokumente, welche in der Azure Cognitive Search indiziert werden.  ChatGTP fragt dann diese Suche ab. Sie können natürlich auch eigene Dokumente in diesem Ordner ablegen, aber nur als PDF. Wenn Sie ein anderes Format wünschen, wie z.B. docx, müssen Sie den Quellcode in Python anpassen. Findet der Parser ein Dokument, welches kein PDF ist oder er kann das PDF nicht öffnen, stützt das Programm ab.

Im folgenden Screenshot habe ich den schon vorhandenen PDF Dateien einige Märchen der Gebrüder Grimm hinzugefügt und dann Inhalte abgefragt. Dabei sieht man links die Abfragen und rechts die gefundenen Dokumente.

Im Projekt wird die Azure Cognitive Search benutzt. Dies impliziert, dass Sie die Kosten im Auge behalten sollten. Die Suche kann vergleichsweise teuer werden. Außerdem benötigt das Indizieren seine Zeit. Wenn man bei den mitgelieferten PDF Dateien bleibt, sind dies mehrere Stunden.

Da die Azure Cognitive Search benutzt wird, ist die Möglichkeit dieses Projektes nicht auf Dokumente begrenzt. Praktisch kann jede Datenquelle verwendet werden, welche von der Azure Cognitive Search indiziert werden kann. Dies eröffnet viele neue und interessante Möglichkeiten. Gerade auch die Azure Cosmos Datenbank, mit ihrer optimierten Verarbeitung von JSON Dokumenten bietet sich hier an. Oder eine Microsoft SQL Datenbank, welche ein ERP indiziert. Ideen gibt es viele.

Fazit

Das Projekt läßt sich vergleichsweise einfach aufsetzen, braucht aber eine Weile bis sich Ergebnisse zeigen. Diese wiederum sind fantastisch und eröffnen ungeahnte Möglichkeiten. Dadurch, dass ausschließlich Cloud Komponenten verwendet werden und der Quellcode offen ist, lässt sich die Lösung auch einfach in eigene Apps einbauen.

Wir machen jetzt auch ChatGPT. Oder doch nicht?

Gefühlt redet jeder und jede gerade über ChatGPT und wie wunderbar das ist. Beispielhafte Abfragen werden gepostet und prognostiziert, dass dies „alles verändern“ wird.

Prognosen sind schwierig, vor allem, wenn sie die Zukunft betreffen“ (Mark Twain).

Was auffällt bei diesen ganzen Abfragen; diese beziehen sich oft auf mehr oder weniger private oder sehr spezielle Themen. Das ist auch nicht weiter verwunderlich, ist doch ChatGPT mit öffentlichen Daten trainiert wurden. Was also nützt mir das jetzt im beruflichen Umfeld? Klar, wenn sie Artikel schreiben oder statt Wikipedia sich Zusammenhänge von ChatGPT erklären lassen, ist das eine prima Sache. Aber die meisten Beschäftigten in einem Unternehmen haben andere Probleme. Die wollen wissen, was die Kantine heute anbietet und wie diese ausgelastet ist. Die möchten Büromaterial bestellen und ihr Passwort zurücksetzen. Führungskräfte müssen neue Mitarbeitende einarbeiten und benötigen dafür verschiedene Prozesse über die sie den aktuellen Stand benötigen. Oder sie haben im Hintergrund ein machine learning Modell, welches ihnen ständig Analysen aus ihrem ERP durchrechnet. Diese Analysen können dann einfach per natürlicher Sprache in einem Chatbot abgefragt werden. Und gleichzeitig auch noch Hinweise geben, was interessant wäre. Die Möglichkeiten scheinen endlos, aber nichts davon kann ChatGPT. Und hoffentlich wird es das auch nicht, denn es sind private Daten.

Wie kann man einem Chatbot überhaupt praktikabel in eine Kommunikationsstruktur einbinden? Und wer soll das leisten? Dieser Artikel beschäftigt sich nicht mit der Integration von ChatGPT ins geschäftliche Umfeld, sondern überlegt, wie Sie erst einmal eine einfache ChatBot Lösung mit Microsoft Mitteln einfach und schnell bereitstellen können. Eine (spätere) Integration von ChatGPT fällt dann umso einfacher.

Chatbot basierende Interaktion, auf welchen Kanal auch immer, bestimmt schon heute unsere Kommunikation. Der Kanal kann ein Chat auf einer öffentlichen Website sein, der mich beim Buchen von Leistungen unterstützt. Das kann ein Telefonroboter sein oder das automatische Beantworten von Emails. All diese Kanäle können von einen einzigen Chatbot abgedeckt werden. Diese Art der Kommunikation wird massiv zunehmen, denn viele Prozesse können mit einem Chatbot preiswerter und genauer durchgeführt werden. Kein Manager wird dem widerstehen können. Zeit also, sich mit der Thematik zu beschäftigen, sofern sie dies bisher (hoffentlich nicht) nicht getan haben. Sie können dies natürlich auch versuchen auszusitzen, die Historie zeigt aber, dass dies keine Lösung ist. In Zeiten, in welchen immer schneller fundierte Entscheidungen getroffen werden müssen, sind Chatbots eine hervorragende Möglichkeit Sie dabei zu unterstützen.

Ein Chatbot kann auch nur ein Baustein in einer KI Strategie sein. Viel und vor allem einen schnellerer Gewinn kann mit anderen KI Anwendungen erreicht werden. Das geht von automatischer Bilderkennung und Verarbeitung über maschinelles Lernen bis zu augmented reality. Ein Chatbot sollte nur ein Baustein in einer KI Strategie sein, er ist mit Sicherheit aber nicht das alles heilende Wundermittel. Ich hoffe, sie haben eine solche KI Strategie.

Bei der Integration eines Chatbots stehen sie sowohl vor einer technischen als auch einer kulturellen Herausforderung. Die technische Herausforderung lässt sich relativ einfach lösen. Microsoft bietet dafür mehrere Möglichkeiten an. Einige davon sind

  • das Azure Bot Framework oder
  • der Power Virtual Agent, welcher sowohl eigenständig betrieben werden kann als auch in leicht abgewandelter Form in Teams implementiert ist. Für diesen steht auch schon das nächste Release in den Startlöchern, welche die Erstellung noch einmal vereinfachen wird.

Das Azure Bot Framework ist ein leistungsfähiges Werkzeug zum Erstellen von Chatbots in Microsoft Azure. Hier haben Sie alle Freiheiten, aber gleichzeitig auch den größten Aufwand. Der Power Virtual Agent hingegen bietet nicht die technischen Möglichkeiten wie im Azure Bot Framework, lässt sich aber ungleich einfacher einführen und adaptieren. Und wer es braucht und möchte, eine erste Vorschau bei der Implementierung von ChatGPT in Azure LogicApps gibt es schon.

Abbildung 1 ChatGPT in Azure LogicApps

Die technische Implementierung ist dabei allerdings noch das Einfachste. Diese können Sie auch outsourcen, die kulturelle Herausforderung zumindest nicht komplett. Unter der kulturellen Herausforderung verstehe ich das Bereitstellen der inneren Logik des Chatbots. Welche Themen soll dieser wie behandeln, auf welche Trigger soll er reagieren und welche Antworten soll er liefern? Die Beantwortung dieser Fragen sind entscheidend für die Akzeptanz eines Chatbots.

Wie jeder Einführung einer Kommunikationslösung haben sie auch hier nur einen Versuch. Schlägt dieser fehl, ist es sehr schwierig die Mitarbeitenden für einen zweiten Versuch zu motivieren. Eine Herausforderung ist es auch, den Prozess einer Fachabteilung zu verstehen. Auch dies ist nicht immer die Stärke der IT-Abteilung. Eine gute Chatbot Lösung lässt sich nur zusammen mit den Akteuren entwickeln. Ein Chatbot krank wie jede Software oder besser, wie jede Interaktion, an mangelnder Logik. Die Erfahrung, dass eine solche Lösung mehr Frust als Lust macht, haben wahrscheinlich schon alle.

Wie schon oben erwähnt, lässt sich die Microsoft Lösung einfach in Teams implementieren. Dies ist immer eine gute Idee, findet doch hier eh schon Kommunikation statt. Die Mitarbeitenden können hier einfach oftmals auch mit minimalen Mitteln effektiv unterstützt werden. Wenn Sie einen Chatbot zum ersten Mal in ihrer Organisation einführen, versuchen sie ein vergleichsweise einfaches und zugleich wichtiges Thema zu finden, wie eben zum Beispiel die Beschaffung von Büromaterial. Die Microsoft Chatbot Lösungen können Power Automate benutzen und damit einfach und schnell Workflows anstoßen. Klein starten, groß denken.

Nehmen sie Beratung in Anspruch bei der Planung und Implementierung

Dies betrifft vor allem erst ein einmal die Plattform. Einige mögliche Wege sind oben skizziert. Alle haben ihr Vor- und Nachteile. Sollten Sie zum Beispiel eine schnelle Lösung benötigen und wenig oder keine Entwicklerkapazitäten zur Verfügung haben, ist der Power Virtual Agent das Mittel der Wahl. Sollten Sie auf der anderen Seite eine komplexe Lösung entwickeln und gleichzeitig Entwicklerkapazitäten haben, dann entwickeln Sie den Chatbot mit Azure Bot Framework.

Überprüfen Sie Ihre Implementierung regelmäßig

Einen Chatbot im Unternehmen ist keine fire and forget Anwendung. Ganz im Gegenteil, es ist eine sich ständig entwickelnde, quasi evolutionäre Anwendung. Dieser Punkt ist sehr wichtig, denn aus meiner Erfahrung sehe ich immer wieder, dass solche Themen/Anwendungen komplett der IT überlassen werden und diese sich nach der Implementierung nicht mehr darum kümmert. Dies nicht einmal, weil sie es nicht möchte, sondern weil sie es mangels Kapazitäten nicht kann. Wenn sie einen unternehmensweiten Chat einführen und diesen nicht regelmäßig revisionieren, sparen sie sich das Geld. Machen sie was anderes sinnvolles.

Zusammen mit Kollegen haben wir jahrelange Erfahrung mit dem Thema AI und natürlich auch Chatbots. Gerade für Organisationen, welche mit dem Thema anfangen, haben wir ein attraktives Angebot geschnürt. In drei Tagen machen wir sie fit in Sachen Chatbot und entwickeln mit Ihnen zusammen einen ersten Prototypen. Sie können diesen sofort mit ihrer Zielgruppe im Alltagsgeschäft testen oder wenn er komplexer ist, selber weiterentwickeln. Für diese drei Tage nutzen wir den Power Virtual Agent. Sollten Sie danach ihr Wissen vertiefen wollen, bieten wir weitere Beratungen, unter anderem mit den Azure Bot Framework an. Sprechen sie mich an!