近年来,数据的现代化已成为推动组织中明智的决策和创新的关键。但是,提取见解通常依赖于具有专门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容器