From 6686337305c707732210fa0da452231a8b021ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=A0=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Thu, 4 Jun 2026 23:22:58 +0000 Subject: [PATCH] Update README.md --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db48395..af50295 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,52 @@ -# task-6a1d75c5fd30e81cf3126ae7 +# FAQ‑Bot – ChromaDB + MCP Tool -Повторный экзамен: FAQ-бот — ChromaDB + один MCP-tool \ No newline at end of file +## Overview +This project implements an FAQ‑bot that answers questions about local course notes stored in Markdown files using **ChromaDB** for retrieval and a single **MCP‑style tool** for metadata queries. + +- **Local knowledge** – 2–3 `.md` files in `data/`. +- **Vector store** – ChromaDB with Ollama embeddings. +- **Tool** – `fetch_course_meta` that performs a GET request to a local JSON file (mock MCP server). +- **Agent** – LangGraph agent that routes the query to the appropriate source and labels the answer with `source: chroma | mcp_meta`. +- **CLI** – 3 example questions (2 for Chroma, 1 for meta) and an interactive mode. + +## Setup +```bash +# Pull Ollama model +ollama pull nomic-embed-text + +# Install dependencies +pip install -r requirements.txt + +# Start local mock MCP server (JSON file) +python -m http.server 8000 --directory mock +``` + +## Running the Bot +```bash +python main.py --question "What is the course schedule?" +``` + +## Example Questions +1. **Chroma** – *"What topics are covered in week 3?"* +2. **Chroma** – *"How many hours per week are required?"* +3. **Meta** – *"What is the course schedule?"* + +## Project Structure +``` +├── data/ # Markdown FAQ files +├── mock/ # JSON mock MCP server +├── src/ +│ ├── agent.py # LangGraph agent definition +│ ├── chunker.py # Chroma loader +│ ├── cli.py # CLI interface +│ ├── config.py # Config & constants +│ ├── init_loader.py # Bulk loader +│ ├── qdrant_store.py # Vector store helper +│ ├── rag_tools.py # Search & meta tools +│ ├── tools.py # MCP wrapper +│ └── vector_store.py # Chroma store +└── requirements.txt +``` + +## License +MIT \ No newline at end of file