Qdrant and Hybrid RAG: corporate document search without the cloud or leaks
Hybrid RAG goes beyond classic document management: the system searches by meaning and by exact matches at the same time, then checks the relevance of the retri

Корпоративный поиск по документам упирается не в нехватку данных, а в то, что эти данные разбросаны по PDF, сканам, таблицам и переписке. Hybrid RAG предлагает архитектуру, которая позволяет искать ответы по внутренним архивам локально, без вывода чувствительной информации в облако.
Где ломается поиск
Обычный RAG хорошо работает на аккуратной и однородной базе: например, на FAQ, одном регламенте или наборе чистых текстовых документов. Но в реальном бизнесе документы живут в разных форматах, на двух языках и часто содержат не только текст, но и таблицы, коды, артикулы и отсканированные страницы. В такой среде одного семантического поиска мало: запрос про претензии к контрагенту или код 8471300000 требует одновременно понимать смысл вопроса и точно находить конкретные числа и формулировки.
Именно здесь Hybrid RAG отличается от классического подхода. Система не пытается просто “скормить” архив языковой модели, а сначала собирает релевантный контекст из нескольких типов поиска. Это особенно важно для логистики, банков, таможни и юрфирм, где пользователю нужен не общий пересказ, а точный ответ с опорой на конкретный документ, пункт или страницу.
Именно поэтому ключевым становится не только поиск, но и способ проверки найденного контекста перед ответом модели.
Как устроен стек В описанной схеме документы сначала проходят структурный разбор.
Docling подготавливает сканы и layout, а мультимодальная модель Qwen2.5-VL помогает читать сложные таблицы, рукописные пометки и плохо распознанные страницы. Затем embedding-модель BAAI/bge-m3 превращает документы и пользовательский вопрос в два представления сразу: dense для поиска по смыслу и sparse для точных совпадений. Qdrant хранит оба типа векторов и объединяет результаты через RRF, чтобы не пришлось вручную балансировать веса между двумя стратегиями.
- Docling нормализует входящие файлы и готовит структуру документа Qwen2.5-VL помогает разобрать сканы, таблицы и сложные визуальные элементы BAAI/bge-m3 строит dense и sparse векторы для документов и запросов Qdrant выполняет гибридный поиск и сливает выдачу через RRF Rerank-слой отсекает нерелевантные фрагменты перед ответом модели После этого включается rerank в два этапа: быстрый отсев и более точная cross-encoder проверка. На генерацию ответа попадает уже не весь архив, а небольшой набор фрагментов, которые действительно отвечают на вопрос. Такой пайплайн снижает риск галлюцинаций и позволяет системе не фантазировать, если в базе просто нет нужного факта. Это и есть разница между поиском с опорой на документы и красивым, но недостоверным пересказом.
Почему важен self-hosted
Главный тезис статьи — проблема не решается простым подключением облачной LLM. В регулируемых отраслях данные не должны покидать периметр компании ни при индексировании, ни при поиске, ни при генерации ответа. Поэтому автор делает ставку на self-hosted стек: локальный Qdrant, локальный Langfuse для трассировки, LangGraph для явного управления состояниями и Haystack для проверки качества до выхода в production. Иначе сама система поиска превращается в новую точку риска для комплаенса и аудита.
«Данных недостаточно» лучше, чем уверенная галлюцинация.
Отдельный практический вывод касается инфраструктуры. Максимальное качество даёт Qwen2.5-72B-Instruct, но для него нужны две A100 80GB. Более реалистичный стартовый вариант для бизнеса — Qwen2.5-32B-Instruct на одной L40S: по оценке автора, он даёт около 90% качества старшей модели, но обходится заметно дешевле. Это делает Hybrid RAG не лабораторной игрушкой, а внятной архитектурой для компаний, которым нужен внутренний поиск с понятной стоимостью владения.
Что это значит
Hybrid RAG становится практическим способом оживить корпоративные архивы без компромисса по безопасности. Для бизнеса это путь от хаотичного поиска по почте и SharePoint к системе, которая за секунды находит нужный документ, показывает источник ответа и не отправляет внутренние данные во внешний API.