AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

OpenSearch-SQL: Ein Open-Source-Tool zur Umwandlung natürlicher Sprache in SQL-Abfragen

Allgemeine Einführung

OpenSearch-SQL ist ein Open-Source-Projekt, bei dem es sich um ein leistungsfähiges Text-zu-SQL-Tool handelt, das die natürlichsprachlichen Beschreibungen eines Benutzers in SQL-Abfrageanweisungen umwandelt und so Menschen, die mit Datenbanken nicht vertraut sind, einen einfachen Zugang zu Daten ermöglicht. Das Projekt wird vom OpenSearch-AI-Team entwickelt und ist frei und offen, basierend auf der Apache 2.0-Lizenz.Im August 2024 gewann es den ersten Platz in den BIRD-Benchmarks, mit einer Genauigkeit von 69,3% für die Validierungsmenge und 72,28% für die Testmenge.OpenSearch-SQL kann ohne zusätzliches Training laufen und unterstützt Modelle wie GPT OpenSearch-SQL läuft ohne zusätzliches Training und unterstützt Modelle wie GPT, DeepSeek usw. Es eignet sich für Datenanalyse und Datenbankabfragen.

OpenSearch-SQL: Ein Open-Source-Tool zur Umwandlung natürlicher Sprache in SQL-Abfragen-1


 

Funktionsliste

  • Umwandlung von Fragen in natürlicher Sprache in SQL-Abfragen, z. B. "Welches ist das höchste Gebäude" in SELECT gebäude_name FROM gebäude ORDER BY höhe DESC LIMIT 1.
  • CoT (Chain of Thought)-Erweiterungsmethodik, die das Selbstlernen unterstützt, um die Genauigkeit der Abfragegenerierung zu verbessern.
  • Bietet eine SQL-ähnliche Zwischensprache zur Optimierung der komplexen SQL-Generierung.
  • Umfasst den Input-Output-Abgleich zur Reduzierung von Fehlern bei der Modellerstellung (Illusionsprobleme).
  • Es unterstützt fünf Module: Vorverarbeitung, Extraktion, Generierung, Optimierung und Ausrichtung, die den gesamten Abfrageprozess abdecken.
  • Der Code ist quelloffen und kostenlos, so dass die Nutzer ihn nach Bedarf ändern oder in ihre eigenen Projekte integrieren können.

 

Hilfe verwenden

OpenSearch-SQL ist ein Kommandozeilen-Tool, das installiert und konfiguriert werden muss, um zu funktionieren. Im Folgenden finden Sie detaillierte Schritte, die Ihnen den Einstieg erleichtern.

Ablauf der Installation

  1. Vorbereiten der Python-Umgebung
    Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem Computer installiert haben. Dies kann durch Eingabe von python --version Prüfen. Wenn nicht, laden Sie es von der offiziellen Python-Website (https://www.python.org/) herunter und installieren Sie es.
  2. Projektdateien herunterladen
    Öffnen Sie Ihren Browser und gehen Sie zu https://github.com/OpenSearch-AI/OpenSearch-SQL. Klicken Sie auf die Schaltfläche "Code" in der oberen rechten Ecke und wählen Sie "Download ZIP "und wählen Sie "Download ZIP", um den Quellcode herunterzuladen, oder verwenden Sie den Git-Befehl, um ihn zu klonen:
git clone https://github.com/OpenSearch-AI/OpenSearch-SQL.git

Laden Sie die Datei herunter und entpacken Sie sie lokal, z. B. C:\OpenSearch-SQL vielleicht /home/Benutzer/OpenSearch-SQL.

  1. Installation von Abhängigkeiten
    Gehen Sie in den Projektordner, öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um die erforderlichen Bibliotheken zu installieren:
pip install -r anforderungen.txt

Dadurch werden die Python-Pakete installiert, die für die Ausführung des Projekts benötigt werden, wie z. B. die Bibliotheken für die Verarbeitung von Daten und den Aufruf von Modellen.

Vorverarbeitung der Daten

OpenSearch-SQL benötigt einige wenige Beispiele, um die Abfragegenauigkeit zu verbessern. Die Daten können mit dem offiziellen Skript generiert werden.

  1. Daten vorbereiten
    Das Projekt enthält eine Beispieldatei bird_dev.jsonAngesiedelt in Vogel/vogel_dev.jsonEs basiert auf der DAIL-SQL-Methodik. Sie wird auf der Grundlage der DAIL-SQL-Methodik erstellt und enthält einige wenige Abfragebeispiele. Wenn Sie Ihre eigenen Daten haben, können Sie diese Datei ersetzen.
  2. Ausführen von Vorverarbeitungsskripten
    Führen Sie es im Stammverzeichnis des Projekts aus:
sh run/run_preprocess.sh

Dieses Skript verarbeitet die Daten, Tabellenstrukturen und andere Informationen, die nur wenige Bilder enthalten. Wenn es fertig ist, zeigt das Terminal die Ausgabe für jedes Verzeichnis an. Als Windows-Benutzer können Sie es mit Git Bash oder WSL ausführen oder die Befehle im Skript manuell ausführen.

Starten Sie das Hauptprogramm

  1. Auslöseverfahren
    Führen Sie es im Stammverzeichnis des Projekts aus:
sh run/run_main.sh

Dadurch wird die src/runner/database_manager.py Datei, um die Verarbeitung der Abfrage zu starten. Der Programmpfad wird im Skript festgelegt.

  1. Ausgabe prüfen
    Nachdem die Hauptanwendung ausgeführt wurde, generiert sie SQL-Abfrageergebnisse entsprechend der Konfiguration. Der Pfad der Ausgabedatei befindet sich in der Datei src/runner/database_manager.py (in Form eines Nominalausdrucks) Pfade_setzen die in der Funktion definiert sind und die nach Bedarf angepasst werden können.

Featured Function Bedienung

  • Natürliche Sprache zu SQL
    Geben Sie eine Frage ein, z. B. "Welche Stadt hat den höchsten Umsatz?". Das Programm wird sie generieren:
SELECT city FROM sales ORDER BY amount DESC LIMIT 1

Weitere Informationen finden Sie auf der Website Fragen.json Fügen Sie der Datei Ihre eigenen Fragen hinzu und führen Sie sie aus, um die Ergebnisse zu sehen.

  • CoT-Erweiterung
    Das Projekt bietet Beispiele im Query-CoT-SQL-Format. Zum Beispiel:
  • Benutzereingabe: "Wie hoch ist das Durchschnittsalter?"
  • CoT-Verfahren: zuerst die Altersspalte ermitteln, dann den Mittelwert berechnen.
  • Ausgabe:SELECT AVG(Alter) FROM Benutzer.
  • Ausrichtungsfunktion
    Wenn die Ergebnisse nicht korrekt generiert werden, korrigiert das Programm sie automatisch. Wenn Sie z. B. "Alle Schülernoten auflisten" eingeben, die Datenbank aber mehrere Tabellen hat, stellt das Programm sicher, dass die JOIN-Operation korrekt ist:
SELECT s.name, sc.score FROM schueler s JOIN scores ON s.id = sc.student_id

caveat

  • Wenn Sie den BIRD-Datensatz testen müssen, können Sie dies direkt mit dem Vogel/Fewshot/questions.json Dokumentation.
  • Das Programm unterstützt mehrere Modelle und erfordert möglicherweise einen API-Schlüssel für die Standardkonfiguration. Wenn Sie GPT oder DeepSeek verwenden, muss der Schlüssel im Code festgelegt werden.

Mit diesen Schritten können Sie ganz einfach natürliche Sprache in SQL-Abfragen umwandeln, um eine Vielzahl von Datenanalyseaufgaben zu bewältigen.

 

Anwendungsszenario

  1. Datenanalyse
    Datenanalysten können damit Fragen in SQL umwandeln und schnell Verkaufsdaten oder Nutzerverhalten zählen.
  2. Bildung und Ausbildung
    Die Schüler können damit SQL lernen, indem sie Fragen eingeben und dann die generierten Abfrageanweisungen vergleichen.
  3. Automatisierte Berichterstattung
    Unternehmen können damit automatisch SQL-Berichte erstellen und die manuelle Schreibzeit reduzieren.

 

QA

  1. Benötigt OpenSearch-SQL eine Internetverbindung?
    Bei Verwendung eines lokalen Modells ist keine Vernetzung erforderlich. Bei der Verwendung von Online-Modellen wie GPT sind jedoch ein Netzwerk und API-Schlüssel erforderlich.
  2. Welche Datenbanken werden unterstützt?
    Es ist für jede Datenbank geeignet, die SQL unterstützt, solange die Tabellenstruktur und die Daten bereitgestellt werden.
  3. BIRD Was bedeutet es, die Nummer eins auf der Liste zu sein?
    Es zeigt, dass es die höchste Genauigkeit bei Text-zu-SQL-Aufgaben hat und komplexe Abfragen bewältigen kann, mit einem August 2024 Ergebnis von 72,28% für die Testmenge.
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " OpenSearch-SQL: Ein Open-Source-Tool zur Umwandlung natürlicher Sprache in SQL-Abfragen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)