Сделать внутренний поиск по регламентам и документам с проверяемыми ответами, правами доступа и контролем оператора.
Проблема
Обычный поиск находит документы, но не собирает ответ, а свободная генерация AI может ссылаться на несуществующие факты. Дополнительно требовалось учитывать версии документов и ограничения доступа между отделами.
Документы загружаются из файлов и подключенных источников, разбиваются на фрагменты и индексируются. Поиск извлекает релевантные фрагменты, формирует ответ с цитатами и показывает страницы источников. Перед использованием ответ можно подтвердить, отклонить или отправить на уточнение.
Что реализовано
• загрузка PDF и DOCX и подключение источников
• индексация, версии документов и статусы обработки
• ответы только с цитатами и ссылками на страницы
• роли и ограничения по коллекциям
• проверка оператором и журнал действий
Сценарий работы
1. загрузить файл или подключить корпоративный источник
2. увидеть статус индексации и возможные ошибки
3. задать вопрос на естественном языке
4. получить ответ с цитатами и страницами источников
5. подтвердить ответ, отправить на уточнение или открыть исходный документ
Полный демонстрационный контур от загрузки документа до проверенного ответа. В интерфейсе используются только демонстрационные данные.
Эффективность
Ответ проверяется по источнику, а не принимается на доверии
• каждое содержательное утверждение связано с найденным фрагментом документа
• оператор видит документ, страницу и релевантный отрывок рядом с ответом
• устаревшую версию можно заменить без потери истории индексации
• права на коллекции ограничивают выдачу до этапа генерации ответа
Проверка готовности
• загруженный документ проходит обработку и появляется в реестре источников
• ответ содержит открываемые цитаты из доступной пользователю коллекции
• закрытый документ не попадает в поиск пользователя без прав
• ошибка индексации видна отдельно и может быть перезапущена
Стек: Python, FastAPI, PostgreSQL, vector search, React, LLM API