РУКОВОДСТВО · ОБНОВЛЕНО 2026-10-12
Обновление документов в RAG: версии, удаление и актуальность ответа
Порядок синхронизации базы знаний, который помогает обнаружить устаревший ответ после изменения или удаления источника.
Актуальность RAG зависит от всей цепочки: исходного файла, его фрагментов, поискового индекса, прав доступа и кэша ответов. Новая дата файла не доказывает обновление поиска. Свяжите каждый фрагмент с устойчивым идентификатором документа и его редакцией, исключайте неактивные версии при поиске, затем проверяйте ответ на вопрос, затронутый изменением. Удаление документа должно также прекращать использование его фрагментов и ранее сохранённых ответов.
1. Задайте идентичность документа
Используйте стабильный идентификатор исходного объекта, редакцию, владельца и состояние публикации. Путь файла может измениться, а одинаковые имена встречаются в разных отделах. Каждому фрагменту передайте связь с документом и права доступа. Для регламента отдельно храните дату начала действия: самая новая загрузка не всегда означает применимость. Без такой схемы трудно убрать старые куски после переименования или смены правил.
2. Распознайте тип изменения
Сравнивайте содержимое или версию источника, а не только размер файла. Исправление одного слова может не изменить длину, но поменять смысл ответа. Новый текст требует пересчёта затронутых фрагментов; изменение метаданных или доступа требует своей обработки. В Pinecone операции обновления позволяют менять векторы или метаданные записи, однако конкретный порядок синхронизации определяет ваше приложение. Не объявляйте индекс готовым по завершению одного шага.
3. Переключите активную редакцию
Подготовьте новую редакцию отдельно и проверьте, что все нужные фрагменты доступны. Затем переключайте поиск на неё по правилам своего хранилища. Если технология не поддерживает атомарное переключение, явно учитывайте переходный период: смешение старых и новых правил может породить противоречивый ответ. Повторная обработка того же события не должна создавать дубли. Сохраняйте журнал версии и результата синхронизации.
4. Обработайте удаление и кэш
Удаляйте связанные записи по документу или заранее сохранённым идентификаторам. Документация Pinecone описывает удаление по ID и фильтрам; выбранный вариант должен соответствовать типу вашего индекса. После операции проверяйте доступность данных согласно гарантиям хранилища. Инвалидируйте ответы, зависящие от удалённой редакции. Если источник запрещён пользователю, старая копия в истории или кэше не становится разрешённой только потому, что была получена раньше.
5. Проверьте ответ на контрольном вопросе
До изменения сохраните вопрос и ожидаемое правило, после изменения повторите поиск с теми же условиями пользователя. Проверьте идентификаторы редакций, отсутствие удалённых фрагментов и содержимое итогового ответа. Добавьте случаи одинаковых названий, переноса файла, смены доступа и обрыва индексации. Отчёт должен показывать время источника, завершение обработки и проверку поиска отдельно; это помогает понять, где возникла задержка актуализации.
Частые вопросы
Нужно ли пересчитывать весь индекс при каждом исправлении?
Не обязательно. Возможность обработки только изменённых записей зависит от схемы фрагментов и хранилища. Изменение разбиения, модели эмбеддингов или размерности может потребовать более широкой перестройки.
Достаточно ли добавить дату в промпт?
Нет. Дата не удаляет устаревшие фрагменты из поиска и не меняет права. Она помогает модели понять контекст только после корректного отбора применимых источников.
Как проверить удаление?
Ищите документ по точному ID и по контрольному смысловому вопросу, затем проверяйте ответ и кэш. Нулевой результат одного запроса не доказывает отсутствия всех копий.
Когда можно сообщить, что база обновлена?
После проверки нужной редакции в поиске и контрольном ответе. Завершённая загрузка файла или принятый запрос обновления означает только соответствующий этап, а не готовность всей цепочки.