opengate
Все материалы

Построение корпоративного RAG: от прототипа к продакшну

Temirlan D.9 мин чтения

Коротко

RAG-система доходит до продакшна, когда разбор документов, поиск и оценку качества проектируют так же тщательно, как промпты. Слабое место редко в модели: основная работа лежит между вашими документами и моделью.

Корпоративный RAG доходит до продакшна, когда команда по порядку решает пять инженерных задач: пайплайн документов, модель эмбеддингов, векторное хранилище, стратегию поиска и оценку качества. В 2024 году Gartner прогнозировала, что к концу 2025 года минимум 30% проектов генеративного AI бросят после proof of concept из-за низкого качества данных, слабого контроля рисков и растущих затрат.

Где ломаются прототипы

Прототип RAG собрать легко. Возьмите несколько чистых PDF, нарежьте их на фрагменты, получите эмбеддинги универсальной моделью, загрузите в векторную базу и подключите языковую модель. На демо это работает: документы отобраны заранее, вопросы ожидаемы.

Корпоративные документы выглядят иначе: сканы договоров с ошибками OCR, старые файлы Word со сломанной версткой, отчеты, где на одной странице смешаны русский, казахский и английский, таблицы внутри презентаций. Наивная нарезка теряет контекст, универсальные эмбеддинги не знают отраслевой лексики, а один векторный поиск возвращает фрагменты, которые выглядят подходящими и при этом неверны. Без оценки качества команда видит правильные на вид ответы и пропускает те, где модель тихо выдумывает.

Пять задач по порядку

Пайплайн документов

Слой загрузки, который превращает сканы, старые форматы и многоязычные файлы в чистые фрагменты с сохраненной структурой и контекстом.

Выбор модели эмбеддингов

Модель выбирают по тестам на ваших документах, языках и лексике. Публичные бенчмарки не отражают ни ваших данных, ни ваших вопросов.

Архитектура векторного хранилища

Хранение и поиск в масштабе: схема метаданных, индексация, изоляция подразделений и права доступа.

Стратегия поиска

Семантический поиск, поиск по ключевым словам, переранжирование и переформулировка запроса работают вместе и находят фрагмент, который отвечает на вопрос. Похожего фрагмента мало.

Оценка и мониторинг

Измерение релевантности поиска, точности ответов и качества всей цепочки, чтобы каждое изменение пайплайна проверялось на фактах.

Пайплайн решает, что найдет поиск

Корпоративный RAG-проект либо создает преимущество в пайплайне документов, либо копит там долг, который не покроет ни один следующий компонент. Пайплайн решает три задачи сразу: много форматов, несколько языков и структура каждого документа.

Сканам нужен промышленный OCR, а таблицы и диаграммы стоит извлекать как структурированные данные. Тексту, где смешаны русский, казахский и английский, нужна нарезка с учетом языка, которая не режет предложение на смене языка. Заголовки разделов, связи между родительскими и дочерними фрагментами и метаданные на каждом фрагменте сохраняют контекст. Пайплайн работает и требует сопровождения все время, пока приходят новые документы.

Модель эмбеддингов выбирают на своих документах

Модель, которая лидирует в рейтинге MTEB, может слабо работать на ваших нормативных документах, служебных записках и двуязычных технических отчетах. Начните с тестового набора: реальные вопросы пользователей, и к каждому фрагмент, который должен на него ответить, из тех документов, с которыми будет работать система.

Прогоните модели-кандидаты на этом наборе и измерьте точность в первых пяти и первых десяти результатах. Если люди спрашивают по-русски, а источник на английском, проверьте межъязыковой поиск отдельно. Эмбеддинги большей размерности улавливают больше оттенков смысла, но дороже в хранении и медленнее. Дообучайте модель на доменных данных, когда пайплайн уже стабилен, иначе каждый результат будет измерять два изменения сразу.

Метаданные и права доступа живут в хранилище

Векторное хранилище выбирают надолго: важны масштаб, задержка, фильтрация по метаданным, изоляция подразделений и зрелость эксплуатации. Для миллионов фрагментов специализированные векторные базы, например Weaviate, Qdrant, Milvus или Pinecone, предлагают собственные индексы, встроенную фильтрацию и горизонтальное масштабирование.

Схема метаданных важна не меньше самих векторов. Каждый фрагмент несет исходный документ, место в структуре разделов, дату, язык, метки доступа и уверенность разбора. Фильтры по этим полям сужают поиск до нужных документов и нужного читателя. Если одну систему делят несколько подразделений, изоляцию закладывают с самого начала, чтобы запрос никогда не выходил за пределы того, что его автору разрешено видеть.

Гибридный поиск с переранжированием

