Как работает поиск с генерацией ответа
RAG соединяет поиск по материалам с языковой моделью: система находит фрагменты, относящиеся к вопросу, и передаёт их модели как контекст для ответа. Это отличается от простого общения с моделью без подключения базы знаний.
Поиск, подготовка индекса и генерация — отдельные части решения. Обзор этого подхода описан в документации Microsoft. Наличие поиска само по себе не гарантирует правильность каждого ответа.
На каждом шаге нужны проверка качества и понятные ограничения.
Проверьте документы до подключения модели
Начните с одной темы: например, внутренних инструкций по оформлению заказа. Соберите действующие версии, назначьте владельцев и отметьте устаревшие документы. Две противоречивые инструкции часто создают больше проблем, чем выбор между моделями.
- Можно ли извлечь текст из файлов, включая таблицы и сканы?
- Есть ли дата действия и ответственный за актуальность?
- Как понять, что один документ заменил другой?
- Где хранится оригинал, который пользователь сможет открыть?
На пилоте полезно явно ограничить область знаний. Помощник должен уметь сказать, что не нашёл достаточного основания для ответа.
Разделите размещение и права доступа
Локальный сервер, выделенное облако и обычный облачный сервис — варианты размещения. Для каждого из них отдельно проектируются доступы к документам, маршруты данных и журналирование. Само название Private AI не описывает эти настройки.
Проверьте сценарий двух пользователей с разными ролями. Помощник не должен показывать пользователю сведения из недоступного ему документа, в том числе в цитате или кратком пересказе. Проверку доступа стоит включать в отбор источников, а не полагаться на просьбу к модели «не раскрывать данные».
Если нужен полностью локальный контур, составьте перечень компонентов: модель, поиск, распознавание файлов, журналы и мониторинг. Уточните для каждого, вызывает ли он внешние сервисы.
Оценивайте ответы на наборе реальных вопросов
Подготовьте вопросы вместе с будущими пользователями. Включите обычные запросы, двусмысленные формулировки, устаревшие инструкции и вопросы, ответа на которые в базе нет. Для каждого зафиксируйте ожидаемые источники и допустимый результат.
- Нашла ли система нужный документ?
- Соответствует ли ответ его содержанию?
- Открывается ли ссылка на конкретный источник?
- Правильно ли обработан случай без ответа?
- Соблюдены ли права пользователя?
Ошибку поиска и ошибку формулировки ответа исправляют по-разному. Сохраняйте эту разницу в разборе результатов пилота.
Запускайте как рабочий сервис
Определите, кто обновляет документы, разбирает жалобы и проверяет качество после изменений. Установите границы: помощник отвечает на вопросы или ещё и выполняет действия? Для действий с последствиями предусмотрите согласование человеком.
Первый результат пилота — проверенный сценарий в ограниченной области знаний. Масштабировать его стоит после того, как понятны качество, нагрузка на поддержку и стоимость эксплуатации.