Dalam beberapa tahun terakhir, modernisasi data telah menjadi penting untuk mendorong pengambilan keputusan dan inovasi yang tepat dalam organisasi. Namun, mengekstraksi wawasan sering mengandalkan sejumlah kecil personel dengan keterampilan SQL khusus, menciptakan gesekan dan keterlambatan dalam mengakses informasi yang bermakna. NQL bertujuan untuk mendemokratisasi wawasan yang didorong oleh data di seluruh organisasi dengan menggunakan AI generatif untuk menjembatani kesenjangan antara bahasa alami dan SQL. Beroperasi seperti mesin pencari, memungkinkan pengguna untuk memasukkan pertanyaan dalam bahasa sederhana dan secara otomatis menghasilkan permintaan untuk mengambil data yang diinginkan. Ini merampingkan dan membuka akses data ke semua anggota organisasi, meningkatkan kelincahan dan memfasilitasi pengambilan keputusan berbasis data.
Proyek ini sedang dalam tahap akhir pengembangan. Meskipun ada sesuatu yang belum ditingkatkan, itu adalah demo yang bekerja sepenuhnya yang dapat digunakan secara komersial.
Saat ini, NQL mendukung kueri:
Database relasional lainnya tidak didukung pada waktu saat ini.

Anda dapat menggunakan Python, VenV, atau Conda biasa. Dengan asumsi bahwa ini adalah opsi untuk Anda pilih.
./setup.sh Jika Anda ingin menggunakan Jupyter Notebooks untuk pengujian, Anda dapat membuat notebook .ipynb di /notebooks direktori dan unduh ketergantungan yang diperlukan
pip install -r requirements-dev.txtUntuk terhubung ke RDS secara lokal, kami sarankan menggunakan host Bastion EC2 karena kesederhanaannya. Namun, karena kepatuhan keamanan tidak mengatur jaringan Ingress untuk memungkinkan semua koneksi dari port 22. Alih -alih menggunakan AWS System Manager untuk mengakses melalui SSH. Lihat Artikel ini: Gunakan Port Forwarding di AWS Systems Manager Sesi Sesi Manajer untuk terhubung ke host jarak jauh
Gunakan skrip ini untuk menjalankan port tunneling melalui host Bastion.
aws ssm start-session --target < ec2_instance_id > --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters ' {"portNumber":["<port_number>"],"localPortNumber":["<port_number>"],"host":["<host>"]} make rundocker-compose upKomponen utama dari backend untuk dikonfigurasi meliputi:
Cukup buat cluster RDS dan pilih untuk menyimpan kredensial di dalam SecretsManager. Nama rahasia akan dirujuk di dalam lingkungan yang tidak dapat diambil oleh aplikasi. Impor data apa pun yang Anda sukai ke dalam database RDS Anda.
Untuk tujuan memiliki beberapa data sampel, kami sarankan menggunakan Pagila untuk PostgreSQL. Impor dapat dilakukan dari instance EC2 menggunakan perintah berikut:
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 ; Untuk data Temenos, file dump SQL sudah ada di dalam Amazon WorkDocs, silakan merujuk ke file temenos.nql untuk pembuangan data.
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/temenos.sql ; Arahkan ke AWS Secrets Manager di konsol AWS dan klik Store a new secret .

Di bagian Secret Type , pilih Other type of secret

Dalam Key/value pairs , pilih bagian Plaintext .

Isi kredensial database dalam format JSON di bawah ini dan tempel di bagian Plaintext .
{
"host" : " DB_HOST_NAME " ,
"username" : " DB_USERNAME " ,
"password" : " DB_PASSWORD " ,
"engine" : " postgresql " ,
"port" : " DB_PORT " ,
"dbname" : " DB_NAME "
} Masukkan nama rahasia dan buat rahasia. Salin ARN dan tempel di RDS_SECRETS_MANAGER_ARN sebagai nilai variabel lingkungan.
Silakan merujuk ke tutorial ini: Menyebarkan wadah Docker dengan AWS ECS & Fargate