Downloads · 30 days
22
28% of all-time downloads
Fanny-Eater/EVIE-Preview-4.5B-int8
EVIE-Preview-4.5B-int8 is a visual document retrieval model from Fanny-Eater. Use it for the visual document retrieval task on the model card, and read the license before you ship it in a product. It is set up for colpali-engine. The card lists the license as apache-2.0.
An unofficial 8-bit quantization of Tencent EVIE-Preview-4.5B, converted by Fanny-Eater.
Downloads · 30 days
22
28% of all-time downloads
All-time downloads
79
Public
Parameters
4.5B
5.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors5.2 GB · 100%
How the weights are stored.
I83.9B · 86%
From the Hugging Face model README
An unofficial 8-bit quantization of Tencent EVIE-Preview-4.5B, converted by Fanny-Eater.
This is a visual document retriever, not a chat or text-generation model. It returns one normalized 128-dimensional vector per token and ranks pages with MaxSim late interaction. It cannot be loaded by llama.cpp, LM Studio, Ollama, or any GGUF runtime — see Why not GGUF?.
All linear layers are quantized to INT8 via bitsandbytes
LLM.int8() (load_in_8bit=True). There is no calibration dataset, no fine-tuning, and no retraining — this is a
pure post-training weight-space quantization of the official checkpoint. All 725 weight tensors are preserved,
including the custom_text_proj retrieval projection head (a naive AutoModel load silently drops it — this
checkpoint does not).
| Official BF16 | This INT8 | |
|---|---|---|
| Weight size | 8.5 GB | 4.9 GB |
| Weights | 725 | 725 (all) |
| Calibration / retraining | — | none |
| Runtime | PyTorch + colpali-engine | PyTorch + colpali-engine + bitsandbytes |
llama.cpp's convert_hf_to_gguf.py does not support the ColQwen3_5 architecture (it errors with
Model ColQwen3_5 is not supported). EVIE is a multi-vector retrieval encoder built on a Qwen3.5 hybrid
(linear GatedDeltaNet + full attention) backbone with a vision tower — not a generative decoder — so GGUF tooling
has no target for it. If you want an OpenAI-style endpoint instead of a local GUI, see
Serving & benchmarking.
pip install "git+https://github.com/huggingface/transformers.git" colpali-engine bitsandbytes accelerate
import torch
from colpali_engine.models import ColQwen3_5, ColQwen3_5Processor
model_id = "Fanny-Eater/EVIE-Preview-4.5B-int8"
model = ColQwen3_5.from_pretrained(model_id, device_map="cuda").eval()
processor = ColQwen3_5Processor.from_pretrained(model_id)
# Reproduce official scores: full-attention layers must be bidirectional
# (copy bidirectional.py from the source repo and call enable_bidirectional_attention(model))
from PIL import Image
images = [Image.open("page_1.png"), Image.open("page_2.png")]
queries = ["What is the revenue for 2025?"]
with torch.inference_mode():
doc = model(**processor.process_images(images).to(model.device))
model.rope_deltas = None
qry = model(**processor.process_queries(queries).to(model.device))
scores = processor.score(qry, doc)
print(scores)
The quantized weights reload identically from disk (verified: a text query yields an embedding of shape
(1, 15, 128) in bf16). On a single 20 GB GPU the model loads with ample headroom.
There is no llama.cpp endpoint for this architecture. The practical ways to run and benchmark it yourself:
reproduce.sh from the source repo
against this quantized checkpoint, or use the ViDoRe benchmark
to compare against ColPali, ColQwen, Jina, and the other leaderboard models. This gives nDCG@5/@10, the metric
the leaderboard uses.POST /embed endpoint returning token vectors; point your retrieval pipeline at it. (Happy-path example in the
discussion tab if there's demand.)(1, 15, 128), finite, unit-normalized.MatMul8bitLt: inputs will be cast from torch.bfloat16 to float16 on CPU — benign; on CUDA
it runs the native int8 path.@misc{evie-preview-4.5b,
title = {EVIE-Preview-4.5B},
author = {Tencent},
year = {2026},
url = {https://huggingface.co/tencent/EVIE-Preview-4.5B}
}