Семантический поиск сопоставляет смысл и пропускает точные строки: номера нормативов, коды товаров, имена, конкретные значения. Гибридный поиск добавляет к векторному поиск по ключевым словам (BM25) и объединяет два списка, обычно методом reciprocal rank fusion. Так система учитывает и смысл, и точную формулировку.

Затем cross-encoder переранжирует кандидатов: он читает каждый фрагмент вместе с вопросом и оценивает релевантность точнее первого прохода. Это дорого, поэтому переранжируют только верхних кандидатов. Переформулировка запроса делит составные вопросы, раскрывает аббревиатуры и снимает неоднозначность. Больше всего это помогает на вопросах с точными совпадениями и смешанными языками, где один векторный поиск ошибается чаще всего.

Сначала измерения, потом изменения

Без измерений каждое изменение пайплайна становится догадкой: новая нарезка, другая модель эмбеддингов, еще один фильтр по метаданным. Команда не может ни подтвердить улучшение, ни заметить ухудшение.

Минимальная схема оценки измеряет три вещи. Релевантность поиска: нашла ли система нужные фрагменты. Точность ответа: использовала ли модель их без выдумок. Полнота: ответил ли текст на весь вопрос. Автоматические метрики вроде RAGAS работают постоянно, а люди проверяют сменяемую выборку и ловят то, что метрики пропускают. В продакшне отслеживайте задержку поиска, пропускную способность и отзывы пользователей, иначе качество упадет, и первыми это заметят пользователи.

Семь шагов к продакшну

  1. Составьте каталог форматов, языков и объемов, с которыми будет работать система: каждому нужен свой разбор, и вместе они задают пайплайн.
  2. До выбора модели эмбеддингов соберите с экспертами оценочный набор из реальных вопросов и фрагментов, которые на них отвечают.
  3. Нарезайте с перекрытием, добавляйте к каждому фрагменту заголовки разделов, ID источника, язык и метки доступа, затем сравните несколько размеров фрагментов.
  4. Запустите гибридный поиск с первого дня, добавьте cross-encoder для переранжирования и измерьте выигрыш против чисто векторного поиска на своем наборе.
  5. Оценивайте на трех уровнях: автоматические метрики на каждом запросе, регулярная проверка выборки людьми и отзывы прямо в интерфейсе.
  6. Спроектируйте изоляцию подразделений, фильтры по метаданным и правила хранения до загрузки рабочих документов: права доступа, добавленные потом, обходятся дороже.
  7. Перед запуском посчитайте затраты на эмбеддинги, хранение и инференс при ожидаемом объеме и проверьте задержку под реальной параллельной нагрузкой.

Часто задаваемые вопросы

Это зависит от объема документов, частоты запросов и того, где работает система. В масштабе инференс модели обычно стоит дороже хранения. Затраты снижают кэширование, отсев повторных запросов и маршрутизация простых вопросов на небольшие модели. Мы оцениваем стоимость после того, как посмотрим на ваши источники и ожидаемую нагрузку.

Качество поиска падает, когда документы и вопросы становятся разнообразнее. Система возвращает правдоподобные, но неверные фрагменты, модель уверенно отвечает по ним, и пользователи перестают ей доверять. Защита одна: оценка с первого дня, то есть автоматическая проверка релевантности, ручная проверка выборки и дашборды, которые показывают ухудшение раньше жалоб.

Да, если продумать каждый уровень. Нарезка должна учитывать смену языка внутри документа, а модель эмбеддингов должна искать между языками, чтобы вопрос на русском находил источник на английском. Мультиязычные модели вроде multilingual-e5-large или BGE-M3 с этим справляются, но проверьте их на своем сочетании языков. Казахскому тексту на латинице и кириллице может понадобиться дополнительная предобработка.

Это зависит от состояния документов, числа систем для подключения и правил доступа. Прототип появляется быстро. Основное время уходит на пайплайн документов, оценку, мониторинг, права доступа и тестирование с пользователями. Прототип, выпущенный как рабочая система, потом обычно отнимает больше времени на исправление качества поиска.

Начните с универсальной мультиязычной модели и измерьте ее на своем оценочном наборе. Если точности хватает для вашей задачи, дообучение может не окупиться; если нет, обучите модель на парах вопрос-фрагмент из вашего корпуса. Дообучайте только после того, как стабилизируются пайплайн и оценка, иначе результаты будут вводить в заблуждение.

Есть проект?

RAG-демо работает на нескольких чистых документах. Система, на которую полагаются люди, держится на разборе сканов и смешанных языков, поиске под вашу лексику, правах доступа и оценке, которая ловит ошибки раньше пользователей. opengate проектирует и разрабатывает такие системы под ключ на ваших данных. Начните с одного процесса, а мы измерим, что он дает.