Базовый 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.
Читайте также
Сколько железа нужно ИИ-агенту: как считали ресурсы для on-premise LLM и почему калькуляторы ошиблись в 5 раз
Муниципальная компания Рио-де-Жанейро выпустила открытую ИИ-модель на 397 млрд параметров
Как AI-агент и локальные модели помогли за вечер разобрать 36 000 фотографий и почту с 2005 года
Как подключить Obsidian к LLM через MCP и перестать копировать заметки вручную
Стоит ли использовать Qwen: качество и цена
- RAG как watch-сервис с инкрементальным обновлением индекса: Для локального семантического поиска по проекту полезна архитектура «watch-сервис»: система один раз сканирует папку, создаёт коллекцию в векторной БД и далее автоматически реагирует на события ФС (создание/изменение/перемещение/удаление). При изменении пересчитываются и переиндексируются только затронутые чанки, что снимает необходимость ручных full-reindex и снижает стоимость поддержания актуальности контекста.
[RAG / локальный поиск]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться