CHESS: Kontextbezogene Erzeugung für effiziente SQL-Synthese

Die Übersetzung von natürlichsprachlichen Fragen in SQL-Abfragen, auch als Text-to-SQL bekannt, ist ein langjähriges Forschungsproblem. Effektive Text-to-SQL-Synthese kann sehr herausfordernd werden aufgrund (i) der umfangreichen Größe von Datenbankkatalogen (Beschreibungen von Tabellen und deren Spalten) und Datenbankwerten, (ii) der Analyse großer Datenbankschemata, (iii) der Sicherstellung der funktionalen Gültigkeit der generierten Abfragen und (iv) des Navigierens durch die Mehrdeutigkeiten natürlichsprachlicher Fragen. Wir stellen CHESS vor, ein auf großen Sprachmodellen (LLMs) basierendes Multi-Agenten-Framework für effiziente und skalierbare SQL-Synthese. Es besteht aus vier spezialisierten Agenten, die jeweils einer der oben genannten Herausforderungen entgegenwirken: Der Information-Retriever (IR) extrahiert relevante Daten, der Schema-Selector (SS) reduziert große Schemata, der Candidate-Generator (CG) erzeugt hochwertige Kandidaten und verfeinert die Abfragen iterativ, und der Unit-Tester (UT) validiert die Abfragen durch LLM-basierte natürlichsprachliche Einheitstests.Unser Framework bietet konfigurierbare Funktionen, die sich an verschiedene Bereitstellungsbedingungen anpassen:1) Unterstützung industrieller Datenbanken: Durch den Einsatz des Schema-Selector-Agenten schafft CHESS es effizient, sehr große Datenbankschemata in überschaubare Teil-Schemata zu reduzieren. Dies verbessert die Systemgenauigkeit um etwa 2 % und verringert die Anzahl der LLM-Token um das Fünffache.2) Stand-der-Kunst-sicherheitsleistung: Unter den Methoden mit Open-Source-Modellen erreicht CHESS eine Stand-der-Kunst-Leistung. Dies führt zu einem hochperformanten, datenschutzfreundlichen System, das für industrielle Bereitstellung geeignet ist.3) Skalierbarkeit bei zusätzlichen Rechenressourcen: In Umgebungen mit hohen Rechenbudgets erreicht CHESS eine Genauigkeit von 71,10 % auf dem BIRD-Testset, was innerhalb von 2 % der Leistung des führenden proprietären Verfahrens liegt. Dabei werden etwa 83 % weniger LLM-Aufrufe benötigt.