Базовый RAG-компонент для локального семантического поиска на Python
На Хабре представлен open-source модуль quad_rag_core — лёгкое Python-ядро для локального RAG и семантического поиска по папкам проекта. Поводом стала потребность в автономном поиске для работы с кодовой базой через LLM-агентов на фоне риска, что встроенный семантический поиск в инструментах вроде Kilo Code может стать платным.
Ключевая идея — RAG-компонент как watch-сервис с автоматическим жизненным циклом индекса: сервис создаёт коллекцию в Qdrant, сканирует файлы, а затем через watchdog ловит события ФС (создание/изменение/перемещение/удаление) и пересобирает только затронутые чанки. Состояние восстанавливается после перезапуска из метаданных, сохранённых прямо в Qdrant (специальная точка с фиксированным UUID).
- Ядро включает QdrantManager, RAGFileWatcher, PathWatcherManager; есть проверки конфликтов путей, чтобы не отслеживать вложенные папки одновременно.
- Локальные модели оформлены как Singleton: эмбеддинги на nomic-ai/nomic-embed-text-v2-moe (dual-prompt: passage/query), реранкинг на BAAI/bge-reranker-v2-m3; поддержаны CUDA и батчи (например, batch_size=32).
- PDF парсятся через 3 бэкенда с fallback (PyPDF2 → fitz → pdfplumber). В конфиге заданы параметры чанкинга и пороги (CHUNK_SIZE_WORDS=150, overlap=0.15, score threshold 0.150/0.35), а также отложенная обработка изменений (по умолчанию 0.5 с).
Автор протестировал ядро в двух обёртках (MCP-сервер для LLM и локальный web-интерфейс) и отмечает почти мгновенное обновление индекса. В качестве общего вывода фиксируется сдвиг роли разработчика в сторону управления «виртуальной фабрикой» AI-разработчиков и переход от CAD к AIAD.
Читайте также
Как мы построили AI-экзоскелет для QA-инженера: от идеи до 11 автономных агентов
Возвращаем к жизни связку OpenClaw и Claude
Renga API: автоматизируем автоматизацию с помощью ИИ-агентов
Как я настроил OpenClaw для зоопарка лендингов своей компании
ИИ для управления проектами. Для чего его на самом деле применяют российские организации
- RAG как watch-сервис с инкрементальным обновлением индекса: Для локального семантического поиска по проекту полезна архитектура «watch-сервис»: система один раз сканирует папку, создаёт коллекцию в векторной БД и далее автоматически реагирует на события ФС (создание/изменение/перемещение/удаление). При изменении пересчитываются и переиндексируются только затронутые чанки, что снимает необходимость ручных full-reindex и снижает стоимость поддержания актуальности контекста.
[RAG / локальный поиск]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться