Das Unternehmen OpenAI hat seinen Chatbot ChatGPT Ende des vergangenen Jahres nicht nur mit dem Turbomodus und einem aktualisierten Wissensstand von April 2023 versehen, sondern auch eine KI-Assistentenfunktionalität zur Informationsermittlung eingeführt. Ein wesentlicher Vorteil der neuen ChatGPT-Funktionalität rund um den KI-Assistenten für Online-Hilfe ist, dass diese Recherchefunktion über eine API-basierte REST-Schnittstelle direkt aus bestehenden Anwendungen genutzt werden kann und der Anwendende damit nicht zwischen verschiedenen Oberflächen für seine Anwendung einerseits sowie ChatGPT andererseits wechseln muss.
Inhaltsverzeichnis
Entwicklung eines eigenen KI-Assistenten für Online-Hilfe
Die Assistenten-Funktionalität wird derzeit für folgende Anwendungsbereiche zur Verfügung gestellt:
- Code Interpreter für Python bspw. für die Lösung mathematischer Probleme oder die Generierung von Grafiken.
- Informationsermittlung/-extrahierung („Retrieval“).
- Aufruf von Funktionen in den Assistenten, um zusätzliche Informationen in die aufrufende Anwendung zu integrieren.
In diesem Beitrag beschäftige ich mich mit der Möglichkeit der Informationsermittlung („Retrieval“). Der nachfolgend vorgestellte KI-Assistent für die Online-Hilfe als Technologieprototyp basiert auf den ChatGPT-Sprachmodellen der Version gpt-4-0125 von Ende Januar 2024. Die Assistenten-Funktionalitäten sind derzeit noch im Beta-Stadium, das heißt auch substanzielle Änderungen bspw. an den Schnittstellen können nicht ausgeschlossen werden. Für eine Evaluation durch die Research- & Development-Abteilung bei PASS stellt eine Beta-Version selbstredend kein Hindernis dar.
Was soll dieser Technologieprototyp des KI-Assistenten für Online-Hilfe leisten?
Ziel ist es, die Online-Hilfe unserer Fördermittelmanagementsoftware (PASS FMS) über eine KI-basierte Schnittstelle direkt in der Lösung bereitzustellen. Den Nutzenden soll so die Möglichkeit geboten werden, nicht über die manuelle Suche in der Online-Hilfe oder eine Volltextsuche nach der jeweils relevanten Information zu suchen. Stattdessen sollen sie in natürlicher Sprache Fragen stellen und hierzu individuelle, zielgerichtete Antworten hierzu erhalten. Des Weiteren ist ein Ziel dieser Evaluation zu prüfen, wie einfach ein Assistent in eine bestehende Anwendung integriert werden kann. Nicht Gegenstand des Beitrags ist eine Schritt-für-Schritt-Anleitung, sondern vielmehr eine Vermittlung der Möglichkeiten durch den Technologieprototypen. Die Integration des KI-Assistenten für Online-Hilfe wurde in Java durchgeführt, da das Backend von PASS FMS ebenfalls in Java realisiert ist.
Anlage des KI-Assistenten für Online-Hilfe
Die Anlage des Assistenten über den ChatGPT Playground ist unkompliziert und GUI-basiert möglich. So wird über die Oberfläche definiert, dass der Assistent zur Informationsextrahierung genutzt werden soll („Retrieval“). Des Weiteren ist es wichtig, ein hierfür unterstütztes Sprachmodell auszuwählen, in diesem Fall gpt-4-0125. Anschließend kann die bestehende Online-Hilfe dem Assistenten bspw. im PDF-Format bekannt gegeben werden. Über eine Instruktion kann das Auftreten des Assistenten gesteuert werden, bspw. in welchem Duktus dieser seine Antworten formulieren soll.n
Codierung der Integration des KI-Assistenten für Online-Hilfe
Wie kann nun ein solcher Assistent in die Anwendung integriert werden? Für die Durchführung der Aufgabe ist es zunächst wesentlich, die API der Assistenzfunktionalität zu verstehen und diese anzuwenden. Diese basiert auf dem folgenden Grundgerüst:
- Aufruf des Endpunktes https://api.openai.com/v1/assistants/ mit der ID des Assistenten, um eine Instanz des gewünschten Assistenten auf Basis des zuvor angelegten API-Keys zu erhalten. Die API gibt hierbei u.a. die Metadaten des Assistenten wie den Namen, das zugrunde liegende Sprachmodell, Instruktionen zur Funktionsweise des Assistenten sowie die Information, dass es sich um einen „Retrieval“-Assistenten zur Informationsextrahierung handelt, zurück.
- Die Client-Seite baut einen Kommunikationskanal („Thread“) über den Aufruf des Endpunktes https://api.openai.com/v1/threads auf, über welchen nun die Anfragen gestellt werden können.
- Die Client-Seite sendet die Anfrage an den Assistenten über den Endpunkt https://api.openai.com/v1/threads/[THREAD-ID]/messages.
- Threads ermöglichen nun über den Endpunkt https://api.openai.com/v1/threads/[THREAD-ID]/runs den Status zu einer Anfrage zu erhalten („Run“), insbesondere, ob die Anfrage sich noch in Bearbeitung befindet („in_progress“) oder erfolgreich („completed“) bzw. nicht erfolgreich („cancelled“, „expired“ oder „failed“) bearbeitet werden konnte. Solange sich die Abfrage in Bearbeitung befindet, wird der Status periodisch neu ermittelt.
- Solange sich die Anfrage in Bearbeitung befindet, können zudem die aktuell bereits zur Verfügung stehenden Nachrichten abgerufen werden. Beziehungsweise können nach erfolgreichem Abschluss der Bearbeitung alle Nachrichten über den Endpunkt https://api.openai.com/v1/threads/[THREAD-ID]/message abgerufen werden. Dieses Verfahren ermöglicht dem Anwendenden bereits während der Bearbeitung Teile der Antwort bereitzustellen.
Der grundsätzliche Ablauf lässt sich wie folgt darstellen:
Das Ergebnis ist eindrucksvoll, denn der KI-Assistent für Online-Hilfe antwortet zielgerichtet auf die Fragen und berücksichtigt dabei auch „Regieanweisungen“ – bspw. wie ausführlich die Anfrage beantwortet werden soll. Durch eine individuell auf die jeweilige Frage zielgerichtete Unterstützung entsteht damit ein neues Nutzererlebnis.
In diesem Beispiel frage ich die Anwendung, ob PASS FMS auch eine Anmeldung über das Unternehmenskonto (siehe https://info.mein-unternehmenskonto.de) ermöglicht, zusätzlich gebe ich noch einen Hinweis zur Länge der gewünschten Antwort. Der individuell gestaltete Assistent für die PASS Fördermanagementsoftware beantwortet – für den Endanwendenden transparent – diese Anfrage in der gewünschten Weise.
Limitierungen des KI-Assistenten für Online-Hilfe
Bei einer Beta-Version gibt es häufig Limitierungen. Wie stellen sich diese hier dar? Zum Beispiel waren in der Anwendung des Assistenten die „Denkpausen“ deutlich spürbar. In der Tat ist aber gerade die Performance des KI-Assistenten für Online-Hilfe ein Erfolgsfaktor. Hier gibt es also noch Raum für Verbesserungen.
Darüber hinaus machte ich auch die Erfahrung, dass die Schnittstellen sich zwischendurch verändern, was eine Anpassung der Abbildung der Nachricht auf die Objektstrukturen der Anwendung erforderlich machte.
Ein in der Praxis relevanter Erfolgsfaktor dürften auch die Kosten sein, die nach einem Test durch einen Nutzer innerhalb eines Tages im Bereich um knapp einen Euro lagen. Entsprechend wird diese Funktionalität mutmaßlich in Kontexten eingesetzt werden, in denen eine Gegenfinanzierung durch die Anwender gegeben ist.
Darüber hinaus sind durchaus Preisdegressionseffekte zu erwarten, z.B. durch den steigenden Wettbewerb. Das französische KI-Start-up Mistral hat vor Kurzem nun auch eine Chat-Funktionalität bereitstellt.
Resümee
Die einfache Integration von anwendungsspezifischen Informationen für die Nutzenden durch KI stellt branchenübergreifend einen sehr interessanten Anwendungsfall dar. KI-basierte Hilfesysteme wie der KI-Assistent für Online-Hilfe werden mittelfristig zu einem Standard werden. Die damit verbundenen Abrechnungsmodelle sowie die dominierenden KI-Modelle im EU-Raum sind Teil eines intensiver werdenden Wettbewerbs verschiedener technischer Ansätze. Für die Europäische Union werden hierbei die Bestimmungen des AI-Acts, welcher voraussichtlich noch im ersten Halbjahr im Amtsblatt der EU veröffentlicht wird, mit noch folgenden nationalstaatlichen Regelungen wesentlich werden. In einem kommenden Blogbeitrag ist vorgesehen, auf die weiteren Funktionalitäten von ChatGPT sowie bspw. auch auf die Möglichkeiten der KI-Plattform des französischen Unternehmens Mistral einzugehen.
Titelbild: Shutterstock