A newer version of the Streamlit SDK is available: 1.59.1
title: GenAI Text2SQL Analytics Assistant
emoji: π€
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.45.1
app_file: app.py
pinned: false
license: mit
π€ GenAI Text2SQL Analytics Assistant
An advanced Generative AI-powered analytics assistant that converts natural language questions into executable SQL queries and retrieves insights from a live relational database.
Built using LangChain, Groq LLMs, SQLAlchemy, SQLite, and Streamlit.
π Features
- Natural Language to SQL Conversion
- Live Database Query Execution
- AI-Powered Business Analytics
- SQL Query Transparency
- Interactive Analytics Dashboard
- CSV Export Functionality
- Automatic SQL Cleaning & Validation
- Multi-table SQL Reasoning
- Conversational Analytics Experience
- Real-time Data Insights
π§ How It Works
The application does not train a custom AI model.
Instead, it uses a Large Language Model (LLM) to:
- Understand the user's business question
- Generate optimized SQL queries dynamically
- Execute queries on a live SQLite database
- Return analytics results and business insights
ποΈ Architecture
User Query
β
LLM (Groq + LangChain)
β
SQL Query Generation
β
SQLite Database Execution
β
Analytics Results
β
AI Business Summary + Visualization
π οΈ Tech Stack
| Category | Technology |
|---|---|
| LLM Provider | Groq |
| Framework | LangChain |
| Database | SQLite |
| ORM | SQLAlchemy |
| Frontend | Streamlit |
| Data Generation | Faker |
| Data Processing | Pandas |
| Language | Python |
π Project Structure
TEXT2SQL-GENAI/
β
βββ agents/
β βββ sql_agent.py
β βββ langchain_sql_agent.py
β
βββ database/
β βββ create_db.py
β βββ seed_data.py
β βββ ecommerce.db
β
βββ prompts/
β βββ sql_prompt.py
β
βββ utils/
β βββ sql_utils.py
β βββ query_engine.py
β
βββ app.py
βββ requirements.txt
βββ .env
βββ README.md
ποΈ Database Schema
The project uses a relational e-commerce database containing:
- Customers
- Products
- Employees
- Orders
- Order Items
The database was populated with synthetic business data using Faker.
π Example Questions
Top 5 products by revenue
Which employee handled the most orders?
Average order value by city
Show revenue by product category
Top customers by spending
π₯ Advanced Features Implemented
β Schema-Aware Prompting
Injected database schema directly into prompts to improve SQL accuracy.
β SQL Cleaning
Automatically removes markdown formatting and cleans generated SQL.
β Error Handling & Retry Logic
Detects invalid SQL queries and retries with correction prompts.
β LangChain SQL Agent
Implemented autonomous SQL reasoning using LangChain SQL Agent.
β AI Business Summaries
Generates human-readable business insights from query results.
β Interactive Analytics Dashboard
Built using Streamlit with:
- Data tables
- SQL visibility
- CSV export
- Charts and visualizations
π Sample Analytics Capabilities
- Revenue Analysis
- Customer Segmentation
- Product Performance
- Sales Trends
- Employee Performance Metrics
- Business Intelligence Reporting
βοΈ Installation
1οΈβ£ Clone Repository
git clone <your_repo_url>
cd TEXT2SQL-GENAI
2οΈβ£ Create Virtual Environment
Windows
python -m venv venv
venv\Scripts\activate
3οΈβ£ Install Dependencies
pip install -r requirements.txt
4οΈβ£ Configure Environment Variables
Create .env
GROQ_API_KEY=your_api_key_here
βΆοΈ Running The Project
Step 1 β Create Database
python database/create_db.py
Step 2 β Seed Database
python database/seed_data.py
Step 3 β Run Streamlit App
streamlit run app.py
π Key Learning Outcomes
- Generative AI Application Development
- Prompt Engineering
- LangChain Agent Workflows
- SQL Query Generation
- Database Integration with LLMs
- Conversational Analytics Systems
- Streamlit Dashboard Development
- AI-powered Business Intelligence
π― Future Improvements
- PostgreSQL Support
- Authentication System
- Query History
- Role-Based Access Control
- Real-time Streaming Responses
- Data Upload & Auto Analysis
- Multi-turn Conversational Memory
- Advanced Chart Visualizations
π Important Note
This project does not fine-tune or train an LLM.
Instead, it demonstrates:
- LLM orchestration
- schema-aware prompting
- live SQL generation
- autonomous database querying
- AI analytics workflows
which closely reflects real-world enterprise GenAI systems.
π¨βπ» Author
Mohd Faizanullah