В последние годы модернизация данных стала ключевой для управления информированным принятием решений и инноваций в организациях. Тем не менее, извлечение понимания часто опирается на небольшое количество персонала со специализированными навыками SQL, создавая трение и задержки в доступе к значимой информации. NQL стремится демократизировать данные, управляемые данными, используя генеративный ИИ для преодоления разрыва между естественным языком и 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 Manager для подключения к удаленным хостам
Используйте этот сценарий, чтобы запустить порт -туннелирование через бастионный хост.
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 ; Перейдите к менеджеру Secrets AWS в консоли AWS и нажмите 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 в качестве значения переменной среды.
Пожалуйста, обратитесь к этому уроку: развернуть контейнеры Docker с AWS ECS & Fargate