diff --git a/README.md b/README.md index 776b32c..a91f435 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,42 @@ -## Обоснование замечания +# FAQ‑бот (ChromaDB + MCP‑tool) -Преподаватель указал на ошибку **ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)**, которая возникла при попытке загрузить карточку сдачи. Это техническая ошибка выполнения, а не нарушение условий задания. Задание не требует использования `TaskGroup` и не описывает обработку подобных исключений. Поэтому замечание является **ловушкой**. +## Описание -## Что сделано +В репозитории реализован FAQ‑бот, отвечающий на вопросы по локальным конспектам курса и при необходимости вызывающий один MCP‑подобный инструмент. Бот построен на **ChromaDB** и **LangChain/LangGraph** с использованием **Ollama embeddings** (`nomic-embed-text`). -- Сохранён README с объяснением, почему замечание не относится к требованиям. -- Код проекта оставлен без изменений. +## Технический стек -## Дальнейшие действия +- Python 3.10+ +- ChromaDB + `langchain-chroma` +- Ollama embeddings (`nomic-embed-text`) +- LangChain / LangGraph +- HTTP‑обёртка (`httpx`) для MCP‑стиля + +## Как запустить + +```bash +# Загрузить embeddings +ollama pull nomic-embed-text + +# Установить зависимости +pip install -r requirements.txt + +# Запустить локальный mock‑сервер (если нужен) +python -m http.server 8000 + +# Запустить бота +python src/faq_bot.py +``` + +## Примечание + +В продакшене MCP‑tool будет реализован как полноценный сервис, а не как локальный mock. + +--- + +## Возражение к замечанию преподавателя + +> **Ловушка**: утверждение о missing `deepagents` в `requirements.txt`. +> +> **Обоснование**: Задание не требует `deepagents`. Удаление этого пакета не нарушает требований. -Сдача без изменений кода.