Solari is a 500M parameter vision-language model fine-tuned for
reduced hallucination on real-world images. Built on
SmolVLM2-500M-Video-Instruct, Solari uses
QLoRA + Direct Preference Optimization (DPO) on the
RLAIF-V dataset to align the model toward more faithful visual descriptions.
1import torch
2from transformers import AutoModelForImageTextToText, AutoProcessor
3from PIL import Image
4import requests
5
6model_id = "Cubex11/Solari"
7model = AutoModelForImageTextToText.from_pretrained(
8 model_id,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11)
12processor = AutoProcessor.from_pretrained(model_id)
13
14# Load an image (replace with your own image path or URL)
15image = Image.open("your_image.jpg").convert("RGB")
16
17# Create prompt
18messages = [
19 {
20 "role": "user",
21 "content": [
22 {"type": "image"},
23 {"type": "text", "text": "Describe this image in detail."}
24 ]
25 }
26]
27
28text = processor.apply_chat_template(messages, add_generation_prompt=True)
29inputs = processor(text=text, images=[[image]], return_tensors="pt").to(model.device)
30output = model.generate(**inputs, max_new_tokens=256)
31trimmed = output[0][len(inputs.input_ids[0]):]
32print(processor.decode(trimmed, skip_special_tokens=True))
RLAIF-V (Formatted) — a large-scale multimodal preference dataset containing ~72K preference pairs. Each sample includes an image, a prompt, a
chosen response (more accurate), and a
rejected response (more hallucinated). Preferences are generated by open-source AI models following the RLAIF-V methodology.
The base model was quantized to 4-bit (NF4) and fine-tuned using Low-Rank Adaptation (LoRA) with DPO to learn preferences between accurate and hallucinated responses.
Evaluated using
VLMEvalKit on 8 standard benchmarks covering hallucination, general VLM capability, and real-world understanding.
1@misc{solari2026,
2 title={Solari: Hallucination-Reduced Vision Language Model via QLoRA DPO on RLAIF-V},
3 author={Cubex11},
4 year={2026},
5 url={https://huggingface.co/Cubex11/Solari}
6}