Enterprise Data Warehouses stellen viele der größten Technologieinvestitionen für Unternehmen aller Branchen in den letzten 20 Jahren dar. Generative KI hat sich zwar als vielversprechend erwiesen, wenn es darum geht, neuartige Inhalte zu erstellen und große Informationskorpora in unstrukturiertem Format zu verstehen. Wie kann sie jedoch die Nutzung der Daten verbessern, in deren Nutzbarmachung Unternehmen so viel investiert haben? Diese Datenquellen gehören zu den vertrauenswürdigsten in einer Organisation und beeinflussen in vielen Fällen Entscheidungen auf höchster Führungsebene.
Seit ihrer Einführung in den 70er Jahren ist die Structure Query Language (SQL) die am weitesten verbreitete Sprache für die Interaktion mit Datenbanken, aber man benötigt immer noch ein tiefes Verständnis der Mengenlehre, Datentypen und Fremdschlüsselbeziehungen, um die Daten zu verstehen . Generative KI bietet eine Möglichkeit, diese Wissens- und Kompetenzlücke zu schließen, indem sie Fragen in natürlicher Sprache in eine gültige SQL-Abfrage übersetzt.
Zu den Systemen und Personen, die von diesem Zugriffsmuster auf Datenbanken profitieren können, gehören auch technisch nicht versierte Personen, die relationale Datenquellen in ihre Prozesse integrieren möchten, etwa Kundendienstmitarbeiter und Callcenter-Mitarbeiter. Zu den technischen Anwendungsfällen gehören außerdem Extract-Transform-Load-Pipelines, bestehende RAG-Architekturen (Retrieval Augmented Generation), die relationale Datenbanken integrieren, und Organisationen, die mit einer Datenplattform zu tun haben, die zu groß ist, um vernünftig isoliert zu navigieren.
Die schwierigsten Komponenten beim Erstellen einer genauen SQL-Abfrage aus natürlicher Sprache sind dieselben, mit denen wir als Neulinge in der Sprache möglicherweise zu kämpfen hatten. Konzepte wie das Identifizieren von Fremdschlüsselbeziehungen, das Aufteilen der Frage in kleinere, verschachtelte Abfragen und das ordnungsgemäße Zusammenführen von Tabellen gehören zu den schwierigsten Komponenten der SQL-Abfragegenerierung. Forschern zufolge schlagen über 50 % der SQL-Generierungstests allein bei der Schemaverknüpfung und bei Verknüpfungen fehl.
Zusätzlich zu diesen Kernkomponenten der Abfrage verfügt jede Datenbank-Engine über ihre eigene Syntax, deren Beherrschung zum Schreiben einer gültigen Abfrage erforderlich sein kann. Darüber hinaus gibt es in vielen Organisationen viele überlappende Datenattribute – ein Wert wird beispielsweise in einer Tabelle aggregiert und in einer anderen nicht aggregiert – sowie abgekürzte Spaltennamen, deren korrekte Verwendung Stammeswissen erfordert.
Wie nah sind wir also an der Lösung dieses Problems? Die Community hat sich um zwei Haupt-Bestenlisten zusammengeschlossen, die die erfolgreichsten Ansätze mit gekennzeichneten Datensätzen bewerten: Spider und BIRD. Beide Bestenlisten priorisieren die wichtigste Metrik zur Messung der Genauigkeit eines bestimmten Ansatzes zur Lösung dieses Problems, die sogenannte Ausführungsgenauigkeit (EX). Diese Metrik vergleicht einfach die generierte SQL-Abfrage mit der gekennzeichneten SQL-Abfrage, um festzustellen, ob es eine Übereinstimmung gibt oder nicht. Darüber hinaus misst SPIDER die Exact Set Match Accuracy (EM) – hat die zurückgegebene Ergebnismenge tatsächlich die Frage beantwortet, unabhängig davon, wie die Abfrage geschrieben wurde – und BIRD bietet den Valid Efficiency Score (VES), ein Maß dafür, wie performant die generierte SQL-Abfrage ist. Weitere Informationen zu den einzelnen Benchmark-Datensätzen finden Sie auf den jeweiligen Seiten.
Die Spider- und BIRD-Datensätze haben sich als maßgebliche, robuste Datensätze zum Benchmarking von Text-to-SQL-Techniken und sogar zur Feinabstimmung von Modellen erwiesen. In diesem Modul beziehen wir uns auf diese Datensätze und die entsprechenden Bestenlisten, um die robustesten Ansätze für Text-to-SQL zu demonstrieren.
Laut der BIRD-Bestenliste liegt der Stand der Technik für das Text-to-SQL-Problem bei 60 % Ausführungsgenauigkeit. Obwohl dies immer noch weit unter der menschlichen Leistung liegt, ist zu beachten, dass wir innerhalb eines Jahres vom Basis-T5-Modell mit einer EM-Leistung von 7 % zu einem EM-Wert von über 60 % übergegangen sind. Wir sind gespannt, wie sich dies im kommenden Jahr weiter verbessern wird, da diese Modelle und Techniken weiter erforscht werden.
Es ist wichtig zu beachten, dass diese Techniken für eine einzige Sache optimiert sind, nämlich die Generierung der richtigen SQL-Abfrage. In diesen Bestenlisten werden einige kritische Aspekte dieser Techniken nicht bewertet, vor allem die Geschwindigkeit. Viele dieser Techniken weisen eine End-to-End-Prompt-Chain-Geschwindigkeit von deutlich mehr als einigen Sekunden auf, was viele Zero-Shot-Business-Intelligence-Anwendungsfälle nicht tolerieren können. Darüber hinaus ziehen viele von ihnen auch mehrere Rückschlüsse auf ein LLM, um die notwendigen Überlegungen zu vervollständigen, was die Kosten pro Abfrage erheblich in die Höhe treiben kann.
Dieser Workshop ist als Weiterentwicklung der Text-to-SQL-Techniken konzipiert und beginnt mit einem robusten Prompt-Engineering. Der gesamte Code liegt in Form von Jupyter Notebooks vor, die in SageMaker Studio gehostet werden. Wenn Sie bereit sind, loszulegen, gehen Sie zu „Setup“, um mit der Bereitstellung der erforderlichen Ressourcen für diesen Workshop zu beginnen.
Nachfolgend finden Sie eine Übersicht über die Workshop-Inhalte: