In den letzten Jahren ist die Modernisierung von Daten für die Förderung informierter Entscheidungsfindung und Innovation in Organisationen entscheidend geworden. Das Extrahieren von Erkenntnissen beruht jedoch häufig auf eine kleine Anzahl von Mitarbeitern mit speziellen SQL -Fähigkeiten, wodurch Reibung und Verzögerungen beim Zugriff auf aussagekräftige Informationen geschaffen wird. NQL zielt darauf ab, datengesteuerte Erkenntnisse zwischen Organisationen zu demokratisieren, indem er generative KI einsetzt, um die Lücke zwischen natürlicher Sprache und SQL zu schließen. Wenn Sie wie eine Suchmaschine arbeiten, kann jeder Benutzer Fragen in klarer Sprache eingeben und automatisch Abfragen zum Abrufen der gewünschten Daten generiert. Dies optimiert und eröffnet den Datenzugriff auf alle Mitglieder einer Organisation, verbessert die Agilität und erleichtert die datengesteuerte Entscheidungsfindung.
Das Projekt befindet sich derzeit in der späten Entwicklungsphase. Während es noch etwas verbessert werden muss, ist es eine voll funktionsfähige Demo, die kommerziell verwendet werden kann.
Derzeit unterstützt NQL die Abfrage:
Andere relationale Datenbanken werden zum aktuellen Zeitpunkt nicht unterstützt.

Sie können entweder Python, Venv oder Conda verwenden. Angenommen, dies ist eine Option, die Sie auswählen können.
./setup.sh Wenn Sie Jupyter -Notizbücher zum Testen verwenden möchten, können Sie .ipynb -Notizbücher im Verzeichnis /notebooks erstellen und die erforderliche Abhängigkeit herunterladen
pip install -r requirements-dev.txtUm eine Verbindung zu RDS lokal herzustellen, empfehlen wir aufgrund seiner Einfachheit die Verwendung eines EC2 -Bastion -Hosts. Aufgrund der Sicherheitsvorschriften setzen Sie jedoch kein Eindringungs -Netzwerk ein, damit alle Verbindungen von Port 22 aus dem AWS -Systemmanager über SSH zugreifen können. Siehe Artikel: Verwenden Sie die Portweiterleitung im AWS Systems Manager Session Manager, um eine Verbindung zu Remote -Hosts herzustellen
Verwenden Sie dieses Skript, um das Port -Tunneling über Bastion Host auszuführen.
aws ssm start-session --target < ec2_instance_id > --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters ' {"portNumber":["<port_number>"],"localPortNumber":["<port_number>"],"host":["<host>"]} make rundocker-compose upZu den Hauptkomponenten des zu konfigurierten Backends gehören:
Erstellen Sie einfach einen RDS -Cluster und wählen Sie, um die Anmeldeinformationen in SecretsManager zu speichern. Der geheime Name wird in der Umgebung bezeichnet, die von der Anwendung abgerufen werden kann. Importieren Sie alle Daten, die Sie mögen, in Ihre RDS -Datenbank.
Zum Zwecke von Beispieldaten empfehlen wir die Verwendung von Pagila für PostgreSQL. Der Import kann aus einer EC2 -Instanz mit den folgenden Befehlen erfolgen:
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/pagila-schema.sql ; psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/pagila-insert-data.sql ; Für Temenos -Daten befindet sich die SQL -Dump -Datei bereits in Amazon WorkDocs. Weitere Informationen finden Sie in der Datei temenos.nql zum Dumping -Daten.
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/temenos.sql ; Navigieren Sie zu AWS Secrets Manager in AWS -Konsole und klicken Sie Store a new secret .

Wählen Sie im Abschnitt Secret Type Other type of secret aus

Wählen Sie in Key/value pairs den Abschnitt Plaintext .

Füllen Sie die Datenbank -Anmeldeinformationen im folgenden JSON -Format ein und fügen Sie im Plaintext ein.
{
"host" : " DB_HOST_NAME " ,
"username" : " DB_USERNAME " ,
"password" : " DB_PASSWORD " ,
"engine" : " postgresql " ,
"port" : " DB_PORT " ,
"dbname" : " DB_NAME "
} Geben Sie den geheimen Namen ein und erstellen Sie das Geheimnis. Kopieren Sie die ARN und fügen Sie sie in RDS_SECRETS_MANAGER_ARN als Wert der Umgebungsvariablen ein.
Bitte beachten Sie dieses Tutorial: Bereitstellen von Docker -Containern mit AWS ECS & Fargate