An AI-powered Streamlit application for analyzing CSV data using LangChain agents and GROQ's LLaMA-3 model.
Project Deployed on Render: https://your-csv-analyzer-app.onrender.com
This project is an intelligent data analysis tool that allows users to:
- Upload CSV files for instant analysis
- Get AI-powered insights through natural language queries
- Visualize data with interactive charts
- Leverage GROQ's high-performance LLaMA-3 model for accurate responses
Key components:
- CSV Processing: Clean loading and preview of uploaded data
- Natural Language Interface: Ask questions in plain English
- Data Visualization: Automatic chart generation for numeric columns
- Custom UI: Professionally styled Streamlit interface
- CSV Upload & Preview: Quickly view uploaded data structure
- Interactive Visualizations:
- Bar charts
- Line charts
- Area charts
- AI-Powered Analysis:
- Natural language query processing
- Intelligent response generation
- User-Friendly Interface:
- Clean, modern design
- Responsive layout
- Custom CSS styling
- Multi-Column Analysis: Select specific columns for visualization
- Python 3.10+
- Streamlit - Web application framework
- LangChain - LLM integration framework
- GROQ LLaMA-3 - High-performance LLM API
- Pandas - Data manipulation and analysis
- Python-dotenv - Environment management
- Clone the repository:
git clone https://github.com/thelakshyadubey/csv_data_analysis.git
cd csv_data_analysis- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
echo "GROQ_API_KEY=your_api_key_here" > .env- Run the application:
streamlit run app.py- In the browser:
- Upload a CSV file
- View data preview
- Select columns for visualization
- Ask questions about your data
- View generated visualizations and responses
csv-data-analyzer/
├── app.py # Main application file
├── llm_utils.py # LLM integration utilities
├── css_utils.py # CSS injection utilities
├── style.css # Custom styles
├── assets/
│ └── background.png # Background image
├── requirements.txt # Dependencies
└── README.md # Project documentation
1. Data Upload:
- User uploads a CSV file
- System loads data into Pandas DataFrame
- Displays preview of the data
2. Visualization:
- Automatically detects numeric columns
- Provides multiple chart types
- Allows column selection
3. Natural Language Processing:
- User enters question in text area
- LangChain agent processes query using LLaMA-3
- Returns human-readable response
Lakshya Dubey


