ในช่วงไม่กี่ปีที่ผ่านมาความทันสมัยของข้อมูลได้กลายเป็นจุดสำคัญสำหรับการผลักดันการตัดสินใจอย่างชาญฉลาดและนวัตกรรมในองค์กร อย่างไรก็ตามการสกัดข้อมูลเชิงลึกมักขึ้นอยู่กับบุคลากรจำนวนน้อยที่มีทักษะ SQL พิเศษสร้างแรงเสียดทานและความล่าช้าในการเข้าถึงข้อมูลที่มีความหมาย NQL มีจุดมุ่งหมายที่จะทำให้ข้อมูลเชิงลึกที่ขับเคลื่อนด้วยข้อมูลประชาธิปไตยทั่วทั้งองค์กรโดยใช้ Generative AI เพื่อเชื่อมช่องว่างระหว่างภาษาธรรมชาติและ SQL การทำงานเหมือนเครื่องมือค้นหาช่วยให้ผู้ใช้สามารถป้อนคำถามในภาษาธรรมดาและสร้างแบบสอบถามโดยอัตโนมัติเพื่อดึงข้อมูลที่ต้องการ สิ่งนี้ทำให้ความคล่องตัวและเปิดการเข้าถึงข้อมูลสำหรับสมาชิกทุกคนในองค์กรเพิ่มความคล่องตัวและอำนวยความสะดวกในการตัดสินใจที่ขับเคลื่อนด้วยข้อมูล
ปัจจุบันโครงการอยู่ในช่วงปลายของการพัฒนา ในขณะที่ยังมีบางสิ่งที่ยังไม่ได้รับการปรับปรุง แต่มันเป็นตัวอย่างที่ทำงานได้อย่างเต็มที่ซึ่งสามารถใช้งานได้ในเชิงพาณิชย์
ปัจจุบัน NQL รองรับการสืบค้น:
ฐานข้อมูลเชิงสัมพันธ์อื่น ๆ ไม่ได้รับการสนับสนุน ณ เวลาปัจจุบัน

คุณสามารถใช้งูหลามธรรมดา VENV หรือ Conda สมมติว่านี่เป็นตัวเลือกให้คุณเลือก
./setup.sh หากคุณต้องการใช้สมุดบันทึก Jupyter สำหรับการทดสอบคุณสามารถสร้างไดเรกทอรี .ipynb Notebooks In /notebooks และดาวน์โหลดการพึ่งพาที่จำเป็น
pip install -r requirements-dev.txtในการเชื่อมต่อกับ RDS ในพื้นที่เราขอแนะนำให้ใช้โฮสต์ EC2 Bastion เนื่องจากความเรียบง่าย อย่างไรก็ตามเนื่องจากการปฏิบัติตามความปลอดภัย ไม่ได้ ตั้งค่าเครือข่าย Ingress เพื่ออนุญาตให้มีการเชื่อมต่อทั้งหมดจากพอร์ต 22 แทนใช้ AWS System Manager เพื่อเข้าถึง SSH อ้างถึงบทความนี้: ใช้พอร์ตการส่งต่อใน AWS Systems Manager 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 Dump นั้นอยู่ใน Amazon WorkDocs แล้วโปรดดูไฟล์ Temenos.nql สำหรับการทิ้งข้อมูล
psql -U postgres -d < DATABASE_NAME > -f /tmp/psql_data/temenos.sql ; นำทางไปยัง AWS Secrets Manager ใน AWS Console และคลิก 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