How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="Fatha/vev-9b-v2")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
pipe(text=messages)
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained("Fatha/vev-9b-v2")
model = AutoModelForMultimodalLM.from_pretrained("Fatha/vev-9b-v2", device_map="auto")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
inputs = processor.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=256)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

vev-9b-v2

Small, calibrated vision decision model. Given one image, it answers yes/no or multiple-choice questions and returns calibrated probabilities over the options. Built mainly for evaluating GenAI-generated images (prompt match, artifacts, rendered text, etc.).

  • Code, serving, CLI, benchmark: https://github.com/Fathaah/vev
  • Base model: Qwen/Qwen3.5-9B-Base, rank-32 LoRA, merged into the weights
  • Training: 846 steps, 59,378 rows, public human-labeled single-image datasets (no rating or aesthetic data)
  • Calibration: one temperature (T = 1.163) fitted on a held-out split of 1,999 examples and stored in vev_config.json
Held-out calibration split Accuracy ECE
after temperature scaling 0.906 0.0159

Usage

This repo is the merged checkpoint. Serving, the question/answer API, and vev eval-dir are in the GitHub repo; see its README for how to point vev.serve --run at a model directory.

Licensing

The code is Apache-2.0, but the weights were trained on datasets with their own terms, some research-only. Those restrictions carry over to the weights. See DATA_LICENSES.md before any commercial use.

Downloads last month
39
Safetensors
Model size
9B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Fatha/vev-9b-v2

Finetuned
(650)
this model
Quantizations
1 model