En los últimos años, la modernización de los datos se ha vuelto fundamental para impulsar la toma de decisiones informadas e innovación en las organizaciones. Sin embargo, extraer información a menudo se basa en un pequeño número de personal con habilidades SQL especializadas, creando fricción y retrasos para acceder a información significativa. NQL tiene como objetivo democratizar las ideas basadas en datos entre las organizaciones mediante el uso de IA generativa para cerrar la brecha entre el lenguaje natural y el SQL. Operando como un motor de búsqueda, permite a cualquier usuario ingresar preguntas en lenguaje sencillo y genera automáticamente consultas para recuperar los datos deseados. Esto opina y abre acceso a datos a todos los miembros de una organización, mejorando la agilidad y facilitando la toma de decisiones basada en datos.
El proyecto se encuentra actualmente en la etapa tardía de desarrollo. Si bien aún no hay algo por mejorarse, es una demostración completamente funcional que se puede usar comercialmente.
Actualmente, NQL admite la consulta:
Otras bases de datos relacionales no son compatibles con el momento actual.

Puedes usar Python, Venv o condena lisa. Suponiendo que esta es una opción para que usted elija.
./setup.sh Si desea utilizar los cuadernos Jupyter para las pruebas, puede crear el directorio .ipynb cuaderno en /notebooks y descargar la dependencia necesaria
pip install -r requirements-dev.txtPara conectarse a RDS localmente, recomendamos usar un host de bastión EC2 debido a su simplicidad. Sin embargo, debido al cumplimiento de la seguridad, no establece la red Ingress para permitir todas las conexiones desde el puerto 22. En su lugar, use AWS System Manager para acceder a través de SSH. Consulte este artículo: Use el reenvío de puertos en el Administrador de sesión de AWS Systems Manager para conectarse a hosts remotos
Use este script para ejecutar el túnel de puerto a través del 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 upLos componentes principales del backend para configurar incluyen:
Simplemente cree un clúster RDS y seleccione para almacenar las credenciales dentro de SecretsManager. El nombre secreto se referirá dentro del entorno envidiable a ser recuperado por la aplicación. Importe cualquier dato que desee en su base de datos RDS.
Con el fin de tener algunos datos de muestra, recomendamos usar PAGILA para PostgreSQL. La importación se puede realizar desde una instancia de EC2 utilizando los siguientes comandos:
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 ; Para los datos de Temenos, el archivo de volcado SQL ya está dentro de Amazon WorkDocs, consulte el archivo Temenos.nql para ver los datos de descarga.
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/temenos.sql ; Navegue a AWS Secrets Manager en la consola de AWS y haga clic en Store a new secret .

En la sección Secret Type , seleccione Other type of secret

En Key/value pairs , seleccione la sección Plaintext .

Complete las credenciales de la base de datos en formato JSON a continuación y pegue en la sección Plaintext .
{
"host" : " DB_HOST_NAME " ,
"username" : " DB_USERNAME " ,
"password" : " DB_PASSWORD " ,
"engine" : " postgresql " ,
"port" : " DB_PORT " ,
"dbname" : " DB_NAME "
} Ingrese el nombre secreto y cree el secreto. Copie el ARN y péguelo en RDS_SECRETS_MANAGER_ARN como el valor de la variable de entorno.
Consulte este tutorial: Implementar contenedores Docker con AWS ECS y Fargate