advanced

Similarity search

Извлекайте nearest vectors через distance metrics, filtering, reranking и relevance evaluation.

Поиск по сходству возвращает k ближайших векторов к query-эмбеддингу по функции расстояния или сходства. Частые метрики: косинусное сходство (угол, инвариантность к масштабу при нормализации), скалярное произведение (быстро при нормализованных векторах), евклидово (L2) расстояние.

					запрос q → index.findNearest(q, k=10, filter={ tenant: "acme" })
→ кандидаты → опциональный reranker (cross-encoder) → итоговый top-k
				

В проде часто сочетают ANN-извлечение (быстро, приближённо) с этапом rerank (медленнее, точнее) и предфильтрами по tenant, дате или типу документа.

На интервью: определите метрику и почему она согласована с обучением модели; объясните recall@k; опишите фильтрацию до и после ANN и влияние на латентность.

Типовые ошибки: неверная метрика для ненормализованных векторов; отсутствие rerank при путанице near-duplicates; чанки без атрибуции источника; слишком маленький k для RAG; cold-start для новых документов.

Компромисс — латентность и размер индекса (приближение ANN) против качества recall и дополнительной цены rerank и человеческой оценки.

Чеклист:

  • Назовите метрику: cosine, dot, L2 и когда какая уместна.
  • Опишите конвейер ANN → filter → rerank.
  • Объясните recall@k и offline eval sets.
  • Укажите стратегию metadata-фильтров.
  • Свяжите результаты с лимитами контекста downstream.