c589a216be
Made-with: Cursor
3.2 KiB
3.2 KiB
RAG, минимальный стек и отладка MCP
Что такое RAG
RAG (Retrieval-Augmented Generation) — подход, при котором модель отвечает не только из «общих» весов, а сначала находит релевантные фрагменты в ваших данных (документы, база знаний, код), подмешивает их в контекст и уже тогда формулирует ответ.
Из чего состоит RAG-стек
- Документы —
md/pdf/txt, wiki, выгрузки и т.д. - Chunking — разбиение текста на фрагменты фиксированного размера с перекрытием.
- Embeddings — векторное представление каждого фрагмента.
- Vector DB — хранение векторов и поиск ближайших соседей по запросу.
- Retriever — например MCP-инструмент
search_docs: достаёт релевантный контекст по вопросу пользователя. - LLM — генерирует ответ с учётом найденного контекста (и при желании с явными ссылками на источники).
Плюсы такого контура:
- ответы опираются на ваши материалы;
- обычно меньше голых галлюцинаций по фактам из документации;
- проще проверять происхождение ответа (по найденным чанкам и источникам).
Минимальная локальная конфигурация (этот репозиторий)
Рекомендуемая база:
- Embeddings:
nomic-embed-text(через Ollama) - Vector DB: Qdrant
- Retrieval tool: MCP
search_docs
Готовый пример скриптов и compose: каталог rag-mcp-starter/.
Минимальная схема:
- Сложить документы (
md/txt/pdf). - Разбить на чанки (
chunk_size ~1000, overlap~120). - Сделать embeddings.
- Записать в Qdrant.
- Поднять MCP-инструмент
search_docs. - Вызывать его из OpenClaude.
Быстрый сценарий «с нуля за 30 минут» на Ubuntu: quickstart-30min.md.
Интеграция с Git и индексация репозитория как базы знаний: openclaude-with-repositories.md.
Чек-лист, если MCP «не виден»
- MCP-сервер стартует вручную из каталога starter:
cd docs/rag-mcp-starter
python mcp_server.py
- Зависимости установлены:
python -c "import fastmcp, qdrant_client, requests; print('ok')"
- Пути в
~/.claude/settings.jsonкорректны (command,args). - Qdrant доступен:
curl http://127.0.0.1:6333/collections - Ollama доступен:
curl http://127.0.0.1:11434/api/tags