# FAQ Bot with Chroma and MCP Tool ## Overview This project implements a FAQ bot that can answer questions from a local set of FAQ markdown files and from an external course metadata service via an MCP‑style HTTP tool. - **Local data** – loaded from `data/` and persisted in a Chroma vector store. - **MCP tool** – HTTP GET request to `https://api.example.com/course_meta`. - **LLM** – Ollama’s `llama3` model with `nomic-embed-text` embeddings. - **CLI** – preset questions and interactive mode. ## Setup ### 1. Clone the repo ```bash git clone cd ``` ### 2. Create a virtual environment ```bash python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate ``` ### 3. Install dependencies ```bash pip install -r requirements.txt ``` ### 4. Download the Ollama model ```bash ollama pull nomic-embed-text ``` ### 5. Set environment variables Create a `.env` file in the project root: ``` OLLAMA_BASE_URL=http://localhost:11434/v1 ``` (If you run Ollama on a different host/port, adjust accordingly.) ## Running the Bot ```bash python agent.py ``` You will see preset questions. Select a number or type a custom question. ## Data Folder Place your FAQ markdown files in the `data/` directory. The bot will automatically load them on first run and persist the vector store in `chromadb/`. ## Dependencies See `requirements.txt` for exact versions.