add README.md

This commit is contained in:
2026-06-05 11:24:08 +00:00
parent 08d9293cae
commit 0231c1f318
+19 -19
View File
@@ -1,15 +1,16 @@
# FAQ Bot ChromaDB + MCP Tool # FAQ Bot ChromaDB + MCPtool
## 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 MCPstyle tool that returns course metadata. * Loads a small set of markdown FAQ files into a local Chroma vector store.
* Provides a single MCPstyle 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 freeform mode.
## Prerequisites ## Prerequisites
* Python 3.10+ * Python3.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.
## MCPstyle 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