近年來,數據的現代化已成為推動組織中明智的決策和創新的關鍵。但是,提取見解通常依賴於具有專門SQL技能的少數人員,從而在訪問有意義的信息方面產生摩擦和延誤。 NQL旨在通過使用生成AI來彌合自然語言和SQL之間的差距,使整個組織的數據驅動的見解民主化。像搜索引擎一樣操作,它允許任何用戶以簡單的語言輸入問題,並自動生成查詢以檢索所需的數據。這簡化並為組織的所有成員打開數據訪問,增強敏捷性並促進數據驅動的決策。
該項目目前處於開發的後期。儘管尚未有所改進,但它是一個可以在商業上使用的完全工作的演示。
目前,NQL支持查詢:
截至當前時間,其他關係數據庫不受支持。

您可以使用普通的Python,Venv或Conda。假設這是您選擇的選擇。
./setup.sh如果要使用Jupyter筆記本進行測試,則可以在/notebooks目錄中創建.ipynb筆記本並下載必要的依賴項
pip install -r requirements-dev.txt要在本地連接到RDS,我們建議由於其簡單性而使用EC2堡壘。但是,由於安全合規性,請勿設置入口網絡以允許端口22的所有連接。而不是使用AWS System Manager通過SSH訪問。請參閱本文:使用AWS Systems Manager Session Manager中的端口轉發連接到遠程主機
使用此腳本通過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 up要配置的後端的主要組件包括:
只需創建一個RDS群集,然後選擇將憑據存儲在SecretsManager中。秘密名稱將在環境內部所示,可以通過應用程序檢索。導入您喜歡的任何數據中的RDS數據庫。
為了獲得一些示例數據,我們建議將Pagila用於PostgreSQL。可以使用以下命令從EC2實例中進行導入:
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 ; 對於Temenos數據,SQL轉儲文件已經在Amazon WorkDocs內部,請參閱temenos.nql文件以轉儲數據。
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/temenos.sql ;導航到AWS控制台中的AWS Secrets Manager,然後單擊Store a new secret 。

在Secret Type部分中,選擇Other type of secret

在Key/value pairs ,選擇Plaintext部分。

以下面的JSON格式填寫數據庫憑據,並在Plaintext部分中填寫粘貼。
{
"host" : " DB_HOST_NAME " ,
"username" : " DB_USERNAME " ,
"password" : " DB_PASSWORD " ,
"engine" : " postgresql " ,
"port" : " DB_PORT " ,
"dbname" : " DB_NAME "
}輸入秘密名稱並創建秘密。複製ARN並將其粘貼在RDS_SECRETS_MANAGER_ARN中,作為環境變量的值。
請參閱本教程:使用AWS ECS和Fargate部署Docker容器