Files
openclaude-LLM-local/docs/rag-mcp-stack.md
T
2026-04-21 15:37:43 +10:00

3.2 KiB

RAG, минимальный стек и отладка MCP

Что такое RAG

RAG (Retrieval-Augmented Generation) — подход, при котором модель отвечает не только из «общих» весов, а сначала находит релевантные фрагменты в ваших данных (документы, база знаний, код), подмешивает их в контекст и уже тогда формулирует ответ.

Из чего состоит RAG-стек

  1. Документыmd / pdf / txt, wiki, выгрузки и т.д.
  2. Chunking — разбиение текста на фрагменты фиксированного размера с перекрытием.
  3. Embeddings — векторное представление каждого фрагмента.
  4. Vector DB — хранение векторов и поиск ближайших соседей по запросу.
  5. Retriever — например MCP-инструмент search_docs: достаёт релевантный контекст по вопросу пользователя.
  6. LLM — генерирует ответ с учётом найденного контекста (и при желании с явными ссылками на источники).

Плюсы такого контура:

  • ответы опираются на ваши материалы;
  • обычно меньше голых галлюцинаций по фактам из документации;
  • проще проверять происхождение ответа (по найденным чанкам и источникам).

Минимальная локальная конфигурация (этот репозиторий)

Рекомендуемая база:

  • Embeddings: nomic-embed-text (через Ollama)
  • Vector DB: Qdrant
  • Retrieval tool: MCP search_docs

Готовый пример скриптов и compose: каталог rag-mcp-starter/.

Минимальная схема:

  1. Сложить документы (md/txt/pdf).
  2. Разбить на чанки (chunk_size ~1000, overlap ~120).
  3. Сделать embeddings.
  4. Записать в Qdrant.
  5. Поднять MCP-инструмент search_docs.
  6. Вызывать его из OpenClaude.

Быстрый сценарий «с нуля за 30 минут» на Ubuntu: quickstart-30min.md.

Интеграция с Git и индексация репозитория как базы знаний: openclaude-with-repositories.md.

Чек-лист, если MCP «не виден»

  1. MCP-сервер стартует вручную из каталога starter:
cd docs/rag-mcp-starter
python mcp_server.py
  1. Зависимости установлены:
python -c "import fastmcp, qdrant_client, requests; print('ok')"
  1. Пути в ~/.claude/settings.json корректны (command, args).
  2. Qdrant доступен: curl http://127.0.0.1:6333/collections
  3. Ollama доступен: curl http://127.0.0.1:11434/api/tags