34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# FAQ‑бот (ChromaDB + MCP‑tool)
|
||
|
||
## Что делает
|
||
- Загружает локальные `.md` файлы в ChromaDB.
|
||
- Предоставляет два инструмента:
|
||
1. `search_course_docs` – поиск по FAQ.
|
||
2. `fetch_course_meta` – получение метаданных курса (расписание, преподаватель).
|
||
- Агент на основе LangChain‑Agent использует только нужный инструмент и указывает источник ответа.
|
||
|
||
## Как запустить
|
||
```bash
|
||
# Установить зависимости
|
||
pip install -r requirements.txt
|
||
|
||
# Подготовить базу FAQ
|
||
python -c "from src.utils import load_faq_to_chroma; load_faq_to_chroma()"
|
||
|
||
# Запустить mock‑сервер метаданных (если нужен HTTP‑tool)
|
||
python -m http.server 8000 # или используйте встроенный сервер в src/mcp_tool.py
|
||
|
||
# Запустить CLI‑бота
|
||
python src/agent.py --question "Какой у нас график занятий?"
|
||
```
|
||
|
||
## Тестовые вопросы
|
||
1. `Какой у нас график занятий?` – должен использовать `fetch_course_meta`.
|
||
2. `Что такое ChromaDB?` – должен использовать `search_course_docs`.
|
||
3. `Кто преподаватель?` – должен использовать `fetch_course_meta`.
|
||
|
||
## Структура репозитория
|
||
- `data/` – исходные `.md` и `course_meta.json`.
|
||
- `src/` – код бота.
|
||
- `requirements.txt` – зависимости.
|