Администрирование файлов и базы знаний¶
Что вы сделаете¶
Вы проверите полный путь документа от загрузки до ответа модели и научитесь определять, на каком этапе возникла проблема: хранение файла, извлечение текста, индексация, векторное хранилище, поиск фрагментов, цитирование или модель.
1. Полная цепочка¶
Для поиска по документам полезно держать в голове схему:
файл пользователя
↓
проверка и хранение
↓
извлечение текста
↓
разбиение на фрагменты
↓
векторное представление
↓
pgvector
↓
поиск релевантных фрагментов
↓
контекст модели
↓
ответ + цитаты
Каждый этап может сломаться независимо.
2. Компоненты¶
В текущем контейнерном профиле важны:
- основная серверная часть;
- файловое хранилище;
rag-api;- PostgreSQL/pgvector;
- модель векторизации;
- активная текстовая модель.
Поиск по истории через Meilisearch — другой механизм и не должен использоваться как индикатор здоровья RAG.
3. Проверка состояния¶
Начните с общей проверки:
или эквивалентной команды текущего выпуска.
Затем:
Убедитесь, что компоненты RAG и векторной БД работают.
4. Тестовый документ¶
Создайте файл:
Имя проверки: RAG-CHECK-55281
Контрольное значение: фиолетовый маяк
Контрольная дата: 15 сентября 2026
Не используйте реальный документ.
Загрузите его и спросите:
Ожидаемый ответ:
5. Если файл не загружается¶
Проверяйте:
- размер;
- расширение;
- права пользователя;
- свободный диск;
- права каталога хранения;
- ограничения обратного прокси;
- журнал основной серверной части.
Не переходите к pgvector, пока файл не прошёл сам этап загрузки.
6. Если файл загружен, но текст не читается¶
Проверяйте тип документа.
Цифровой PDF¶
Обычно содержит текстовый слой.
Сканированный PDF¶
Может содержать только изображения страниц.
Текущий профиль document_parser не следует выдавать за полноценное распознавание пиксельных сканов.
Если нужен OCR — используйте отдельный квалифицированный путь и документируйте его.
7. Если текст извлечён, но поиск ничего не находит¶
Проверяйте:
- отправлен ли документ на индексацию;
- завершилась ли индексация;
- доступна ли модель векторизации;
- доступен ли pgvector;
- нет ли ошибки записи;
- принадлежит ли индекс нужному пользователю/помощнику;
- не удалён ли файл после индексирования.
8. Журнал RAG¶
Посмотрите:
Имя сервиса сверяйте с текущим compose.yml.
Ищите:
- ошибки подключения к PostgreSQL;
- ошибки векторизации;
- ошибки парсера;
- таймауты;
- отказ в доступе к файлу;
- неожиданный формат.
9. Векторная БД¶
Проверьте состояние контейнера PostgreSQL/pgvector.
Не выполняйте ручное удаление таблиц или индексов как первый способ «починить RAG».
Сначала:
- создайте резервную копию;
- определите ошибку;
- проверьте миграции;
- воспроизведите на тестовом документе.
10. Цитаты¶
Успешный ответ без проверяемого источника хуже для корпоративной базы знаний.
Проверьте:
- имя файла;
- фрагмент;
- номер страницы, если доступен;
- соответствие цитаты утверждению модели.
Право на поиск по файлам и право на цитаты лучше тестировать вместе.
11. Изоляция пользователей¶
Критический тест:
- Пользователь A загружает
A-private.txt. - Пользователь B задаёт вопрос с уникальным маркером из этого файла.
- B не должен получить содержимое A через поиск по документам.
Аналогично проверяйте знания помощника и права на самого помощника.
12. База знаний помощника¶
Если файл подключён к помощнику, пользователь может не иметь прямого доступа к исходному файлу, но помощник способен использовать сведения из него.
Поэтому доступ к помощнику рассматривайте как потенциальный доступ к его знаниям.
Не подключайте к общему помощнику секретный документ только потому, что сам файл помечен приватным.
13. Контекст целиком и RAG¶
Это разные режимы.
Контекст целиком¶
Подходит для небольших документов.
Поиск по документам¶
Подходит для больших коллекций.
Администратор должен контролировать лимиты так, чтобы пользователь не пытался регулярно передавать сотни страниц целиком в контекст модели.
14. Лимиты¶
При изменении лимитов загрузки учитывайте сразу:
- место на диске;
- память;
- время парсинга;
- очередь индексации;
- размер контекста;
- время резервного копирования;
- возможную нагрузку одного пользователя на всю систему.
Не увеличивайте лимит с 200 МБ до нескольких гигабайт только потому, что один файл не загрузился.
15. Корпоративная база знаний¶
Для каждой базы назначьте владельца.
Владелец отвечает за:
- перечень источников;
- дату актуальности;
- удаление дублей;
- версии;
- права;
- тестовые вопросы;
- регулярное обновление.
Технически исправный RAG не исправит устаревшие документы.
16. Версионность документов¶
Плохой вариант:
Лучше:
и отдельное правило, какая версия является действующей.
17. Дубли¶
Если в базе одновременно лежат две противоречащие редакции, retrieval может корректно найти обе.
Модель не знает организационную силу документа автоматически.
Добавляйте:
- дату;
- статус;
- версию;
- тип документа;
- владельца.
18. Обновление базы¶
После замены документа:
- удалите или архивируйте старую редакцию согласно процессу;
- загрузите новую;
- дождитесь индексации;
- выполните контрольные вопросы;
- проверьте, что старый ответ больше не воспроизводится как действующий.
19. Проверка качества retrieval¶
Соберите 20–50 вопросов, для которых заранее известны правильные источники.
Измеряйте:
- найден ли правильный документ;
- найден ли правильный фрагмент;
- попал ли фрагмент в контекст;
- правильно ли модель интерпретировала его.
Это позволяет отделить ошибку поиска от ошибки модели.
20. Резервное копирование¶
В резервную копию должны попадать данные, необходимые для восстановления пользовательских файлов и связанного состояния.
Если векторный индекс можно надёжно перестроить из исходных документов, организация может выбрать стратегию повторной индексации вместо хранения каждого производного индекса — но это должно быть проверено восстановлением и временем восстановления.
21. После обновления¶
Проверьте:
- загрузку TXT;
- цифровой PDF;
- DOCX;
- извлечение текста;
- RAG;
- цитату;
- изоляцию пользователей;
- существующий ранее проиндексированный документ;
- новый документ после обновления.
Частые ошибки¶
«Файл загрузился, но ИИ его не знает»¶
Уточните, какой режим ожидался: чтение целиком или RAG.
«Цитата есть, но ответ неверный»¶
Проверяйте интерпретацию модели после успешного retrieval.
«После обновления старые документы ищутся, новые нет»¶
Проверяйте очередь индексации и запись в векторную БД.
«Скан пустой»¶
Проверьте наличие текстового слоя; текущий парсер не заменяет полноценный OCR.
Что дальше¶
Перейдите к сервисам и политикам, затем к состоянию системы.