# rag-mcp-starter Минимальный стартовый набор для локального RAG + MCP: - `docker-compose.yml` - Qdrant - `index.py` - индексация документов в Qdrant - `mcp_server.py` - MCP инструменты `search_docs` и `answer_with_citations` - `requirements.txt` - Python зависимости - `install.sh` - one-command bootstrap для Ubuntu ## Быстрый запуск ```bash docker compose up -d python3 -m venv .venv source .venv/bin/activate pip install -U pip pip install -r requirements.txt mkdir -p docs # Добавьте документы в docs/ python index.py python mcp_server.py ``` ## Автоматический bootstrap ```bash chmod +x install.sh ./install.sh ``` Опции: ```bash ./install.sh --skip-model-pull ./install.sh --docs-dir /path/to/my/docs ``` ## Минимальный bootstrap (без RAG-стека) Если нужен только OpenClaude + локальная модель (без Docker/Qdrant): ```bash chmod +x install-minimal.sh ./install-minimal.sh ``` Опции: ```bash ./install-minimal.sh --model qwen2.5:3b ./install-minimal.sh --skip-model-pull ``` ## Healthcheck Проверка готовности стенда: ```bash chmod +x healthcheck.sh ./healthcheck.sh ``` Полная проверка (включая Qdrant/venv/deps): ```bash ./healthcheck.sh --mode full ``` ## Status dashboard Компактный статус одним запуском: ```bash chmod +x status.sh ./status.sh ``` С кастомной моделью: ```bash ./status.sh --model qwen2.5:3b ``` ## Backup Создание бэкапа конфигов, списка моделей и snapshot Qdrant: ```bash chmod +x backup.sh ./backup.sh ``` С кастомной папкой: ```bash ./backup.sh --output-dir /path/to/backups ``` С кастомной коллекцией: ```bash ./backup.sh --collection mydocs ``` ## Restore Полуавтоматическое восстановление из бэкапа: ```bash chmod +x restore.sh ./restore.sh --from /path/to/backup_YYYYMMDD_HHMMSS ``` Восстановление snapshot points в Qdrant (best-effort): ```bash ./restore.sh --from /path/to/backup_YYYYMMDD_HHMMSS --apply-qdrant ``` После восстановления: ```bash ./healthcheck.sh --mode full ``` ## Upgrade (safe workflow) Безопасное обновление: backup -> update -> healthcheck -> rollback configs при ошибке. ```bash chmod +x upgrade.sh ./upgrade.sh ``` Опции: ```bash ./upgrade.sh --model qwen2.5:3b ./upgrade.sh --skip-model-pull ``` ## Переменные окружения - `QDRANT_URL` (default `http://127.0.0.1:6333`) - `QDRANT_COLLECTION` (default `docs`) - `EMBED_MODEL` (default `nomic-embed-text`) - `GEN_MODEL` (default `qwen2.5-coder:7b`) - `RAG_DOCS_DIR` (default `./docs`) - `CHUNK_SIZE` (default `1000`) - `CHUNK_OVERLAP` (default `120`)