Change8

v6.0.0

Breaking Changes
📦 sentence-transformersView on GitHub →
2 breaking7 features🐛 1 fixes🔧 9 symbols

Summary

This release introduces Multi-Vector Embedding models (ColBERT-style) as a new model type, enhancing retrieval capabilities. It also modernizes dependencies, fixes silent scoring bugs, and improves performance.

⚠️ Breaking Changes

  • The dependency floor for `transformers` has been updated to v5. This may require updates to your `transformers` library if you were using an older version.
  • Multi-vector models are asymmetric: `encode_query` and `encode_document` are now required for correct embedding generation, unlike some dense models where they were interchangeable.

Migration Steps

  1. Update your `transformers` dependency to v5 or later.
  2. Ensure you are using `encode_query` and `encode_document` separately when encoding for Multi-Vector models.
  3. Adjust `chunk_elements` budget if encountering memory issues during scoring or training.
  4. Consider using `similarity_fn_name='meanmaxsim'` if you need bounded similarity scores.

✨ New Features

  • Introduced Multi-Vector Embedding models (late interaction or ColBERT-style) as a new model type.
  • Support for training, inferencing, and interpreting Multi-Vector Embedding models using Sentence Transformers.
  • Ability to load PyLate and Stanford-NLP ColBERT checkpoints into `MultiVectorEncoder`.
  • Support for `colpali-engine` models for visual document retrieval.
  • New `similarity_fn_name='meanmaxsim'` option for bounded similarity scores.
  • Added `chunk_elements` and `device` arguments to the `similarity` function for managing large corpora and GPU memory.
  • Added `chunk_elements` argument to the `colbert_scores` loss function during training.

🐛 Bug Fixes

  • Fixed a class of silent scoring bugs caused by half precision.

Affected Symbols