It generates charts based on the data using Vega-Lite JSON specifications, ensuring safe and efficient visualization without any malicious code execution.
- CSV Processing: Reads and processes data from uploaded CSV files to generate insights.
- Chart Generation: Creates interactive charts using Vega-Lite JSON specifications, ensuring secure and reliable visualization.
- Retrieval-Augmented Generation (RAG): Employs a vector database (ChromaDB) to find the most relevant data chunks to answer user queries.
- Local LLMs: Powered by local language models via Ollama, ensuring privacy and control over the models used.
- Backend & Orchestration: Python, LangChain
- Frontend: Streamlit
- LLM Serving: Ollama
- Models:
- Generation:
Qwen
(or any other powerful chat model) - Embeddings:
granite-embedding:latest
- Generation:
- Vector Database: ChromaDB
- CSV Processing: Pandas
- CSV Upload: Users upload a CSV file containing structured data.
- Context Retrieval: Relevant data chunks are retrieved using ChromaDB.
- Chart Generation: The system generates Vega-Lite JSON specifications based on the data and renders interactive charts.
- Interactive Chat Interface: Users interact with the chatbot via a Streamlit-based UI.
-
Clone the repository:
git clone https://github.com/Aeets6/dashboard-LLM.git cd dashboard-LLM
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
streamlit run main.py
-
Upload a CSV file and start interacting with the chatbot.
DashboardLLM ensures safe operation by:
- Using Vega-Lite JSON specifications for chart generation, eliminating the risk of malicious code execution.
- Employing local language models for privacy and control.