This application provides an intuitive interface for users to upload CSV files, analyze datasets, and generate insights through visualizations—all without requiring any coding expertise. By leveraging advanced data processing and natural language understanding capabilities, the application empowers users to explore their data, define goals, and create compelling visuals effortlessly.
- File Upload: Users can upload CSV files from their local machine.
- Custom Delimiters: Choose the appropriate delimiter for your file (e.g.,
,
,;
,|
). - Dynamic Data Parsing: Automatically detects column names, data types, and other key properties.
- Automatic Summarization: Generates a detailed JSON summary of the dataset, including:
- Dataset Name
- Dataset Description
- Column Names and Descriptions
- Sample Data Points
- Statistical Properties (e.g., mean, median, mode, etc.).
- Provides a clear and comprehensive understanding of the dataset’s structure.
- Interactive Goal Setting: Click the "Generate Goals" button to create 5 tailored goals based on the dataset.
- Each goal includes:
- Question: What insight is being sought?
- Visualization Type: Suggested visual (e.g., bar chart, pie chart, line graph).
- Rationale: Why this visualization is relevant to the dataset.
- Data-Driven Visuals: Use the generated goals to create beautiful, meaningful visualizations directly from the dataset.
- Query Support: Ask questions about the dataset in plain English.
- Example: "Show me the sales trend over the last 6 months."
- AI-Powered Visualization: Translates queries into corresponding visualizations without requiring any coding.
- Upload: Import your CSV file and select the delimiter.
- Generate Summary: View a comprehensive JSON summary of the dataset.
- Set Goals: Automatically create 5 actionable goals based on the dataset’s properties.
- Create Visuals: Generate visuals for the defined goals or query the dataset using natural language.
- Iterate and Analyze: Explore your data, query your data, and extract meaningful insights.
-
Clone the Repository:
git clone https://github.com/Mohit-Agarwal-17/Visualizations-using-Natural-Language.git cd Visualizations-using-Natural-Language
-
Install Dependencies:
pip install -r requirements.txt
-
Set Up Environment Variables:
- Create a
.env
file in the root directory:touch .env
- Open the
.env
file in a text editor and add the following keys:GOOGLE_API_KEY=<your_google_api_key_here> GROQ_API_KEY=<your_groq_api_key_here>
- Replace
<your_google_api_key_here>
and<your_groq_api_key_here>
with your actual API keys, depending on which model you want to use. You can also change the models inAgentBuilder.py
andGoalGenerator.py
files.
- Create a
-
Run the Application:
cd app streamlit run nl_Visuals.py
-
Access the App: Open your browser and navigate to
http://localhost:8501
.
Enjoy exploring your data effortlessly! 🎉