Recent Releases of colpali-engine
colpali-engine - v0.3.12
[0.3.12] - 2025-07-16
Added
- Video processing for ColQwen-Omni
Fixed
- Fixed loading of PaliGemma and ColPali checkpoints (bug introduced in transformers 4.52)
- Fixed loading of SmolVLM (Idefics3) processors that didn't transmit imageseqlen (bug introduced in transformers 4.52)
- Python
Published by ManuelFay 8 months ago
colpali-engine - v0.3.11
[0.3.11] - 2025-07-04
Added
- Added BiIdefics3 modeling and processor.
- Breaking Remove support for context-augmented queries and images
- Uniform processor docstring
- Update the collator to align with the new function signatures
- Add a
process_textmethod to replace theprocess_queryone. We keep support of the last one for the moment, but we'll deprecate it later - Introduce the ColPaliEngineDataset and Corpus class. This is to delegate all data loading to a standard format before training. The concept is for users to override the dataset class if needed for their specific usecases.
- Added smooth_max option to loss functions
- Added weighted in_batch terms for losses with hard negatives
- Added an option to filter out (presumably) false negatives during online training
- Added a training script in pure torch without the HF trainer
- Added a sampler to train with multiple datasets at once, with each batch coming from the same source. (experimental, might still need testing on multi-GPU)
- Adds score normalization to LI models (diving by token length) for betetr performance with CE loss
- Add experimental PLAID support
Changed
- Stops pooling queries between GPUs and instead pools only documents, enabling training with way bigger batch sizes. We recomment training with accelerate launch now.
- Updated loss functions for better abstractions and coherence between the various loss functions. Small speedups and less memory requirements.
- Python
Published by ManuelFay 8 months ago
colpali-engine - v0.3.10: minor updates & dependency bumps
[0.3.10] - 2025-04-18
Added
- Add
LambdaTokenPoolerto allow for custom token pooling functions. - Added training losses with negatives to InfoNCE type losses
Changed
- Fix similarity map helpers for ColQwen2 and ColQwen2.5.
- Breaking Remove support for Idefics2-based models.
- Disable multithreading in
HierarchicalTokenPoolerifnum_workersis not provided or is 1. - Breaking Make
pool_factoran argument ofpool_embeddingsinstead of aHierarchicalTokenPoolerclass attribute - Bump dependencies for transformers, torch, peft, pillow, accelerate, etc...
- Python
Published by ManuelFay 11 months ago
colpali-engine - v0.3.9
Added
- Allow user to pass custom textual context for passage inference
- Add ColQwen2.5 support and BiQwen2.5 support
- Add support for token pooling with
HierarchicalTokenPooler. - Allow user to specify the maximum number of image tokens in the resized images in
ColQwen2ProcessorandColQwen2_5_Processor.
Changed
- Warn about evaluation being different from Vidore, and do not store results to prevent confusion.
- Remove duplicate resize code in
ColQwen2ProcessorandColQwen2_5_Processor. - Simplify sequence padding for pixel values in
ColQwen2ProcessorandColQwen2_5_Processor. - Remove deprecated evaluation (
CustomRetrievalEvaluator) from trainer - Refactor the collator classes
- Make
processorinput compulsory inColModelTrainingConfig - Make
BaseVisualRetrieverProcessorinherit fromProcessorMixin - Remove unused
tokenizerfield fromColModelTrainingConfig - Bump transformers to
4.50.0and torch to2.6.0to keep up with the latest versions. Note that this leads to errors on mps until transformers 4.50.4 is released.
- Python
Published by ManuelFay 11 months ago
colpali-engine - v0.3.8
Description
Fix dependencies in colpali-engine[train] and reorganize tests.
Features
Fixed
- Fix peft version in
colpali-engine[train] - Loosen upper bound for
accelerate
Tests
- Reorganize modeling tests
- Add test for ColIdefics3 (and ColSmol)
- Python
Published by tonywu71 about 1 year ago
colpali-engine - v0.3.7
Description
Add support for colSmol-256M and colSmol-500M.
Features
Changed
- Bump transformers to
4.47to supportcolSmol-256MandcolSmol-500M
Fixed
- Fix checkpoints used for ColQwen2 tests
- Python
Published by tonywu71 about 1 year ago
colpali-engine - v0.3.6
Description
Loosen default dependencies, but keep stricter dep ranges for the train dependency group.
Features
Added
- Add expected scores in ColPali E2E test
Changed
- Loosen package dependencies
Full Changelog: https://github.com/illuin-tech/colpali/compare/v0.3.5...v0.3.6
- Python
Published by tonywu71 about 1 year ago
colpali-engine - v0.3.5: SmolVM
[0.3.5] - 2024-12-13
Added
- Added support for Idefics3 (and SmolVLM)
Fixed
- Fix typing for
processor.score_multi_vector(allow for both list and tensor inputs). This does not change how the scores are computed. - Fix
tear_down_torchwhen used on a non-MPS machine
- Python
Published by ManuelFay about 1 year ago
colpali-engine - v0.3.4
[0.3.4] - 2024-11-07
Added
- General
CorpusQueryCollatorfor BEIR style dataset training or hard negative training. This deprecatesHardNegCollatorbut all changes to the training loop are made for a seemless update.
Changed
- Updates BiPali config files
- Removed query augmentation tokens from BiQwen2Processor
- Modified XQwen2Processor to place
<|endoftext|>token at the end of the document prompt (non-breaking for ColQwen but helps BiQwen). - Removed
add_suffixin the VisualRetrieverCollator and let thesuffixbe added in the individual processors. - Changed the incorrect
<pad>token to<|endoftext|>fo query augmentationColQwen2Processor. Note that previous models were trained with<|endoftext|>so this is simply a non-breaking inference upgrade patch.
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.3.3
[0.3.3] - 2024-10-29
Added
- Add BiQwen2 model
Changed
- Modified ColQwen and BiQwen to prevent the useless forward pass in the last layer of the original model (classification head)
- Bumped "breaking" dependencies on MTEB and Transformers version and made the corresponding changes in the code
- Casted Image dtype in ColPali due to breaking 4.46 transformers update
- Added a "numimagetokens" kwarg to the
ColQwen2Processorto allow for different image resolutions
Fixed
- Fix wrong variable name for
ColPaliProcessor's prefixes
Full Changelog: https://github.com/illuin-tech/colpali/compare/v0.3.2...v0.3.3
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.3.2: The interpretability update
Description
✨ This release brings the interpretability module to colpali-engine and adds support for generating similarity maps with the ColQwen2 model.
🛠️ We’ve also made several code improvements and added tests for ColQwen2 to ensure better performance and reliability.
Features
Added
- Restore, refactor, and improve
interpretabilitymodule for generating similarity maps
Changed
- Remove dummy image from
ColPaliProcessor.process_queries
Fixed
- Fix the
compute_hardnegs.pyscript
Tests
- Add missing
model.eval()in tests - Add tests for ColQwen2
Full Changelog: https://github.com/illuin-tech/colpali/compare/v0.3.1...v0.3.2
- Python
Published by tonywu71 over 1 year ago
colpali-engine - v0.3.1: ColQwen2
[0.3.1] - 2024-09-27
Added
- Add module-level imports for collators
- Add sanity check in the run inference example script
- Add E2E test for ColPali
- Add Qwen2-VL support
Changed
- Improve code clarity the run inference example script
- Subset the example dataset in the run inference example script
- Rename scorer test to
test_processing_utils - Greatly simplify routing logic in Trainer selection and when feeding arguments to the model forward pass (refacto)
- Removed class
ContrastiveNegativeTrainerwhich is now just integrated in ContrastiveTrainer. This should not affect the user-facing API. - Bumped transformers version to 4.45.0 to get Qwen2-VL support
Fixed
- Import HardNegCollator at module-level if and only if datasets is available
- Remove the need for
typerin the run inference example script - Fix edge case when empty suffix
""given to processor - Fix bug in HardNegCollator since 0.3.0
Full Changelog: https://github.com/illuin-tech/colpali/compare/v0.3.0...v0.3.1
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.3.0
Description
✨ This release is an exhaustive package refacto, making ColPali more modular and easier to use.
🚨 It is NOT backward-compatible with previous versions.
Features
Added
- Restructure the
utilsmodule - Restructure the model training code
- Add custom
Processorclasses to easily process images and/or queries - Enable module-level imports
- Add scoring to processor
- Add
CustomRetrievalEvaluator - Add missing typing
- Add tests for model, processor, scorer, and collator
- Lint
Changelog - Add missing docstrings
- Add "Ruff" and "Test" CI pipelines
Changed
- Restructure all modules to closely follow the
transformersarchitecture - Hugely simplify the collator implementation to make it model-agnostic
ColPaliProcessor'sprocess_queriesdoesn't need a mock image input anymore- Clean
pyproject.toml - Loosen the required dependencies
- Replace
blackwith therufflinter
Removed
- Remove
interpretabilityandeval_managermodules - Remove unused utils
- Remove
TextRetrieverCollator - Remove
HardNegDocmatixCollator
Fixed
- Fix wrong PIL import
- Fix dependency issues
Full Changelog: https://github.com/illuin-tech/colpali/compare/v0.2.2...v0.3.0
- Python
Published by tonywu71 over 1 year ago
colpali-engine - v0.2.2
Fix: Remove forced "cuda" usage in Retrieval Evaluator
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.2.1
[0.2.1] - 2024-09-02
Patch query preprocessing helper function disalignement with training scheme.
Fixed
- Add 10 extra pad token by default to the query to act as reasoning buffers. This was added in the collator but not the external helper function for inference purposes.
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.2.0
[0.2.0]
Large refactoring to adress several issues and add features. This release is not backward compatible with previous versions. The models trained under this version will exhibit degraded performance if used with the previous version of the code and vice versa.
Added
- Added multiple training options for training with hard negatives. This leads to better model performance !
- Added options for restarting training from a checkpoint.
Changed
- Optionally load ColPali models from pre-initialized backbones of the same shape to remove any stochastic initialization when loading adapters. This fixes 11 and 17.
Fixed
- Set padding side to right in the tokenizer to fix misalignement issue between different query lengths in the same batch. Fixes 12
- Add 10 extra pad token by default to the query to act as reasoning buffers. This enables the above fix to be made without degrading performance and cleans up the old technique of using
tokens.
- Python
Published by ManuelFay over 1 year ago
colpali-engine - v0.1.1: Reference release for the ColPali paper
Initial release
This release contains the code of reference for the ColPali arXiv paper [url]. In particular, it contains the model architecture, the loss function, and the trainer used for training ColPali.
To use this version of colpali-engine, install the package with:
bash
pip install colpali-engine==0.1.1
- Python
Published by tonywu71 over 1 year ago