Wir bauen einen Chatbot für den IT-Grundschutz – Teil 1: Grundgedanken und Handwerkszeug

Die Welt der Informationstechnologie und IT-Sicherheit entwickelt sich rasant weiter. Unternehmen und Organisationen stehen vor der Herausforderung, mit immer wieder anderen Anforderungen und immer mehr Informationen Schritt zu halten. Eine, vielleicht die größte Herausforderung besteht darin, Wissen effizient und nutzerfreundlich zu vermitteln. Das heißt, die Informationen, die wir brauchen, müssen einfach und schnell zu finden sein. Wenn es um spezialisiertes, fachliches Wissen geht, müssen die Ergebnisse zudem zuverlässig, sicher und vollständig sein. Ein Chatbot, der sein Wissen aus einer besonderen Wissensbasis herausziehen kann, wäre dafür prädestiniert.

In dieser Blogserie skizziere ich die Entwicklung eines Chatbots für ein Security-Fachthema mithilfe von Azure Cognitive Search und Open AI ChatGPT. Inklusive  unserer Erfahrungen im ersten Einsatz. Bevor das Team loslegen konnte, gab es einiges zu bedenken, und wir mussten uns für ein bestimmtes Handwerkszeug entscheiden. Was, warum und wieso, darum geht es in diesem ersten Teil.

IT-Grundschutz als perfekter Use Case

Es war ein kleines Team, mit dem wir unseren Security-Fachwissen-Chatbot entwickeln wollten. Ein Use Case war schnell gefunden: Das Handbuch zum IT-Grundschutz des Bundesministeriums für Sicherheit in der Informationstechnik eignete sich hier perfekt. Es bietet einen großen Umfang an speziellem Wissen rund um IT-Sicherheit, zu Themen wie Webservices, Datenbanken und Patches/Updates.

Aber warum braucht es hier ein Assistenzsystem?

Für viele IT’ler:innen ein Buch mit sieben Siegeln, ist das Handbuch zum IT-Grundschutz selbst für Security-Fachleute eine lästige Bürde. Es enthält eine umfassende Sammlung an Dokumenten, insgesamt über 100 Bausteine, die sich nicht nur theoretisch mit verschiedenen Aspekten der IT-Sicherheit befassen, sondern wichtige Vorgaben enthalten, die uns sagen sollen, was regelmäßig zu überprüfen ist, bzw. in praktische Maßnahmen überführt werden muss.

Die Anzahl und die Detailtiefe der Maßnahmen machen es jedoch schwierig, einen Überblick zu behalten, insbesondere wenn es darum geht, IT-Projekte oder Ausschreibungen mit den entsprechenden Regelungen zu erfüllen.

Warum ein Chatbot?

Chatbots sind in der Lage, auf natürliche Art und Weise mit Benutzern zu kommunizieren. Das macht es leicht, sie im Arbeitsalltag zu verwenden. Durch die Nutzung natürlicher Sprachverarbeitungstechnologien können Benutzer in Echtzeit Antworten auf ihre Fragen erhalten, ohne sich durch umfangreiche Dokumentationen zu wühlen.

Doch sind Chatbots für Spezialwissen überhaupt geeignet? Die Antwort lautet: Ja. Mithilfe von Technologien wie RAG und Semantischer Suche ist es heute möglich, einen Chatbot zum Spezialisten oder zur Spezialistin auszubilden, auf deren Antworten wir uns zu 100 % verlassen können. Auch Microsoft Azure und OpenAI bieten Möglichkeiten, um das Wissen aus dem BSI IT-Grundschutzhandbuch abzurufen und es den Nutzern sehr einfach zur Verfügung zu stellen. Damit schließen wir die Lücke, die bisherige LLM-Systeme immer wieder offenlassen.

Eigene Wissenbasis auf Standardsystemen

Vielleicht fragst du dich, warum wir uns die Mühe machen, eine eigene Wissensbasis in der Cloud aufzubauen, statt ChatGPT einfach so zu verwenden?

Der Grund ist einfach: Als allgemeines Large Language Modell bietet ChatGPT kein spezialisiertes oder tiefgehendes Wissen in bestimmten Fachgebieten. Fehlt Wissen, halluziniert das System auch schon mal abstruse Informationen herbei. Darüber hinaus greift ChatGPT auf viele verschiedene Quellen zu, welche nicht immer zuverlässig sind oder die richtigen Informationen beinhalten. Insgesamt kann die Qualität der Antworten nicht gewährleistet werden. Dazu kommt, dass die Wissensbasis von ChatGPT derzeit vom letzten Trainingsstand im Januar 2022 stammt.

Und warum nicht etwas eigenes bauen mit RAG und Semantischer Suche?

In diesem Fall wollten wir das Rad nicht neu erfinden. Azure Cognitive Services und OpenAI boten uns alles, was wir brauchten, um das Modell an unseren Branchen Anwendungsfall anzupassen.

