Proof-Of-Concept mit LLM-API von OpenAI zur Realisierung eines QA-Systems
- 5. September 2023
Der Einsatz von LLM (Large Language Model) zur Verarbeitung von großen Datenmengen wurde im letzten Blogeintrag grob beschrieben. Nun geht es in diesem Beitrag darum, dieses Konzept in ein produkt-ähnliches Proof-Of-Concept (PoC) umzusetzen.
Es gibt momentan hauptsächlich zwei große Richtungen, wie man LLM einsetzt. Das eine ist Fine-Tuning und das andere ist In-Context-Learning. Im letzten Blogbeitrag wurde kurz erwähnt, dass ein Sprachmodell extra für VDE-AR-N-4110 domänenspezifisch trainiert wurde, das beschreibt den Vorgang von Fine-Tuning. Mit diesem PoC untersuchen wir die Möglichkeit von In-Context-Learning.
Bei In-Context-Learning wird ein bereits trainiertes LLM eingesetzt. Alle Steuerung und Kontrolle über das LLM geschieht durch Instruktionen und Daten im Prompt. Das LLM „lernt“ anhand des Kontexts im Prompt und generiert entsprechende Ausgaben.
In unserem Fall haben wir uns zunächst für OpenAIs GPT 3.5 Modell entschieden.
Alle Passagen der VDE 4110 Norm wurden in numerischer Vektordarstellung in einer Datenbank gespeichert, dazu verwenden wir die Embedding-Funktionalität von OpenAI, die die Umwandlung in Vektordarstellung ermöglicht.
Eine Abfrage wird zunächst ebenfalls in die Vektordarstellung umgewandelt und anhand des gängigen KNN-Algorithmus mit den Einträgen in der Datenbank verglichen.
Aus den Abfragen werden Textpassagen, die die größte numerische Ähnlichkeit mit der Abfrage haben, aufgelistet. Das LLM benutzt diese Textpassagen als Kontext, um spezielles Wissen zu der VDE-Norm zu „lernen“, und generiert daraus einen zusammenhängenden Text.
Der Einsatz von LLM ist zwar nicht teuer, aber auch nicht kostenfrei. Mit dem Hinblick auf die Skalierbarkeit des Systems wäre es sinnvoll, eine separate Datenbank anzulegen, um qualitativ hochwertige Antworten, die bereits durch LLM generiert sind, zu speichern.
Wie man hier in dem Screenshot sehen kann, sucht sich der Algorithmus immer die Antwort aus, die die größte Übereinstimmung mit der Abfrage hat. Die Antwort auf die Frage, ob man mit einer 100 kW Anlage ein Anlagenzertifikat B braucht, wurde für die nächste Abfrage aktualisiert.
Für die Fälle, von denen die Norm keine Antwort liefern kann, besteht die Möglichkeit, das Frage-Antwort-Paar manuell einzugeben.
Durch dieses System könnte man ein System bauen, in dem alle möglichen Fragen und Antworten sowohl zu VDE 4110 als auch zu allen möglichen Regelungen gesammelt, gespeichert und verarbeitet werden.