This release adds LEMUR learned multi-vector retrieval, expands late-interaction retrieval capabilities, and includes improvements to MUVERA and pooling along with a number of bug fixes.
See below for full details on the new features, improvements and bug fixes.
New Features
- Add LEMUR: Learned Multi-Vector Retrieval (#1024, #1164, #1169, #1170, #1171, #1172, #1190, #1194, #1196) @morgan-coded
- Add configurable mean centering to late pooling (#1168) @morgan-coded
- Add max pooling (#1185, #1186) @Aryan-Pardeshi
Improvements
- Convert MUVERA algorithm from NumPy to Torch (#1167, #1178) @Aryan-Pardeshi
- Refactor late encoding logic to cleanup logic paths (#1180)
- Add safeopen validation to retrieve task output (#1181)
- Clamp default Faiss nprobe to nlist (#1203, #1206) @morgan-coded
Bug Fixes
- fix: create default agent tools on first use (#1174, #1175) @LHMQ878
- Latest version of docling causing Windows build errors (#1176)
- fix(muvera): consume true token rows instead of batch-padded ones (#1177) @Anai-Guo
- Fix OpenAI chat message selection (#1182, #1183) @FU-max-boop
- PoolingFactory.method raises KeyError on a pooling config without pooling_mode_mean_tokens (#1187) @Aryan-Pardeshi
- fix: rank CrossEncoder by a fixed label, not top-1 position (#1189, #1195) @St4r4x
- Fix KeyError resolving a pooling method from a partial config (#1192) @arose26
- Fix WordVectors.index() silently dropping the checkpoint argument (#1197, #1198) @AmirF194
- fix(ann): exclude deleted rows from quantized numpy search results (#1201) @serhiizghama
- fix(scoring): keep count() accurate when an id is deleted more than once (#1202) @sainikhiljuluri
- Fix safetensors numpy/torch submodule imports (#1204, #1205) @Evhye38496
- Index zero and False values in the tabular pipeline (#1207) @devYRPauli