{"id":30925909,"url":"https://github.com/codestrate/vigilius_analyst","last_synced_at":"2026-06-10T16:31:07.512Z","repository":{"id":313561363,"uuid":"1051827561","full_name":"CodeStrate/Vigilius_Analyst","owner":"CodeStrate","description":"AI Agent that ingests datasets to query from Natural Language to SQL. Connected via Streamlit UI. More feats. TBD","archived":false,"fork":false,"pushed_at":"2025-12-25T08:58:13.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"sql-agent","last_synced_at":"2025-12-26T21:52:16.751Z","etag":null,"topics":["ai-agents","langchain-python","langgraph-python","ollama","openai-api","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodeStrate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-06T19:58:39.000Z","updated_at":"2025-12-25T08:58:16.000Z","dependencies_parsed_at":"2025-09-06T23:27:18.242Z","dependency_job_id":"f735d3cf-196e-4965-9b51-8be1173fd044","html_url":"https://github.com/CodeStrate/Vigilius_Analyst","commit_stats":null,"previous_names":["codestrate/vigilius_analyst"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodeStrate/Vigilius_Analyst","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeStrate%2FVigilius_Analyst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeStrate%2FVigilius_Analyst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeStrate%2FVigilius_Analyst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeStrate%2FVigilius_Analyst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeStrate","download_url":"https://codeload.github.com/CodeStrate/Vigilius_Analyst/tar.gz/refs/heads/sql-agent","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeStrate%2FVigilius_Analyst/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34161283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","langchain-python","langgraph-python","ollama","openai-api","python"],"created_at":"2025-09-10T05:49:58.525Z","updated_at":"2026-06-10T16:31:07.504Z","avatar_url":"https://github.com/CodeStrate.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📊 Vigilius Analyst\n\n[![Python 3.12.9+](https://img.shields.io/badge/python-≥3.12.9-blue.svg)](https://www.python.org/downloads/release/python-3129/)  \n[![Conda](https://img.shields.io/badge/conda-ready-green.svg)](https://docs.conda.io/en/latest/)\n\nAn intelligent **data analysis assistant** built with **Streamlit** and **LangGraph**/**Langchain**.  \nVigilius lets you query datasets in **natural language**, automatically generating SQL, visualizations, and insights — all powered by multiple AI providers.\n\n---\n\n## 🚀 Key Features\n\n- 🔗 **Multi-Provider AI Support**: OpenAI, Groq, Gemini, and Ollama  \n- 🧠 **Smart SQL Agent**: Generates, validates, and executes SQL from natural language  \n- 💬 **Data Assistant**: Handles small talk \u0026 intent classification  \n- 📂 **Multiple File Formats**: CSV, Excel, and SQLite database support  \n- ⚡ **Streaming Responses**: Real-time answers with clean formatting  \n- 💾 **Session Management**: Persistent chat history (Graph CheckPointer) \u0026 model configs\n\n---\n\n## 📁 Project Structure\n\nBased on the [`sql-agent`](https://github.com/CodeStrate/Vigilius_Analyst/tree/sql-agent) branch:  \n\n```\nVigilius_Analyst/\n├── agent/\n│   ├── agent_handler.py         # Core SQL agent logic\n│   ├── data_assistant_handler.py # Intent classification + small talk\n│   ├── llm_factory.py           # Multi-provider LLM factory\n│   └── prompts.py               # Agent system prompts\n│\n├── assets/\n│   └── chat_icons/              # User \u0026 bot avatars\n│\n├── backend/                     # FastAPI backend (future scope)\n│\n├── datasets/                    # Uploaded and processed datasets\n│\n├── debug/\n│   └── check_agent.py           # CLI testing tool for agents\n│\n├── prebuilt/\n│   └── react_sql_agent.py       # LangGraph ReAct SQL agent template\n│\n├── utils/\n│   ├── ai_providers.py          # Provider configs + available models\n│   ├── app_utils.py             # Streamlit utilities\n│   └── misc_utils.py            # General helper functions\n│\n├── .env                         # env file for API Keys (More in future)\n├── agent_graph.png              # Mermaid Image for Agent Graph Architecture\n├── app.py                       # Streamlit frontend entrypoint\n├── requirements.txt             # Python dependencies\n└── README.md\n```\n\n---\n\n## ⚙️ Setup Instructions\n\n### Requirements\n- **Python** ≥ 3.12.9  \n- Works on macOS, Linux, Windows  \n\n### Option 1: Virtualenv\n```bash\ngit clone https://github.com/CodeStrate/Vigilius_Analyst.git\ncd Vigilius_Analyst\npython -m venv venv\nsource venv/bin/activate   # On Windows: venv\\Scripts\\activate\npip install -r requirements.txt\n```\n\n### Option 2: Conda\n```bash\ngit clone https://github.com/CodeStrate/Vigilius_Analyst.git\ncd Vigilius_Analyst\nconda create -n vigilius python=3.12.9\nconda activate vigilius\npip install -r requirements.txt\n```\n\n### Configure Environment\nCreate a `.env` file with your keys:\n\n```ini\n# AI Provider Keys\nOPENAI_API_KEY=your_openai_key\nGROQ_API_KEY=your_groq_key\nGEMINI_API_KEY=your_gemini_key\n\n# Ollama requires no API key (runs locally)\n# Install from: https://ollama.com/download\n```\n\n### (Optional) Install Ollama Models\n```bash\nollama pull llama3:8b\n```\n\n---\n\n## ▶️ Running Vigilius\n\n**Web App (Streamlit)**\n```bash\nstreamlit run app.py\n```\n\n**Terminal Debugging**\n```bash\npython -m debug.check_agent\n```\n\n---\n\n## 🎯 Usage Guide\n\n1. **Upload Your Dataset**  \n   - Supported: CSV, Excel (.xlsx), SQLite (.db)  \n   - Files are converted to SQLite + schema analyzed  \n\n2. **Select Models**  \n   - Choose AI providers + models for SQL Agent \u0026 Data Assistant  \n   - Confirm selection to initialize  \n\n3. **Chat with Your Data**  \n   - Example queries:  \n     - “Top 10 customers by sales”  \n     - “Revenue trends by month”  \n     - “Most popular products”  \n\n4. **Get Results**  \n   - Auto-generated SQL → executed on database  \n   - Outputs as tables (whenever available, pandas WIP)\n   - Streaming responses with formatting  \n\n---\n\n## 🧩 AI Agent Architecture\n\n### SQL Agent\n- Schema discovery  \n- Query generation + validation  \n- Results formatting  \n\n### Data Assistant\n- Handles non-data queries  \n- Classifies and validates intent (SQL vs. small talk)  \n- Maintains conversation flow  \n\n### LLM Factory\n- Unified interface for all providers  \n- Dynamic model switching  \n- Provider-specific optimizations  \n\n---\n\n## 🔧 Configuration\n\n| Provider  | Models | Best For |\n|-----------|--------|----------|\n| **OpenAI** | GPT-4, GPT-3.5 | High accuracy, complex queries |\n| **Groq**   | Llama-3, Mixtral | Ultra-fast inference |\n| **Gemini** | Gemini-Pro | Google’s latest models |\n| **Ollama** | Llama3, Mistral, CodeLlama | Local, private, free |\n\n- Edit prompts → `agent/prompts.py`  \n- Adjust model configs → `agent/llm_factory.py`  \n- UI tweaks → `app.py`  \n\n---\n\n## 🧪 Testing\n\n**CLI Debugging**\n```bash\npython -m debug.check_agent\n```\n\n---\n\n## 🛠️ Future Roadmap\n\n- ✅ FastAPI backend (multi-user, sessions, API access)  \n- ✅ Persistent chat history  \n- ✅ Export results (CSV, Excel, PDF)  \n- ✅ Advanced visualizations + customization  \n- ✅ Scheduled reports + notifications  \n\n---\n\n## 🤝 Contributing\n\n1. Fork this repo  \n2. Create a branch (`git checkout -b feature/your-feature`)  \n3. Commit (`git commit -m \"Add your feature\"`)  \n4. Push (`git push origin feature/your-feature`)  \n5. Open a Pull Request  \n\n---\n\n## 📞 Support\n\nFor help or feature requests, please [open an issue](../../issues).  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodestrate%2Fvigilius_analyst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodestrate%2Fvigilius_analyst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodestrate%2Fvigilius_analyst/lists"}