c0f5828d0b
Made-with: Cursor
152 lines
2.9 KiB
Markdown
152 lines
2.9 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`)
|