Here we show a code snippet to show you how to use the chat model with transformers and qwen_vl_utils:
python
1from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
2from qwen_vl_utils import process_vision_info
3# default: Load the model on the available device(s)4model = Qwen2_5_VLForConditionalGeneration.from_pretrained(5"Yuqi-Zhou/GUI-G1-3B-v1", torch_dtype="auto", device_map="auto"6)7# We recommend enabling flash_attention_2 for better acceleration and memory saving, especially in multi-image and video scenarios.8# model = Qwen2_5_VLForConditionalGeneration.from_pretrained(9# "Yuqi-Zhou/GUI-G1-3B-v1",10# torch_dtype=torch.bfloat16,11# attn_implementation="flash_attention_2",12# device_map="auto",13# )1415# default processer16processor = AutoProcessor.from_pretrained("Yuqi-Zhou/GUI-G1-3B-0.1K")1718messages =[19{20"role":"user",21"content":[22{23"type":"image",24"image":"https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",25},26{"type":"text","text":"Grounding instruction is:{Question}. Help to locate and output its bbox coordinates using JSON format::\n```json\n[\n{{"point_2d": [x, y], "label": "object name/description"}}\n]```"},27],28}29]30# Preparation for inference31text = processor.apply_chat_template(32 messages, tokenize=False, add_generation_prompt=True33)34image_inputs, video_inputs = process_vision_info(messages)35inputs = processor(36 text=[text],37 images=image_inputs,38 videos=video_inputs,39 padding=True,40 return_tensors="pt",41)42inputs = inputs.to("cuda")43# Inference: Generation of the output44generated_ids = model.generate(**inputs, max_new_tokens=128, use_cache=True)45generated_ids_trimmed =[46 out_ids[len(in_ids):]for in_ids, out_ids inzip(inputs.input_ids, generated_ids)47]48output_text = processor.batch_decode(49 generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False50)51print(output_text)
Citation
If you find our work helpful, feel free to give us a cite.
@article{zhou2025gui,
title={GUI-G1: Understanding r1-zero-like training for visual grounding in gui agents},
author={Zhou, Yuqi and Dai, Sunhao and Wang, Shuai and Zhou, Kaiwen and Jia, Qinglin and Xu, Jun},
journal={arXiv preprint arXiv:2505.15810},
year={2025}
}