c589a216be
Made-with: Cursor
156 lines
3.0 KiB
Markdown
156 lines
3.0 KiB
Markdown
# 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`)
|
||
|
||
## См. также
|
||
|
||
- Обзор RAG и связка с OpenClaude: [../rag-mcp-stack.md](../rag-mcp-stack.md)
|