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.

Kommentar verfassen