Mit den Features, die wir durch die Integration eines Open-AI-Modells in die Azure Cloud bekamen, konnten wir den Chatbot schnell und leichtgewichtig entwickeln. Langfristig profitieren wir von der Flexibilität und Aktualität, die diese beiden Standardsysteme mit sich bringen. Das sind Vorteile gegenüber der aufwendigeren Entwicklung eines eigenen Chatbots mit RAG und semantischer Suche. Wobei wir bei der Nutzung der Standardsysteme natürlich eine Abhängigkeit von Microsoft und OpenAI in Kauf nehmen.

Die wichtigsten Komponenten und ihr Zusammenspiel

Die Kombination von Azure Cognitive Search und OpenAI bietet die Möglichkeit, automatisch Suchindizes zu erstellen oder zu aktualisieren. Die Integration ermöglicht auch die Anpassung der Modelle an spezifische Branchen oder Anwendungsfälle. Durch das Zuschneiden der Indizes auf spezifischen Daten können genauere und personalisierte Suchergebnisse erzielt werden.

Für die Entwicklung unseres Chatbot-Prototyps brauchten wir drei wesentliche Komponenten:

  1. Datenquellen: Die Grundlage für den Chatbot bildet der Zugriff auf aussagekräftige Datenquellen. Dies können im allgemeinen strukturierte Informationen aus internen Datenbanken, Dokumentationen oder anderen unternehmensspezifischen Quellen sein. Die Qualität und Relevanz dieser Datenquellen beeinflussten maßgeblich die Genauigkeit und Effizienz des Chatbots. In der hier erstellten Anwendung greifen wir auf Dateien zu, welche sich in einem Azure-Blob-Storage befinden.
  2. Azure Cognitive Search: Um die Daten durchsuchen zu können, wird Azure Cognitive Search eingesetzt. Diese Komponente ermöglicht eine schnelle und präzise Suche in den bereitgestellten Datenquellen. Die Integration von Azure Cognitive Search gewährleistet, dass der Chatbot in der Lage ist, auf eine Vielzahl von Quellen zugreifen zu können.
  3. OpenAI ChatGPT: Als Herzstück des Chatbots fungiert OpenAI ChatGPT, als Large Language Model, das die natürliche Sprache verstehen kann und kontextbezogene Antworten generiert. Die Integration von ChatGPT ermöglicht es dem Chatbot, nicht nur auf Daten zuzugreifen, sondern auch auf eine menschenähnliche Weise mit Benutzern zu kommunizieren.

Wie die Komponenten zusammenwirken und miteinander arbeiten, zeigt die Referenzarchitektur in Abbildung 1.

Zusammenspiel der Komponenten für einen Chatbot mit Microsoft Azure und Open AI
Abbildung 1: Referenzarchitektur des Chatbots für den IT-Grundschutz (Quelle: Microsoft)

Nur weil die Komponenten so nahtlos miteinander agieren, ist unser Chatbot in der Lage auf eigene Daten zuzugreifen, Anfragen zu verstehen und präzise Antworten zu generieren.

Damit kann er also

  • Wissen effizient vermitteln
  • und Informationen einfach bereitstellen

Check!

Umsetzung mit Microsoft Azure und OpenAI

Jetzt ging es an die konkrete Umsetzung: Dafür fokussierten wir uns zunächst auf die drei Kernkomponenten Datenquellen, Cognitive Search und ChatGPT. Den Appserver zur Orchestrierung, welcher in der Referenz-Architektur aufgeführt wird, brauchten wir für den Prototyp nicht.

Abbildung 2 zeigt, wie unser Plan für die Umsetzung grob aussah:

Skizze des Vorgehens
Abbildung 2: Skizze für die Umsetzung (Quelle: Microsoft)

 

 

 

 

Soweit unsere Einführung und die Grundlagen. Im nächsten Teil gehen wir mehr in die Tiefe und werden uns genauer mit den Komponenten befassen.

So geht es weiter

In Teil 2 dieser Blogserie sehen wir uns die drei Komponenten genauer an und erklären euch die Einstellungsmöglichkeiten, die ihr habt. Außerdem werfen wir einen Blick auf die Oberfläche unseres Chatbots.

In Teil 3 der Blogserie teilen wir mit euch die ersten Testergebnisse und verraten euch, wie der Einsatz gelaufen ist, und welche Best Practices wir daraus mitgenommen haben.

Es lohnt sich also dran zu bleiben! 🙂

Weitere Artikel zum Thema

Was steckt hinter RAG und Semantischer Suche

RAG und Semantische Suche in der Praxis

 

Profilbild von Arjuna Johannes Mittwege
Alle Beiträge von Arjuna Mittwede

Als Experte für Business Intelligence, Data Science und Artificial Intelligence beschäftige ich mich mit komplexen wirtschaftlichen und technischen Fragestellungen und entwickle kundenspezifische Lösungen. Ich arbeite in Entwicklungs und Integrationsprojekten, und bin besonders gefragt, wenn es um Machine-Learning-Modelle, Analytics geht, aber auch bei Cloud-Architecture-Entwürfen oder Datenbankentwicklungen.

Schreibe einen Kommentar