colpali-engine
The code used to train and run inference with the ColPali architecture.
What it is and what it does
ColPali-engine is a PyTorch-based library for training and running inference with vision-language document retrieval models. It implements the ColPali architecture and variants (ColQwen, ColSmol, etc.) that convert document images into multi-vector embeddings using visual transformers, enabling efficient semantic search over documents without requiring separate OCR or layout recognition pipelines. The library depends on numpy, scipy, torch, torchvision, transformers, pillow, peft, and requests.
The package is designed for developers and researchers building document retrieval systems. It supports multiple pre-trained model variants with different performance-efficiency tradeoffs, from small models (256M parameters) to larger ones (4.5B+). The core approach follows ColBERT's late-interaction ranking method adapted to the visual domain, allowing both the textual and visual content (layout, charts, images) of documents to influence retrieval scoring.
Use it for:
- Build a document search engine that retrieves pages from PDFs or scanned documents based on natural language queries without OCR
- Index and retrieve technical documentation, research papers, or forms where layout and visual structure matter for understanding
- Create a multilingual document retrieval system using models with support across multiple languages
- Fine-tune a pre-trained model on domain-specific documents using the training utilities and LoRA support
- Deploy efficient document ranking in production with optional fused MaxSim kernels for reduced memory usage
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ColPali-engine provides training and inference code for vision-language document retrieval models that create multi-vector embeddings from document images using visual transformers, enabling efficient document search without OCR.
Yes. Active maintenance, permissive MIT license, low install friction, no known vulnerabilities, and a focused scope for vision-based document retrieval make it a solid choice. Install if you need to search documents visually without OCR pipelines; skip if you only work with plain text or have existing OCR infrastructure.
Install
colpali-engine on PyPI
pip
pip install colpali-engineuv
uv add colpali-enginepoetry
poetry add colpali-engineInstalling colpali-engine
Before you install
Low friction install with a pure Python wheel. Active maintenance with recent commits; last release 67 days ago. Requires PyTorch and related deep learning dependencies, which are substantial but standard for this domain.
License in practice
MIT license (permissive) allows commercial and private use with minimal restrictions, making it suitable for both research and production deployment.
Quickstart
pip install colpali-engine
from colpali_engine.models import ColPali
from colpali_engine.utils import process_documents
model = ColPali.from_pretrained('vidore/colqwen2-v1.0')
embeddings = model.encode_documents(documents)
Requires Python >=3.10,<3.15 and PyTorch; Mac users with MPS and torch 2.6.0 should downgrade to torch 2.5.1 for ColQwen models.
Verify before relying
- Whether the package includes full training utilities or primarily inference code
- Performance characteristics (throughput, latency) for typical document batch sizes
- GPU memory requirements for different model variants listed in the description
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — numpy, peft, pillow, requests, scipy, torch, torchvision, transformers |
| Maintenance | actively maintained — 67 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 154,293/month — #10,856 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: colpali_engine-0.3.17-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
colbert-aiColBERT is a BERT-based retrieval model that…
unclear · top 15,000 on PyPI
FlagEmbeddingFlagEmbedding provides embedding and reranking…
unclear · top 15,000 on PyPI
model2vecModel2Vec converts sentence transformers into…
permissive · top 5,000 on PyPI
fastembedFastEmbed generates vector embeddings for text,…
permissive · top 5,000 on PyPI
langchain-plaidIntegrates NextPlaid, a ColBERT-style…
permissive · top 15,000 on PyPI
voyageaiProvides Python access to Voyage AI's embedding…
permissive · top 5,000 on PyPI
sentence-transformersComputes embeddings and reranking scores for…
permissive · top 1,000 on PyPI
FlashRankFlashRank re-ranks search results using…
permissive · top 15,000 on PyPI
glinerGLiNER is a lightweight framework for named…
permissive · top 15,000 on PyPI
sgl-kernelsgl-kernel provides optimized CUDA compute…
permissive · top 15,000 on PyPI