AI-Chat-to-Visual / README.md
Calvinhartono's picture
Update README.md
bbbd472 verified
|
raw
history blame
3.6 kB
---
title: AI-Chat-to-Visual
emoji: πŸ“Š
colorFrom: yellow
colorTo: blue
sdk: gradio
sdk_version: 5.33.1
app_file: app.py
pinned: true
license: apache-2.0
tags:
- agent-demo-track
short_description: AI chart generator by chatting with your data
---
# πŸ’¬ Terloka Data Insight Tool
**Terloka Data Insight Tool** is an interactive, AI-powered data exploration and visualization tool for analytics.
Built with **Gradio**, **LangGraph**, **Gemini Pro (Google Generative AI)**, and **Altair**, it enables users to:
- πŸ“ Upload datasets
- 🧠 Converse with an intelligent LLM assistant
- πŸ“Š Automatically generate meaningful charts and visual insights
- πŸ’¬ Get explanations without writing code
[Product Demo](https://yotu.be/2bQNJnDkzGE)
---
## 🎯 Project Goals
- Empower business users, analysts, and domain experts to explore data **using natural language**, not code.
- Lower the barrier to insight generation by integrating **LLM-driven interfaces** with **automated visualization tools**.
- Create a flexible foundation for conversational analytics across verticals (e.g., travel, e-commerce, finance).
---
## βš™οΈ Capabilities
1. **πŸ“ File Upload**
Supports `.csv`, `.xls`, and `.xlsx` formats via the Gradio UI.
2. **πŸ€– Conversational Chatbot**
Interact with a Gemini-powered LLM to analyze and visualize your data through natural language.
3. **πŸ“ˆ Auto Visualization**
Automatically generates Altair plots based on your questions or commands.
4. **🧾 Schema & Summary View**
View data schema, column types, null value breakdowns, and duplicates.
5. **πŸ“Š Insight Generation**
Each chart comes with a smart LLM-generated textual analysis based on the data.
---
## πŸ“¦ Project Scope
### βœ… In-Scope
- Text-based interaction with the LLM.
- Plot generation using Altair.
- Data upload via the UI.
- Simple exploratory analysis: aggregations, groupings, comparisons.
- Multi-turn conversations with short-term memory.
### 🚫 Out-of-Scope (currently)
- Multi-file joins or SQL querying.
- Persistent storage or dashboarding.
- Real-time data processing or streaming.
- Access control or authentication mechanisms.
---
## 🧱 Technical Requirements
| Requirement | Description |
|--------------------|-------------|
| **Python** | Recommended 3.10+ |
| **Libraries** | `gradio`, `pandas`, `altair`, `langchain`, `langgraph`, `google-generativeai` |
| **Visualization** | Altair (for fast and declarative charting) |
| **LLM API** | Google Gemini Pro (via `langchain_google_genai`) |
| **Workflow Engine**| LangGraph (manages multi-step LLM workflows) |
## πŸ”ƒ Logic Flowchart
![Flowchart of the system](assets/langgraph_flow.png)
---
## ✨ Known Limitations
1. Only works with single flat tables (no joins).
2. Memory is ephemeral β€” uploaded data not persisted across sessions.
3. Chart library is Altair only β€” limited interactivity compared to Plotly.
---
## πŸŽ‰Future Improvements
1. Add multi-file support and relational reasoning.
2. Enable drag-and-drop dashboard building.
3. Switch between Altair and Plotly visual modes.
4. Implement authentication and user-level file storage.
5. Integrate OpenAI Assistants or Claude for broader model compatibility.
---
πŸ™Œ Credits
Developed by Terloka Bros β€” building intelligent tools to empower data storytelling.
An example chatbot using [Gradio](https://gradio.app), [`huggingface_hub`](https://huggingface.co/docs/huggingface_hub/v0.22.2/en/index), and the [Hugging Face Inference API](https://huggingface.co/docs/api-inference/index).