Skip to main content

jina-v4-vllm-plugin

vLLM out-of-tree model plugin that makes a stock vLLM OpenAI server serve Jina Embeddings v4 multi-vector (128-dim/token, ColBERT-style late interaction) multimodal (text + image) embeddings. With the plugin installed, the server's /pooling endpoint returns final L2-normalized [n,128] per-token multivectors directly — no proxy, no client-side projection.

It registers a JinaV4MultiVector architecture (Qwen2.5-VL backbone + Jina's multi_vector_projector applied in-engine, mirroring vLLM's in-tree ColQwen3/ColPali pattern) via a vllm.general_plugins entry point, so it loads in every vLLM process including the v1 EngineCore worker.

Install

pip install jina-v4-vllm-plugin        # from PyPI
# into an image that already provides vLLM (e.g. vllm/vllm-openai), skip re-resolving vLLM/torch:
pip install --no-deps jina-v4-vllm-plugin

--no-deps keeps pip from re-resolving vLLM/torch inside the official image. Pin the host vLLM version the plugin was validated against — see research/docs/COMPAT.md.

Use

vllm serve <jina-v4-checkpoint> \
  --runner pooling --pooler-config.task token_embed \
  --hf-overrides '{"architectures":["JinaV4MultiVector"]}' \
  --chat-template "$(python -c 'import jina_v4_vllm_plugin as p; print(p.chat_template_path())')"

The projector weights (128×2048 + bias) are not in the vLLM checkpoint; the plugin loads them at startup from JINA_MV_PROJECTOR (default /artifacts/projector/retrieval.npz), or from the checkpoint itself if baked in. A ready-made baked, drop-in checkpoint is published at Mazyod/jina-embeddings-v4-vllm-mv.

Build & validation tooling

The Modal build/validate/bake/deploy harness that produced and verified the artifacts lives under research/ (its own uv project): projector extraction, checkpoint baking, HF-vs-vLLM parity, the deploy runbook, and the vLLM-version compatibility matrix (research/docs/COMPAT.md, research/deploy/DEPLOY.md).

Develop

make install   # uv sync
make test      # packaging contract tests (no GPU/vLLM)
make build     # sdist + wheel into dist/

Releases publish to PyPI via GitHub Actions Trusted Publishing (OIDC) — run the Publish to PyPI workflow (workflow_dispatch, choose patch/minor/major).

Metadata

Release files for jina-v4-vllm-plugin 0.1.1

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

Source distribution (sdist)

Source distribution for jina-v4-vllm-plugin 0.1.1
File Size Uploaded
jina_v4_vllm_plugin-0.1.1.tar.gz 316.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jina-v4-vllm-plugin 0.1.1
File Interpreter ABI Platform
jina_v4_vllm_plugin-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 323.1 kB

Release files / jina_v4_vllm_plugin-0.1.1.tar.gz

Download URL jina_v4_vllm_plugin-0.1.1.tar.gz
Size 316.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2a9c45ed6555563155141ae2b9161097e5c5ba453cf8fed35ac5cefe789e712b
BLAKE2b-256 checksum
How to use checksums
75c062a41361f004aaa77bbf30fff3ac0fbed28eea62a6db0fb0a47ca621a936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.

Transparency log

Release files / jina_v4_vllm_plugin-0.1.1-py3-none-any.whl

Download URL jina_v4_vllm_plugin-0.1.1-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98be0623426d3e6d7e8438fcbc14bff0e028973658c912015770edbc3bf3b7a5
BLAKE2b-256 checksum
How to use checksums
2442bb040fc413d1c180f7385317d02692042d83acef448fb67a0de270e78f37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

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