Multiple_CSV_ChatBot is a Streamlit-based application that allows users to upload multiple CSV files and explore their data using natural language queries. It combines the power of Pandas for basic data analysis (rows, columns, column types) with a local LLM via PandasAI for advanced insights and interactive exploration.
- Upload and manage multiple CSV files.
- View dataset previews directly in the app.
- Get basic dataset info: row count, column count, column names, data types.
- Ask natural language questions about your data and get automated insights using a local LLM.
- Simple and interactive UI powered by Streamlit.
- Clone the repository**
git clone <repo_url> cd Multiple_CSV_ChatBot
- Create and activate a virtual environment**
python3 -m venv env source env/bin/activate - Install dependencies
pip install -r requirements.txt
- Run the app
streamlit run app.py
-
Open the app in your browser (usually http://localhost:8501).
-
Upload one or more CSV files using the sidebar.
-
Select a CSV file to explore.
-
Enter your queries in natural language in the text area:
Example queries:
- "Total number of rows and columns"
- "List the column names and their data types"
- "Show the top 5 rows"
-
Click "Chat with CSV" to get insights.
- Python
- Streamlit for interactive UI
- Pandas for data manipulation
- PandasAI and a local LLM for natural language data querying
For queries about dataset structure (like rows, columns, or dtypes), the app uses Pandas directly to avoid sandbox restrictions in PandasAI.
More complex analysis queries are processed using the local LLM.