|
Download README.md from datawizard116/GenAI-Text2SQL-Analytics-Assistant: direct link, hf CLI and curl.
- Browser
- Download file 5.23 kB
-
https://huggingface.co/spaces/datawizard116/GenAI-Text2SQL-Analytics-Assistant/resolve/main/README.md
- Command line
-
hf download hf://spaces/datawizard116/GenAI-Text2SQL-Analytics-Assistant/README.md
-
curl -L -o README.md https://huggingface.co/spaces/datawizard116/GenAI-Text2SQL-Analytics-Assistant/resolve/main/README.md
5.23 kB
| 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: | |
| 1. Understand the user's business question | |
| 2. Generate optimized SQL queries dynamically | |
| 3. Execute queries on a live SQLite database | |
| 4. Return analytics results and business insights | |
| --- | |
| # ποΈ Architecture | |
| ```text | |
| 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 | |
| ```bash | |
| 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 | |
| ```text | |
| Top 5 products by revenue | |
| ``` | |
| ```text | |
| Which employee handled the most orders? | |
| ``` | |
| ```text | |
| Average order value by city | |
| ``` | |
| ```text | |
| Show revenue by product category | |
| ``` | |
| ```text | |
| 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 | |
| ```bash | |
| git clone <your_repo_url> | |
| cd TEXT2SQL-GENAI | |
| ``` | |
| --- | |
| ## 2οΈβ£ Create Virtual Environment | |
| ### Windows | |
| ```bash | |
| python -m venv venv | |
| venv\Scripts\activate | |
| ``` | |
| --- | |
| ## 3οΈβ£ Install Dependencies | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| --- | |
| ## 4οΈβ£ Configure Environment Variables | |
| Create `.env` | |
| ```env | |
| GROQ_API_KEY=your_api_key_here | |
| ``` | |
| --- | |
| # βΆοΈ Running The Project | |
| ## Step 1 β Create Database | |
| ```bash | |
| python database/create_db.py | |
| ``` | |
| --- | |
| ## Step 2 β Seed Database | |
| ```bash | |
| python database/seed_data.py | |
| ``` | |
| --- | |
| ## Step 3 β Run Streamlit App | |
| ```bash | |
| 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 | |