42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# FAQ Bot – ChromaDB + MCP Tool
|
||
|
||
## Overview
|
||
|
||
This repository contains a simple FAQ bot that answers questions about course materials using a local Chroma vector store and, when needed, calls a mock MCP‑style tool that returns course metadata.
|
||
|
||
The bot is built with **LangGraph** and **LangChain** and uses **Ollama** embeddings (`nomic-embed-text`).
|
||
|
||
## Prerequisites
|
||
|
||
* Python 3.10+
|
||
* Ollama server 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
|
||
```
|
||
|
||
You will be prompted to enter a question. The bot will decide whether to answer from the FAQ documents (Chroma) or to call the mock MCP tool.
|
||
|
||
## FAQ Files
|
||
|
||
The `data/` directory contains three example Markdown files that are loaded into the vector store.
|
||
|
||
## MCP‑style Tool
|
||
|
||
The tool `fetch_course_meta` simulates an external MCP call by reading a local `course_meta.json` file. In a real deployment this would be an HTTP request to an MCP server.
|
||
|
||
## License
|
||
|
||
MIT
|