vidore_colqwen-omni-v0.1
vidore · View on Hugging Face ↗
Get this model
Seeders: 1 · Leechers: 0
Observed 2026-09-02T13:56:39Z via announce.aitorrent.org:7070.
Model card
The complete upstream card, rendered from this payload's README.md — the same hash-verified bytes the torrent distributes. Images and off-site links are removed; the original card on Hugging Face carries them.
base_model: vidore/colqwen2.5omni-base license: mit library_name: colpali language:
- en tags:
- sentence-transformers
- multi-vector
- colpali
- vidore
- vidore-experimental pipeline_tag: visual-document-retrieval
ColQwen2.5-Omni: Visual+Audio Retriever based on Qwen2.5-Omni-3B-Instruct with ColBERT strategy
Check out the release blogpost for in-depth explanations and tutorials!
ColQwen-Omni is a model based on a novel model architecture and training strategy based on Omnimodal Language Models to efficiently index documents from their visual features. It is a Qwen2.5-Omni-3B extension that generates ColBERT- style multi-vector representations of text and images. It was introduced in the paper ColPali: Efficient Document Retrieval with Vision Language Models and first released in this repository
Version specificity
This model takes dynamic image resolutions in input and does not resize them, changing their aspect ratio as in ColPali. Maximal resolution is set so that 1024 image patches are created at most. Experiments show clear improvements with larger amounts of image patches, at the cost of memory requirements.
This version is trained with colpali-engine==0.3.11.
Data is the same as the ColPali data described in the paper.
Model Training
Dataset
The audio retrieval capabilities are acquired in a 0-shot capacity, as the entire training data is purely image-text matching. Yhe audio and vision tower are frozen during training.
Our training dataset of 127,460 query-page pairs is comprised of train sets of openly available academic datasets (63%) and a synthetic dataset made up of pages from web-crawled PDF documents and augmented with VLM-generated (Claude-3 Sonnet) pseudo-questions (37%). Our training set is fully English by design, enabling us to study zero-shot generalization to non-English languages. We explicitly verify no multi-page PDF document is used both ViDoRe and in the train set to prevent evaluation contamination. A validation set is created with 2% of the samples to tune hyperparameters.
Note: Multilingual data is present in the pretraining corpus of the language model and most probably in the multimodal training.
Usage with Sentence Transformers
ColQwen-Omni can be used as a multi-vector (ColBERT-style late interaction) retriever directly with Sentence Transformers via the MultiVectorEncoder. Queries are text, and documents can be page images or audio.
pip install "sentence-transformers[image,audio,video]>=6.0.0"
from sentence_transformers import MultiVectorEncoder
model = MultiVectorEncoder("vidore/colqwen-omni-v0.1")
queries = [
"What is the variable represented on the y-axis of the graph?",
"Total outlay is maximum in which year?",
]
documents = [
f"https://huggingface.co/datasets/sentence-transformers/example-documents/resolve/main/doc{i}.jpg" for i in range(1, 5)
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(f"Query 0 shape: {tuple(query_embeddings[0].shape)}")
print(f"Document 0 shape: {tuple(document_embeddings[0].shape)}")
# Query 0 shape: (61, 128)
# Document 0 shape: (1034, 128)
# MaxSim late-interaction scoring (rows = queries, columns = documents)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
# tensor([[53.5625, 49.2036, 46.6958, 45.4949],
# [45.6436, 53.1328, 45.0957, 45.5176]])
Audio documents work the same way, routed to the audio tower automatically. Cast the clips to 16 kHz first, the rate the tower expects:
from datasets import Audio, load_dataset
dataset = load_dataset("eustlb/dailytalk-conversations-grouped", split="train[:20]")
dataset = dataset.cast_column("audio", Audio(sampling_rate=16_000))
audios = [row["array"] for row in dataset["audio"]] # raw mono waveforms, float32 at 16 kHz
audio_embeddings = model.encode_document(audios)
scores = model.similarity(model.encode_query(["medicine for car nausea"]), audio_embeddings)[0]
# zero-shot (trained on images only, no transcription step): the "nausea" query matches the "carsickness" recording
top_scores, top_indices = scores.topk(3)
for score, index in zip(top_scores.tolist(), top_indices.tolist()):
print(f"{score:.2f} {dataset[index]['texts'][0]}")
# 50.88 Excuse me? Do you have anything for a carsickness?
# 46.05 Excuse me, could you tell me where you have got that music book?
# 46.01 Jeff, I'm going to the supermarket. Do you want to come with me?
[!NOTE] Documents are tiled adaptively, so their embeddings vary in length (1034 to 1062 tokens for the four example pages). MaxSim handles that, and
model.similaritymasks the padding for you.
Usage with ColPali Engine
Make sure colpali-engine is installed from source or with a version superior to 0.3.11.
pip install git+https://github.com/illuin-tech/colpali
import torch
from PIL import Image
from transformers.utils.import_utils import is_flash_attn_2_available
from tqdm import tqdm
from torch.utils.data import DataLoader
from colpali_engine.models import ColQwen2_5Omni, ColQwen2_5OmniProcessor
model = ColQwen2_5Omni.from_pretrained(
"vidore/colqwen-omni-v0.1",
torch_dtype=torch.bfloat16,
device_map="cuda", # or "mps" if on Apple Silicon
attn_implementation="flash_attention_2" # if is_flash_attn_2_available() else None,
).eval()
processor = ColQwen2_5OmniProcessor.from_pretrained("vidore/colqwen-omni-v0.1")
dataset = load_dataset("eustlb/dailytalk-conversations-grouped", split="train[:500]")
audios = [x["array"] for x in dataset["audio"]]
dataloader = DataLoader(
dataset=audios,
batch_size=2,
shuffle=False,
collate_fn=lambda x: processor.process_audios(x),
)
ds = []
for batch_doc in tqdm(dataloader):
with torch.no_grad():
batch_doc = {k: v.to(model.device) for k, v in batch_doc.items()}
embeddings_doc = model(**batch_doc)
ds.extend(list(torch.unbind(embeddings_doc.to("cpu"))))
def get_results(query: str, k=10):
batch_queries = processor.process_queries([query]).to(model.device)
# Forward pass
with torch.no_grad():
query_embeddings = model(**batch_queries)
scores = processor.score_multi_vector(query_embeddings, ds)
# get top-5 scores
return scores[0].topk(k).indices.tolist()
res = get_results("A person looking for a taxi")
# In colab
display(Audio(dataset[res[0]]["audio"]["array"], autoplay=True, rate=dataset[res[0]]["audio"]["sampling_rate"]))
Contact
- Manuel Faysse: [email protected]
- Antonio Loison: [email protected]
Citation
If you use any datasets or models from this organization in your research, please cite the original dataset as follows:
@misc{faysse2024colpaliefficientdocumentretrieval,
title={ColPali: Efficient Document Retrieval with Vision Language Models},
author={Manuel Faysse and Hugues Sibille and Tony Wu and Bilel Omrani and Gautier Viaud and Céline Hudelot and Pierre Colombo},
year={2024},
eprint={2407.01449},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2407.01449},
}
Magnet link
Opens the swarm directly in your torrent client — no file download needed. Copy-paste works too:
magnet:?xt=urn:btih:6bf2493b6e6e8b9e7008f6b321219a30ee746635&dn=vidore_colqwen-omni-v0.1Open magnet in torrent client · infohash 6bf2493b6e6e8b9e7008f6b321219a30ee746635
Files & hashes
| Path | Size | sha1 | sha256 |
|---|---|---|---|
| 1_Dense/config.json | 251 B (251 B) | bc101c56b445de2d3cf39556ae4973d4423b059e | 5c8057233f6ae4e996c4ae53beb80e0aa9af3190f720f341273963f80b196c10 |
| 1_Dense/model.safetensors | 1.0 MB (1,049,248 B) | 2f7148bd19974f064b3bc2a88a2632c08f03b854 | 62a59c9a4220f11ee35a03b67566cb40d657c98a47334dcfa6f2e00300f39222 |
| 2_Normalize/config.json | 93 B (93 B) | b58e770391e8a0ce15112707ee43f658aa34ad92 | 364b410cb57b16a9bd3468fbb43d7d7595000c8c6a8f8243beb8517ac87f035e |
| 3_MultiVectorMask/config.json | 29 B (29 B) | 563f8ecfcaabd72b805310fcc757c992a3de6ff8 | 2cee71b59d303d7779fe6a866f30fc5a4024b6ccd0c22c375b27c3bb0d55a898 |
| README.md | 7.4 KB (7,618 B) | 0a9bb6c34f2b927188d987d74927783711d1d7cb | 1cf891814a8bbd6e2a8fd038b2067ca4726de1f83995d571f53fdec205ed110f |
| adapter_config.json | 876 B (876 B) | 2393b1598b55ad68ae1cab452f39cf3f88a87809 | 32c7b92916906e16e074748258624c9ac14c03941b1f30d1da8f7de8dd42d848 |
| adapter_model.safetensors | 228.7 MB (239,815,040 B) | c848c8e8726e39ec2e9eca6470fe088fe5422996 | a3160c931d298df8bc7ea3ca33f18b8fdf699fe5c8f23ccf7a5389b12310dd08 |
| added_tokens.json | 579 B (579 B) | 4562256351969d3b68f81fd5623ae42a9c7fbb25 | e81a2cc3bd867a1217019eed202d1d8a07e1063ece716f22060dda14f6cc07d8 |
| additional_chat_templates/sentence_transformers.jinja | 1.5 KB (1,493 B) | 1ca1092f46be879432db4b7e52dfc0fc097817f3 | 165a5eec818ec1c5347468ee03356aa250c59c3da10da1696ed613e2a3877b74 |
| chat_template.jinja | 1.3 KB (1,281 B) | 91215ad8edf5f4ce8f846d241313a8b124e4a61d | d027e14db2e64eb2c23597240d42ea747b4fd5efd6e6a7604a990949c610f79c |
| checkpoint-2310/README.md | 5.0 KB (5,114 B) | f0a3e36ebdcf727ecf7995e43128aaa7bb83a7c8 | 049426197a45195ba6a87d727bddce6d41709e3c13cd75b0cc11846549c1539a |
| checkpoint-2310/adapter_config.json | 889 B (889 B) | 9ede83de7996de0bd61ee1c6eb3df7139ecad039 | 500305405a57bb636597b1c1c49b1f8a56be5f050e1fa3027934582a36710777 |
| checkpoint-2310/adapter_model.safetensors | 228.7 MB (239,815,040 B) | c848c8e8726e39ec2e9eca6470fe088fe5422996 | a3160c931d298df8bc7ea3ca33f18b8fdf699fe5c8f23ccf7a5389b12310dd08 |
| checkpoint-2310/optimizer.pt | 457.7 MB (479,921,873 B) | 344cb4cce315877be8fdb9300deb3962b09ae9f3 | bb0841a27b3e5e0653154852aebe78d5eb063396ff95536280b4406694df06d7 |
| checkpoint-2310/scheduler.pt | 1.4 KB (1,465 B) | 702e8a429a542bf49465a2143a240c5afcd6e908 | 25b0085c1e047b756f13db0ba3741cc59e9579c6b3663e6f0c6a07707a16fae7 |
| checkpoint-2310/trainer_state.json | 44.5 KB (45,616 B) | afade8f8a81e51492b0ffe68284f135a17b14fe0 | fb3f74133f46b0cdd4801ded05facc96a61d6d94d954b198b4f46971d909d5f1 |
| checkpoint-2310/training_args.bin | 5.6 KB (5,777 B) | c311d256b3657268b05716bfc635e7dbc6779d44 | a5ee6fb727a5b92509e0b07a43bb3b13192a4cd21f2c87960f9bd90ffb0b22fd |
| config_sentence_transformers.json | 191 B (191 B) | 41309ec284390e37ee3b0c3f76a6300eb4bf69f0 | c9266298501d11680737a3cc99a0cd7849359a29ee64be30087da42cf8225c26 |
| git_hash.txt | 40 B (40 B) | 71e0e5aa02cf5ae1e688b9304909691080f0da89 | b9d247e7e7a1fbdacbcfc227c474e13d40d5d534ef88c5305a357fc161888590 |
| merges.txt | 1.6 MB (1,671,853 B) | 31349551d90c7606f325fe0f11bbb8bd5fa0d7c7 | 8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5 |
| modules.json | 579 B (579 B) | dfec9bcc9b0eb3c302863a2ca36853d677198c0d | f173d91d61a4b9151d0f9ce1fdc2f3fd9d0d5ccd997fc0c9953413555101c5f6 |
| preprocessor_config.json | 665 B (665 B) | 65cd7ed8b3e11d8d3b7fcc3feb4c632144646eee | 72c5d2d874bdc040715dfb7e443cdaf8abcba0896b418d64c17d44b1cc81a353 |
| sentence_bert_config.json | 1.1 KB (1,147 B) | b2d781163784e78e7ec22391c26a602cba6ff5da | 784735dbace23e59ff4e1262e9e93dedc08ffd19576339b16e7881618a2c788b |
| special_tokens_map.json | 833 B (833 B) | 9c74ed4d342d5579edf7d84a78f79c0c18cfd065 | db7fd39f5dc9ee37998c3ed04e3a3386989182a550064d2a2a9af16822cf22f4 |
| tokenizer.json | 10.9 MB (11,421,870 B) | 1181f513c3e149629775000bfb303dc3a47736e1 | 8441917e39ae0244e06d704b95b3124795cec478e297f9afac39ba670d7e9d99 |
| tokenizer_config.json | 5.0 KB (5,163 B) | 66088a8d12d326ab8aaa3cf3a03f8962364d3005 | e81a5ed2e8861be56f0f99669330ac23a067e628a4e16a5b4416403540adf02d |
| train_colqwenomni_model.py | 4.1 KB (4,190 B) | cb2c13e49a638d0fced48b88df8ee679be9a1aa5 | 1701ca9934e4e4ef4a3798eaa8fc82668006ab9d32754583eb2988bf52e1f47f |
| video_preprocessor_config.json | 1.2 KB (1,269 B) | 4727adaca7a2a915b7a57cb745fd3e93c8031f81 | 2e72724983e03c012261890256d02283e8515113e51a01282da895e1b7927aca |
| vocab.json | 2.6 MB (2,776,833 B) | 4783fe10ac3adce15ac8f358ef5462739852c569 | ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 |
Cite this release
- Canonical URL
- https://aiseedbank.org/models/vidore_colqwen-omni-v0.1/
- Slug
- vidore_colqwen-omni-v0.1
- Infohash
- 6bf2493b6e6e8b9e7008f6b321219a30ee746635
- License
- mit
- Signing key fingerprint
- 85a3b32c3712427b
Every file carries a locally computed sha256 — verify a download against the signed sums: vidore_colqwen-omni-v0.1.SHA256SUMS (+ minisign signature).
Provenance
| Upstream repository | vidore/colqwen-omni-v0.1 |
|---|---|
| Revision (pinned) | c0f50696f483b12247c3a4bc23a524b29aba2c13 |
| Fetched at | 2026-09-02T05:24:52Z |
| License at fetch | mit |
| Snapshot tool | huggingface · seedbank 0.1.0 |
Trackers
- udp://announce.aitorrent.org:6969/announce
- http://announce.aitorrent.org:7070/announce
- udp://announce2.aitorrent.org:6970/announce
- http://announce2.aitorrent.org:7071/announce
- udp://tracker.opentrackr.org:1337/announce
- udp://open.demonii.com:1337/announce
- udp://open.stealth.si:80/announce
- udp://exodus.desync.com:6969/announce
- udp://tracker.torrent.eu.org:451/announce
✓ verified · rehash-vs-hf-metadata at 2026-09-02T05:25:03Z
mit931.3 MB (976,556,915 bytes)colpalisafetensorssentence-transformersmulti-vectorvidorevidore-experimentalvisual-document-retrieval1 language (en)paper: 2004.12832paper: 2407.01449