Получить доступ

Как сделать RAG по документам компании с учётом прав доступа?

SeniorRAG
Ещё спрашивают так:
  • Как не показать сотруднику в RAG документы, к которым у него нет доступа?
Коротко

Права проверяются при поиске, а не моделью: каждый фрагмент хранит метаданные доступа (документ, группы, уровень конфиденциальности), поисковый запрос всегда содержит фильтр по правам текущего пользователя, и в контекст модели попадает только разрешённое. Права синхронизируются с источниками (SharePoint, Confluence, файловые хранилища) — изменение доступа должно быстро доходить до индекса.

  • Фильтр до поиска (pre-filter) точнее, чем отсев после — иначе выдача пустеет
  • Модель нельзя просить «не показывать секретное» — инъекция и ошибки обойдут
  • Кэш ответов и семантический кэш — только в пределах одинаковых прав

А ещё Аудит: какие документы были показаны какому пользователю

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Модель данных: фрагмент → документ → список групп и пользователей с доступом. В векторной базе — поле с группами для фильтрации; при большом числе групп — идентификаторы групп и фильтр «пересечение с группами пользователя».

Синхронизация прав: события от источника или периодическая сверка; при отзыве доступа — немедленное обновление метаданных, не дожидаясь переиндексации текста.

Подводные камни:

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

Проверка: тестовые пользователи с разными правами и набор запросов, где правильный ответ — «нет доступа к информации».

Что хотят услышать

  • Фильтрация на уровне поиска по метаданным прав.
  • Синхронизация прав и производные данные.
  • Тестирование и аудит.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем