# FAQ Bot – ChromaDB + MCP‑style Tool This repository implements a small FAQ bot that answers questions about a course. The bot uses: * **ChromaDB** (via `langchain_chroma`) for local semantic search over markdown notes. * **Ollama** embeddings (`nomic-embed-text`) and a local LLM (`llama3`). * A **single MCP‑style tool** that mimics a metadata service. * A **LangChain agent** that routes queries to the correct tool and tags the answer with a source. The bot is launched from the command line and offers three preset questions (two for the FAQ store, one for metadata) as well as an interactive mode. ## Setup ```bash # Pull the required Ollama model ollama pull nomic-embed-text ollama pull llama3 # Install dependencies pip install -r requirements.txt ``` ## Running the bot ```bash python main.py ``` You will see three preset questions. Type the number or a custom question and press **Enter**. Type `/quit` to exit. ## Project structure ``` ├── data/ # Markdown FAQ files and static metadata JSON ├── config.py # Configuration constants ├── chunker.py # Text chunking helper ├── vector_store.py # Chroma store and search tool ├── tools.py # LangChain tools (search + MCP‑style) ├── main.py # Entry point & CLI ├── requirements.txt └── README.md ``` ## License MIT