Автономные
интеллектуальные системы

Локальная RAG-система для поиска по документам

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

  • Поиск и ответы по внутренней документации
  • Ссылки на исходные документы в каждом ответе
  • Режим «только поиск» без генерации текста
  • Работа без интернета и в закрытом контуре
  • Инфраструктура выбирается после замера нагрузки

Что это

Что такое RAG и зачем он бизнесу

RAG - Retrieval-Augmented Generation - это архитектура, в которой языковая модель не пытается «знать все», а извлекает ответ из внешней базы документов. Когда сотрудник задает вопрос, система сначала ищет релевантные фрагменты в корпоративной базе знаний, и только потом формирует ответ на основе найденного. Это принципиально отличается от обычного ChatGPT, который генерирует текст из своих весов и не может сослаться на источник.

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

Локальный RAG - это RAG, развернутый в инфраструктуре заказчика. Документы не покидают периметр, индекс хранится локально, модель работает на собственных серверах. Это подходит для регулируемых отраслей и компаний с чувствительными данными.

Отличия

Чем локальный RAG отличается от внешнего облачного ассистента

Локальный RAG

  • Документы остаются в контуре заказчика
  • Ответы со ссылками на конкретные пункты документов
  • Модель работает без интернета и облака
  • База знаний обновляется без переобучения модели
  • Полный контроль ИБ-службы заказчика

Внешний облачный ассистент

  • Маршрут данных определяется сервисом и его настройками
  • Доступность зависит от внешнего провайдера и сети
  • Условия хранения и журналирования нужно проверять отдельно
  • Интеграция может быть быстрее для некритичных сценариев
  • Допустимость использования определяет политика заказчика

Архитектура

Как устроен локальный RAG

Документы собираются из источников: сетевые папки, СЭД, базы знаний, корпоративные порталы. Сначала каждый документ проходит предобработку: извлекается текст, нормализуется разметка, выделяются метаданные (тип, автор, дата, тематика). Затем документ разбивается на семантические фрагменты - параграфы или короткие блоки - и для каждого считается векторное представление (эмбеддинг).

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

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

Выбор

Когда RAG, а когда дообучение модели

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

Дообучение (fine-tuning, LoRA) подходит, когда нужно изменить стиль или формат ответа, научить модель специфической терминологии или нестандартному поведению. Это медленнее и дороже, но позволяет получить очень узкоспециализированную модель.

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

Производительность

Как оценить объем и скорость

Что влияет на объем

  • Количество страниц и качество извлечения текста
  • Размер фрагментов, метаданных и векторного индекса
  • Частота обновления и число версий документов
  • Количество групп доступа и правил фильтрации

Что измеряем на пилоте

  • Время индексации и обновления документов
  • Задержку поиска и формирования ответа
  • Качество поиска на контрольных вопросах
  • CPU, GPU, память и хранилище при целевой нагрузке

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

Частые вопросы про локальный RAG

Что такое RAG простыми словами?

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

Чем RAG отличается от обычного ChatGPT?

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

Можно ли запустить RAG на CPU без видеокарты?

Иногда да. Индексация и поиск обычно могут работать на CPU, а требования языковой модели зависят от ее размера, контекста, скорости ответа и числа пользователей. CPU- и GPU-варианты нужно сравнить на целевом сервере и реальной нагрузке до закупки оборудования.

Сколько документов можно загрузить?

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

Как RAG обновляется при изменении документов?

Обновление запускается по событию или расписанию. Измененный документ перечитывается, разбивается на фрагменты и переиндексируется; языковую модель обычно переобучать не нужно. Время обновления измеряется на объеме заказчика и учитывается в эксплуатационном регламенте.

Что такое векторная база данных?

Это специализированное хранилище, которое умеет искать «по смыслу», а не по совпадению слов. Каждый фрагмент документа представлен числовым вектором длиной несколько сотен значений, и поиск возвращает ближайшие векторы к вектору запроса. На практике используется pgvector (расширение PostgreSQL), Qdrant, Milvus или FAISS-индекс на диске.

Можно ли разграничить доступ к документам?

Да, и это критично для корпоративного RAG. Документы помечаются ролями или группами доступа, и при поиске фильтруются по правам текущего пользователя. Сотрудник увидит только те фрагменты, к которым у него есть доступ. Это интегрируется с существующей системой управления правами заказчика.

Что делать, если RAG не нашел ответ?

В правильной архитектуре RAG умеет отказывать: если ни один фрагмент не релевантен запросу, система возвращает «ответ не найден» и предлагает альтернативы (похожие документы, контакт ответственного, переформулировку запроса). Это намного лучше галлюцинации и важно для серьезных корпоративных сценариев.

Заявка

Запустить пилот локального RAG

Расскажите, какая база знаний и какие пользователи - вернемся с предложением.

Что лучше приложить к заявке

  • Какой тип и объем документов в базе знаний.
  • Сколько пользователей и каких ролей.
  • Где сейчас хранятся документы (СЭД, файловые папки, портал).
  • Какая инфраструктура доступна для развертывания.