Версия 6 Sentence Transformers вводит класс MultiVectorEncoder, позволяющий выполнять поиск с поздним взаимодействием (late interaction) по типу ColBERT непосредственно в библиотеке без необходимости использования внешних зависимостей, таких как PyLate. Это дополнение позволяет пользователям загружать многовекторные контрольные точки из различных источников, включая форматы PyLate и Stanford-NLP, используя единый API.

  • Многовекторные модели сохраняют информацию на уровне токенов, храня один вектор на каждый токен, и оценивают запросы по документам с помощью оператора MaxSim, что улучшает качество поиска по сравнению с одновекторными плотными эмбеддингами.
  • Реализация поддерживает визуальный поиск документов через модели colpali-engine и нативно обрабатывает различные форматы контрольных точек.
  • Для управления возросшими затратами на хранение, связанными с хранением векторов для каждого токена, используются стратегии индексирования, такие как fast-plaid.

Эта функция интегрирует возможности позднего взаимодействия в ядро экосистемы Sentence Transformers, позволяя пользователям использовать методы поиска последнего поколения, сохраняя совместимость с существующими рабочими процессами плотных и разреженных моделей.