34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# FAQ‑бот (ChromaDB + MCP‑tool)
|
||
|
||
## Задача
|
||
Построить агента, который отвечает на вопросы по локальным конспектам курса (ChromaDB) и при необходимости вызывает один внешний MCP‑подобный инструмент.
|
||
|
||
## Стек
|
||
- Python 3.10+
|
||
- ChromaDB + `langchain-chroma`
|
||
- Ollama embeddings (`nomic-embed-text`)
|
||
- LangChain agent / LangGraph
|
||
- Один HTTP‑tool (httpx) – имитирует MCP‑сервер.
|
||
|
||
## Как запустить
|
||
```bash
|
||
# 1. Установить зависимости
|
||
pip install -r requirements.txt
|
||
|
||
# 2. Запустить локальный mock‑сервис (если нужен)
|
||
python mock_server.py &
|
||
|
||
# 3. Инициализировать базу данных
|
||
python init_chroma.py
|
||
|
||
# 4. Запустить бота
|
||
python main.py
|
||
```
|
||
|
||
## Файлы проекта
|
||
- `data/` – Markdown‑конспекты.
|
||
- `init_chroma.py` – загрузка файлов в Chroma.
|
||
- `mock_server.py` – простой HTTP‑сервер, отдающий JSON‑метаданные.
|
||
- `main.py` – точка входа: CLI и агент.
|
||
- `requirements.txt` – зависимости.
|