🚀 OpenVLThinker-7B
OpenVLThinker-7B 是一个视觉语言推理模型,旨在处理多模态任务,尤其针对视觉数学问题解决进行了调优。
🚀 快速开始
模型信息
属性 |
详情 |
基础模型 |
Qwen/Qwen2.5-VL-7B-Instruct |
许可证 |
apache-2.0 |
库名称 |
transformers |
任务类型 |
图像文本到文本 |
更多详情
💻 使用示例
基础用法
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
import torch
from qwen_vl_utils import process_vision_info
import requests
from PIL import Image
model_name = "ydeng9/OpenVLThinker-7B"
processor_name = "Qwen/Qwen2.5-VL-7B-Instruct"
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
device_map=device
)
processor = AutoProcessor.from_pretrained(processor_name)
image_url = "https://example.com/sample_image.jpg"
instruction = "Example question"
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": image_url},
{"type": "text", "text": instruction},
],
}
]
text_prompt = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text_prompt],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
).to(device)
generated_ids = model.generate(
**inputs,
do_sample=True,
max_new_tokens=2048,
top_p=0.001,
top_k=1,
temperature=0.01,
repetition_penalty=1.0,
)
generated_text = processor.batch_decode(
generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print("Generated Response:")
print(generated_text)
引用信息
@misc{deng2025openvlthinker,
title={OpenVLThinker: An Early Exploration to Complex Vision-Language Reasoning via Iterative Self-Improvement},
author={Yihe Deng and Hritik Bansal and Fan Yin and Nanyun Peng and Wei Wang and Kai-Wei Chang},
year={2025},
eprint={2503.17352},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2503.17352},
}