Что представляет sparse vector

Большинство координат равны нулю, а ненулевые веса связаны с токенами или learned vocabulary. Это сохраняет интерпретируемый lexical сигнал и умеет расширять термины.

BM25, sparse и dense

BM25 силён на точных словах, learned sparse добавляет контекстные веса, dense ловит смысл. Победителя заранее нет: сравнивайте сегменты и hybrid combinations.

Индекс и schema

Sparse и dense vectors хранятся раздельно или как named representations. Версии vocabulary и модели обязательны; несовместимые vectors нельзя смешивать.

Fusion

RRF безопасно объединяет ranks без сравнения разных шкал. Weighted fusion настраивается только на eval-наборе и перепроверяется после смены корпуса.

Точные запросы

Артикулы, ошибки, имена и редкие аббревиатуры включайте отдельным сегментом. Character-level fallback может быть полезнее semantic expansion.

Оценка

Сравните Recall@k, nDCG, zero-result, latency и размер индекса для BM25, sparse, dense и hybrid. Проверяйте multilingual и доменные термины.

Какой первый шаг?
Зафиксировать корпус, реальные запросы и baseline; без версий сравнение невоспроизводимо.
Что измерять?
Retrieval relevance, grounded correctness, p95 latency, стоимость и ошибки по сегментам.
Можно ли доверить оценку одной LLM?
Нет. LLM judge полезен как сигнал, но критические выборки требуют детерминированных проверок и экспертной разметки.
Как обновлять систему?
Через новую версию, offline eval, shadow, canary и заранее подготовленный rollback.
Что делать с чувствительными данными?
Минимизировать, ограничивать доступ, применять ACL до retrieval и задавать retention для traces и eval-наборов.
Как избежать каннибализации экспериментов?
Менять один слой за раз и хранить control, candidate, corpus version и сегментированные результаты.
← Все статьи блога