Downloads · 30 days
2.2K
67% of all-time downloads
kiel2/Kiel-2-VQA
Kiel-2-VQA is a image-text-to-text model from kiel2. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
Kiel-2-VQA is a high-performance multimodal vision-language model fine-tuned from the Qwen2.5-VL architecture. It is engineered to excel in Visual Question Answering (VQA), complex document and chart analysis, dense O…
Downloads · 30 days
2.2K
67% of all-time downloads
All-time downloads
3.2K
Public
Parameters
7.1B
84.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors30.7 GB · 61%
From the Hugging Face model README
Kiel-2-VQA is a high-performance multimodal vision-language model fine-tuned from the Qwen2.5-VL architecture. It is engineered to excel in Visual Question Answering (VQA), complex document and chart analysis, dense OCR data extraction, and fine-grained visual localization. As part of the Kiel AI suite, it serves as the core intelligence engine for high-precision image understanding and multimodal chat workflows.
Qwen2_5_VLForConditionalGeneration)You can load and run Kiel-2-VQA directly using Hugging Face transformers and bitsandbytes for memory-efficient execution:
import torch
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from PIL import Image
import requests
MODEL_ID = "kiel2/Kiel-2-VQA"
print("Loading Kiel-2-VQA processor and model...")
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
MODEL_ID,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True
)
model.eval()
# Prepare an image and a text query
image_url = "[https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/car.jpg](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/car.jpg)"
image = Image.open(requests.get(image_url, stream=True).raw)
conversation = [
{
"role": "user",
"content": [
{"type": "image", "image": image},
{"type": "text", "text": "Describe the key elements and setting of this image in detail."},
],
}
]
# Apply chat template
text_prompt = processor.apply_chat_template(
conversation, tokenize=False, add_generation_prompt=True
)
# Process inputs
inputs = processor(
text=[text_prompt],
images=[image],
padding=True,
return_tensors="pt"
).to(model.device)
# Generate response
with torch.no_grad():
output_ids = model.generate(**inputs, max_new_tokens=256)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(inputs.input_ids, output_ids)
]
response = processor.batch_decode(
generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True
)[0]
print("Model Response:\n", response)
Citation
Code snippet
@misc{kiel2-Kiel-2-VQA-2026,
author = {KielTech},
title = {Kiel-2-VQA: High-Performance Multimodal Vision-Language Model},
year = {2026},
publisher = {Hugging Face},
journal = {Hugging Face Repository},
howpublished = {\url{[https://huggingface.co/kiel2/Kiel-2-VQA](https://huggingface.co/kiel2/Kiel-2-VQA)}}
}