CSV Explorer is a powerful web-based application that allows users to interact with CSV data in a conversational manner using LangChain and visualize data correlations using HoloViz Panel and Plotly. This tool leverages the power of large language models (LLMs) like OpenAI to understand natural language queries and extract insights from your datasets.
- Natural Language Interaction: Query your CSV data with natural language questions like “What is the correlation between X and Y?” or “Show me the rows where value A is greater than B.”
- Dynamic Data Visualization: Instantly generate interactive plots (scatter, line, bar, etc.) to visualize correlations and relationships between values.
- Real-time Insights: Get immediate responses with insights, visualizations, and correlations by asking questions in plain English.
- Chat-based Interface: A chatbox interface that allows easy interaction and exploration of your data.
- LangChain: Facilitates the use of large language models (LLMs) for processing natural language queries and interacting with data.
- HoloViz Panel: Provides a highly interactive and responsive UI for visualizing data and managing user inputs.
- Plotly: Used for rendering dynamic and interactive visualizations directly from your data.
- Pandas: Powers the backend for data manipulation and processing.
- OpenAI GPT-3.5: Serves as the LLM for parsing natural language and generating data-driven insights.
- Clone the repository:
git clone https://github.com/yourusername/csv-explorer-langchain-panel.git
cd csv-explorer-langchain-panel
- Install the required dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key:
export OPENAI_API_KEY=your_openai_api_key
panel serve app.py
- Upload a CSV: Upload any CSV file to analyze.
- Ask Questions: Type your questions about the data in the chatbox, such as “Find the correlation between ‘Age’ and ‘Income’.”
- Visualize Data: Instantly visualize the correlation or data trends via interactive plots generated by the app.
- Explore Interactively: Filter data, adjust axes, and refine your queries in real time.