Image-Text-to-Text
Transformers
Safetensors
English
qwen2_vl
conversational
text-generation-inference
Instructions to use HongxinLi/UIPro-7B_Stage1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use HongxinLi/UIPro-7B_Stage1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="HongxinLi/UIPro-7B_Stage1") 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)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("HongxinLi/UIPro-7B_Stage1") model = AutoModelForMultimodalLM.from_pretrained("HongxinLi/UIPro-7B_Stage1") 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=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use HongxinLi/UIPro-7B_Stage1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "HongxinLi/UIPro-7B_Stage1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HongxinLi/UIPro-7B_Stage1", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/HongxinLi/UIPro-7B_Stage1
- SGLang
How to use HongxinLi/UIPro-7B_Stage1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "HongxinLi/UIPro-7B_Stage1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HongxinLi/UIPro-7B_Stage1", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "HongxinLi/UIPro-7B_Stage1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HongxinLi/UIPro-7B_Stage1", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use HongxinLi/UIPro-7B_Stage1 with Docker Model Runner:
docker model run hf.co/HongxinLi/UIPro-7B_Stage1
Update README.md
Browse files
README.md
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: Qwen/Qwen2-VL-7B-Instruct
|
| 3 |
+
library_name: transformers
|
| 4 |
+
license: apache-2.0
|
| 5 |
+
language:
|
| 6 |
+
- en
|
| 7 |
+
pipeline_tag: image-text-to-text
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# UIPro: Unleashing Superior Interaction Capability For GUI Agents
|
| 11 |
+
|
| 12 |
+
<div align="center">
|
| 13 |
+
|
| 14 |
+
[\[💻Code\]](https://github.com/ZJULiHongxin/UIPro) [\[🚀Quick Start\]](#uses) [\[📝Paper\]](https://arxiv.org/abs/2509.17328)
|
| 15 |
+
|
| 16 |
+
</div>
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+

|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
## Model Details
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+

|
| 26 |
+
|
| 27 |
+
### Model Description
|
| 28 |
+
|
| 29 |
+
<!-- Provide a longer summary of what this model is. -->
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
- **Developed by:** Brave Group, CASIA
|
| 34 |
+
- **Model type:** Vision-Language Model
|
| 35 |
+
- **Language(s) (NLP):** English
|
| 36 |
+
- **License:** Apache License 2.0
|
| 37 |
+
- **Finetuned from model [optional]:** Qwen2-VL-7B-Instruct
|
| 38 |
+
|
| 39 |
+
### Model Sources [optional]
|
| 40 |
+
|
| 41 |
+
UIPro_1stage-7B is a GUI grounding model finetuned from Qwen2-VL-7B-Instruct.
|
| 42 |
+
<!-- Provide the basic links for the model. -->
|
| 43 |
+
|
| 44 |
+
- **Repository:** [https://github.com/ZJULiHongxin/UIPro](https://github.com/ZJULiHongxin/UIPro)
|
| 45 |
+
- **Paper [optional]:** [https://arxiv.org/abs/2509.17328](https://arxiv.org/abs/2509.17328)
|
| 46 |
+
|
| 47 |
+
## Uses
|
| 48 |
+
|
| 49 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 50 |
+
|
| 51 |
+
### Direct Use
|
| 52 |
+
|
| 53 |
+
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
| 54 |
+
|
| 55 |
+
First, ensure that the necessary dependencies are installed:
|
| 56 |
+
```
|
| 57 |
+
pip install transformers
|
| 58 |
+
pip install qwen-vl-utils
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
Inference code example:
|
| 62 |
+
```
|
| 63 |
+
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
|
| 64 |
+
from qwen_vl_utils import process_vision_info
|
| 65 |
+
|
| 66 |
+
# Default: Load the model on the available device(s)
|
| 67 |
+
model = Qwen2VLForConditionalGeneration.from_pretrained(
|
| 68 |
+
"HongxinLi/UIPro_1stage", torch_dtype="auto", device_map="auto"
|
| 69 |
+
)
|
| 70 |
+
processor = AutoProcessor.from_pretrained("HongxinLi/UIPro_1stage")
|
| 71 |
+
|
| 72 |
+
messages = [
|
| 73 |
+
{
|
| 74 |
+
"role": "user",
|
| 75 |
+
"content": [
|
| 76 |
+
{
|
| 77 |
+
"type": "image",
|
| 78 |
+
"image": "./web_6f93090a-81f6-489e-bb35-1a2838b18c01.png",
|
| 79 |
+
},
|
| 80 |
+
|
| 81 |
+
# For ScreenSpot-v2, MOTIF, RefExp, and VisualWebBench Action Grounding
|
| 82 |
+
{"type": "text", "text": "I want to {goal_info}. Please locate the target element I should interact with. (Output the center coordinates of the target)"},
|
| 83 |
+
# For AutoGUI
|
| 84 |
+
{"type": "text", "text": "Locate the element according to its detailed functionality description. {goal_info} (Output the center coordinates of the target)"},
|
| 85 |
+
# For VisualWebBench Element Grounding
|
| 86 |
+
{"type": "text", "text": "Locate the text "{goal_info}" (Output the center coordinates of the target)"},
|
| 87 |
+
],
|
| 88 |
+
}
|
| 89 |
+
]
|
| 90 |
+
```
|
| 91 |
+
|
| 92 |
+
|
| 93 |
+
## Evaluation
|
| 94 |
+
|
| 95 |
+
It is recommended to use [AutoGUI evaluation suite](https://autogui-project.github.io/) based on [LMMS-EVAL](https://github.com/EvolvingLMMs-Lab/lmms-eval) to evaluate it on multiple GUI Grounding benchmarks.
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
### Results
|
| 99 |
+
|
| 100 |
+
| Model | Size | Input Res. | FuncGnd | ScreenSpot | ScreenSpot-v2 | MOTIF | RefExp | VWB EG | VWB AG |
|
| 101 |
+
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
| 102 |
+
| GPT-4o | - | AnyRes | 9.8 | 17.8 | 20.4 | 30.5 | 21.8 | 5.6 | 6.8 |
|
| 103 |
+
| Qwen2VL [1] | 72B | AnyRes | 47.7 | 71.4 | 73.2 | 80.3 | 77.7 | 60.5 | 62.1 |
|
| 104 |
+
| Qwen2VL [1] | 7B | AnyRes | 38.7 | 66.4 | 66.9 | 75.1 | 64.8 | 55.9 | 62.1 |
|
| 105 |
+
| CogAgent [2] | 18B | 1120 | 29.3 | 47.4 | 49.2 | 46.7 | 35.0 | 55.7 | 59.2 |
|
| 106 |
+
| SeeClick [3] | 10B | 448 | 19.8 | 53.4 | 54.0 | 11.1 | 58.1 | 39.2 | 27.2 |
|
| 107 |
+
| Ferret-UI [4] | 8B | AnyRes | 1.2 | 7.1 | 7.8 | 15.9 | 5.5 | 3.9 | 1.9 |
|
| 108 |
+
| UGround [5] | 7B | AnyRes | 48.8 | 74.8 | 76.5 | 72.4 | 73.6 | 85.2 | 63.1 |
|
| 109 |
+
| OS-ATLAS-Base [6] | 7B | AnyRes | 52.1 | 82.5 | 84.1 | 78.8 | 66.5 | 82.6 | 69.9 |
|
| 110 |
+
| **UIPro-Qwen2VL (ours)** | **7B** | **AnyRes** | **58.8** | **82.5** | **86.9** | **80.6** | **81.9** | **94.9** | **70.9** |
|
| 111 |
+
| Qwen2-VL [4] | 2B | AnyRes | 7.1 | 17.9 | 18.6 | 28.8 | 29.2 | 17.9 | 17.5 |
|
| 112 |
+
| **UIPro-SLiME (ours)** | **3B** | **AnyRes** | **58.3** | **60.7** | **61.1** | **73.3** | **59.0** | **60.0** | **40.8** |
|
| 113 |
+
|
| 114 |
+
**Comparison on the GUI element grounding benchmarks.** UIPro achieves impressive grounding accuracy, especially on FuncPred, RefExp, and VWB EG. AnyRes means using an image division strategy to handle images with variable resolutions.
|
| 115 |
+
|
| 116 |
+
References:
|
| 117 |
+
[1] [Qwen2VL](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct)
|
| 118 |
+
[2] [CogAgent](https://huggingface.co/zai-org/cogagent-chat-hf)
|
| 119 |
+
[3] [SeeClick ](https://huggingface.co/cckevinn/SeeClick)
|
| 120 |
+
[4] [Ferret-UI](https://huggingface.co/jadechoghari/Ferret-UI-Llama8b)
|
| 121 |
+
[5] [UGround](https://huggingface.co/osunlp/UGround-V1-7B)
|
| 122 |
+
[6] [OS-ATLAS-Base](https://huggingface.co/OS-Copilot/OS-Atlas-Base-7B)
|
| 123 |
+
|
| 124 |
+
|
| 125 |
+
|
| 126 |
+
## Citation
|
| 127 |
+
|
| 128 |
+
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 129 |
+
|
| 130 |
+
**BibTeX:**
|
| 131 |
+
```
|
| 132 |
+
@InProceedings{Li_2025_ICCV,
|
| 133 |
+
author = {Li, Hongxin and Su, Jingran and Chen, Jingfan and Ju, Zheng and Chen, Yuntao and Li, Qing and Zhang, Zhaoxiang},
|
| 134 |
+
title = {UIPro: Unleashing Superior Interaction Capability For GUI Agents},
|
| 135 |
+
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
|
| 136 |
+
month = {October},
|
| 137 |
+
year = {2025},
|
| 138 |
+
pages = {1613-1623}
|
| 139 |
+
}
|
| 140 |
+
```
|
| 141 |
+
|
| 142 |
+
### Framework versions
|
| 143 |
+
|
| 144 |
+
- PEFT 0.11.1
|