42 lines
1021 B
Markdown
42 lines
1021 B
Markdown
# FAQ Bot – ChromaDB + MCP‑tool
|
||
|
||
## What it does
|
||
|
||
* Loads a small set of markdown FAQ files into a local Chroma vector store.
|
||
* Provides a single MCP‑style tool `fetch_course_meta` that returns course metadata from a static JSON file.
|
||
* Uses a LangGraph React agent that routes a user question either to the vector store (Chroma) or to the MCP tool based on simple keyword detection.
|
||
* Interactive CLI with three example questions and a free‑form mode.
|
||
|
||
## Prerequisites
|
||
|
||
* Python 3.10+
|
||
* Ollama running locally with the `nomic-embed-text` model:
|
||
```bash
|
||
ollama pull nomic-embed-text
|
||
```
|
||
|
||
## Installation
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Running the bot
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
The script will:
|
||
1. Load `data/*.md` into Chroma.
|
||
2. Build the agent.
|
||
3. Run three sample questions.
|
||
4. Enter an interactive prompt.
|
||
|
||
## Files
|
||
|
||
* `main.py` – entry point.
|
||
* `data/*.md` – FAQ documents.
|
||
* `mock_meta.json` – static metadata used by the MCP tool.
|
||
* `requirements.txt` – dependencies.
|