A Retrieval-Augmented Generation (RAG) system built for offline, privacy-focused document analysis. It utilizes a stateful agentic workflow to retrieve, filter, and generate answers based on PDF context, running entirely on local hardware via Ollama.
- Frontend: Streamlit
- Backend: Flask
- Orchestration: LangGraph (Stateful Agent Workflow)
- Vector Store: ChromaDB
- Inference: Ollama (Phi-3.5 / mxbai-embed-large)
app.py: Frontend interface (Streamlit).server.py: Backend API (Flask). Handles ingestion pipeline and RAG state graph.colab/: Contains the original research notebook for cloud-based execution.
- Python 3.10+
- Ollama (running locally)
-
Clone & Environment
git clone <repo_url> cd chatbot_colab python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Dependencies
pip install -r requirements.txt
-
Model Setup Ensure Ollama is running and pull the necessary weights:
ollama pull phi3.5 ollama pull mxbai-embed-large
- Backend:
python server.pyServer runs on port 8000. - Frontend:
streamlit run app.pyInterface available at http://localhost:8501.
The core logic was originally validated in a Google Colab environment. If you do not have a local GPU capable of running LLMs, or wish to review the initial research phase, refer to the notebook:
- Notebook:
colab/chatbot_work_proj.ipynb