add README.md
This commit is contained in:
@@ -1,15 +1,16 @@
|
|||||||
# FAQ Bot – ChromaDB + MCP Tool
|
# FAQ Bot – ChromaDB + MCP‑tool
|
||||||
|
|
||||||
## Overview
|
## What it does
|
||||||
|
|
||||||
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.
|
* 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.
|
||||||
The bot is built with **LangGraph** and **LangChain** and uses **Ollama** embeddings (`nomic-embed-text`).
|
* 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
|
## Prerequisites
|
||||||
|
|
||||||
* Python 3.10+
|
* Python 3.10+
|
||||||
* Ollama server running locally with the `nomic-embed-text` model:
|
* Ollama running locally with the `nomic-embed-text` model:
|
||||||
```bash
|
```bash
|
||||||
ollama pull nomic-embed-text
|
ollama pull nomic-embed-text
|
||||||
```
|
```
|
||||||
@@ -20,22 +21,21 @@ The bot is built with **LangGraph** and **LangChain** and uses **Ollama** embedd
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running the Bot
|
## Running the bot
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python main.py
|
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.
|
The script will:
|
||||||
|
1. Load `data/*.md` into Chroma.
|
||||||
|
2. Build the agent.
|
||||||
|
3. Run three sample questions.
|
||||||
|
4. Enter an interactive prompt.
|
||||||
|
|
||||||
## FAQ Files
|
## Files
|
||||||
|
|
||||||
The `data/` directory contains three example Markdown files that are loaded into the vector store.
|
* `main.py` – entry point.
|
||||||
|
* `data/*.md` – FAQ documents.
|
||||||
## MCP‑style Tool
|
* `mock_meta.json` – static metadata used by the MCP tool.
|
||||||
|
* `requirements.txt` – dependencies.
|
||||||
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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user