Индекс стареет сразу после запуска

Документы меняются, права отзываются, модели обновляются. Определите freshness SLO: допустимую задержку от изменения source до доступности новой версии в retrieval.

Change detection

Используйте события, CDC, webhook или периодический crawl, но подтверждайте изменения checksum. Сохраняйте source version и ingestion cursor; повторное событие должно быть idempotent.

Incremental update

Новый документ обрабатывается независимо, изменённый получает новую версию chunks, удалённый — tombstone. Публикация должна быть атомарной на уровне документа, чтобы не смешать страницы.

Когда нужен полный reindex

Смена embedding, tokenizer, chunking или schema делает старые vectors несовместимыми. Стройте новый индекс параллельно, выполняйте backfill и dual-write для входящих изменений.

Alias switch и rollback

После validation и shadow queries переключите read alias на новую версию. Старый индекс сохраняйте на согласованный rollback window. Версия должна попадать в trace и citation.

Cache invalidation

Ключ включает corpus и policy version. Удаление закрытого документа требует немедленно инвалидировать semantic cache, answer cache и agent memory, иначе старый ответ переживёт индекс.

Reconciliation

Регулярно сравнивайте source catalog, processed manifests и vector store: пропуски, orphan chunks, неверные версии и задержку. Restore drill подтверждает, что индекс можно перестроить из оригиналов.

С чего начать?
С ограниченного корпуса, реальных запросов и измеримого baseline. Зафиксируйте версии данных, retrieval и модели до эксперимента.
Какие метрики обязательны?
Retrieval quality, correctness ответа, p95 latency, стоимость и ошибки по отдельным сегментам запросов.
Можно ли копировать настройки из документации?
Только как baseline. Финальные параметры выбираются по вашему корпусу, фильтрам, языку и нагрузке.
Как выпускать изменение?
Собрать новую версию рядом, прогнать offline eval и shadow, затем canary с готовым rollback.
Что логировать?
Trace ID, версии pipeline и индекса, transformed queries, candidate IDs, filters и итоговые метрики без лишнего чувствительного payload.
Как избежать утечки данных?
Проверять identity и ACL до retrieval, изолировать кэши и повторно проверять права при показе citations.
← Все статьи блога