Das Problem: Aufgrund der Einschränkungen des Kontextfensters kann ich nicht das vollständige Schema (600 Spalten) in das 7B-Modell einspeisen. Selbst wenn ich ein zusammengefasstes Schema bereitstelle, hat das Modell Probleme mit der Schemaverknüpfung. Es identifiziert den Wert, nach dem Benutzer fragen, korrekt, ordnet ihn jedoch der falschen Spalte zu.
Minimales Beispiel: Nehmen wir an, ich habe eine vereinfachte Schemastruktur wie diese:
- (z. B. Stanford, MIT)
Code: Select all
university_name(z. B. Informatik, Biologie)Code: Select all
program_name - (z. B. Boston, Kalifornien)
Code: Select all
city - Benutzerfrage: „Welche Universität hat die beste Informatik-Abteilung?
- Erwartetes SQL:
SQLCode: Select all
SELECT * FROM view_one WHERE program_name ILIKE '%Computer Science%' - Tatsächlich generiertes SQL (Der Fehler):
SQLCode: Select all
SELECT * FROM view_one WHERE university_name ILIKE '%Computer Science%'
1.RAG-Kontext: Ich rufe relevante Werte mithilfe einer Vektordatenbank (ChromaDB) ab, was die Entitätserkennung verbessert, aber die Zuordnung dieser Entitäten zur richtigen SQL-Spalte bleibt ein Problem.
- Spaltenbeschreibungen: Ich habe in der Systemeingabeaufforderung Beschreibungen für
Schlüsselspalten hinzugefügt. - Schema-Gruppierung: Ich habe versucht, das Schema in logische Gruppen aufzuteilen
(z. B. „Grundlegende Informationen“, „Statistiken“), aber die dynamische Auswahl mit einem 7B-Modell
war inkonsistent. - Fuzzy-Matching: Ich habe Fuzzy-Matching implementiert, um Tippfehler zu behandeln, was
bei der Werteabfrage hilft, aber die Logik der Spaltenauswahl
nicht löst.
Mobile version