Skip to main content

VLM2Vec (MMEB) for Pyserini

PyPI Downloads Downloads LICENSE

This repository contains a fork of the original VLM2Vec codebase, modified for easy Pyserini integration and repackaged as a PyPI package.

current_version = "0.2.0"

Supported Datasets and Tasks

All 24 Visual Document Retrieval tasks are supported. This covers ViDoRE ViDoRE v2, VisRAG, ViDoSeek, and MMLongBench.

Supported Models

Any VL models with qwen2-vl, gme, and lamra backbones are supported. This includes gme-Qwen2-VL-2B/7B-Instruct, VLM2Vec/VLM2Vec-V2.0, code-kunkun/LamRA-Ret and more.

Installation

Install the package directly from PyPI:

pip install vlm2vec-for-pyserini

Or, install from source:

git clone https://github.com/castorini/VLM2Vec-for-Pyserini.git
cd VLM2Vec-for-Pyserini
pip install .

Quick Start

Assuming that you have cloned the repository and you are in the root dir:

  1. Download the visdoc from HuggingFace and convert the corpus, topics and queries to the format ready for Pyserini:
bash src/pyserini_integration/prepare_dataset.sh
  1. Run encoding, indexing, and search. Then evaluation and results aggregation using the following script:
bash src/pyserini_integration/experiments.sh

If you want to use the PyPI package, take a look at download_visdoc.py, save_pyserini_data.py, and quick_start_demo.py files under src/pyserini_integration/ as sample code.

Contact

For contact regarding the Pyserini integration section, please email Sahel Sharifymoghaddam.

For contact regarding the original VLM2Vec codebase, please email the authors of the original repository.

Citation

If you use this work with Pyserini, please cite Pyserini in addition to the original VLM2Vec paper:

@INPROCEEDINGS{Lin_etal_SIGIR2021_Pyserini,
   author = "Jimmy Lin and Xueguang Ma and Sheng-Chieh Lin and Jheng-Hong Yang and Ronak Pradeep and Rodrigo Nogueira",
   title = "{Pyserini}: A {Python} Toolkit for Reproducible Information Retrieval Research with Sparse and Dense Representations",
   booktitle = "Proceedings of the 44th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2021)",
   year = 2021,
   pages = "2356--2362",
}

@article{jiang2024vlm2vec,
  title={VLM2Vec: Training Vision-Language Models for Massive Multimodal Embedding Tasks},
  author={Jiang, Ziyan and Meng, Rui and Yang, Xinyi and Yavuz, Semih and Zhou, Yingbo and Chen, Wenhu},
  journal={arXiv preprint arXiv:2410.05160},
  year={2024}
}

@article{meng2025vlm2vecv2,
  title={VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual Documents},
  author={Rui Meng and Ziyan Jiang and Ye Liu and Mingyi Su and Xinyi Yang and Yuepeng Fu and Can Qin and Zeyuan Chen and Ran Xu and Caiming Xiong and Yingbo Zhou and Wenhu Chen and Semih Yavuz},
  journal={arXiv preprint arXiv:2507.04590},
  year={2025}
}

📄 License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

Metadata

Release files for vlm2vec-for-pyserini 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vlm2vec-for-pyserini 0.2.0
File Size Uploaded
vlm2vec_for_pyserini-0.2.0.tar.gz 453.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vlm2vec-for-pyserini 0.2.0
File Interpreter ABI Platform
vlm2vec_for_pyserini-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / vlm2vec_for_pyserini-0.2.0.tar.gz

Download URL vlm2vec_for_pyserini-0.2.0.tar.gz
Size 453.1 kB
Tags Source
SHA-256 checksum
How to use checksums
817f92758d36e438a0f46f6d3db2f0abaac254c954bb0fcea3b58e1f6cb128c8
BLAKE2b-256 checksum
How to use checksums
137b1230143a294ab916dd3c99430a7ddd0797d61a1fbaa84ef21d047447fdb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / vlm2vec_for_pyserini-0.2.0-py3-none-any.whl

Download URL vlm2vec_for_pyserini-0.2.0-py3-none-any.whl
Size 570.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1eeeb721c154f34c6f8530672f5c2796c6dee6ef31e16d1229e1ff84cbd0b75e
BLAKE2b-256 checksum
How to use checksums
1a7b92b3962a40d7af1eee55e887f626ae72558ab3fee5cf8870b1267e63b4bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page