Views
No views yet

Gliese-CUA-Tool-Call-8B is a Computer Use Agent (CUA) multimodal model based on Qwen2.5-VL-7B-Instruct, designed for GUI understanding, UI localization, and action execution across web, desktop, and mobile environments. It focuses on visual grounding, intent driven actioning, and UI based question answering (VQA), enabling reliable interaction with real world software interfaces. The model is optimized for agentic tool calling, producing structured actions that can be directly executed by downstream systems.
<tool_call> blocks, enabling precise and deterministic interaction for agentic tool calling pipelines.git clone https://github.com/PRITHIVSAKTHIUR/Gliese-CUA-Tool-Call-8B-Demo.git
cd Gliese-CUA-Tool-Call-8B-Demopip install -r requirements.txtpython app.pygit clone https://github.com/PRITHIVSAKTHIUR/Gliese-CUA-Tool-Call-8B-Localization.git
cd Gliese-CUA-Tool-Call-8B-Localizationpip install -r requirements.txtpython app.py1from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
2from qwen_vl_utils import process_vision_info
3
4model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
5 "prithivMLmods/Gliese-CUA-Tool-Call-8B",
6 torch_dtype="auto",
7 device_map="auto"
8)
9
10processor = AutoProcessor.from_pretrained("prithivMLmods/Gliese-CUA-Tool-Call-8B")
11
12messages = [
13 {
14 "role": "user",
15 "content": [
16 {"type": "image", "image": "<SCREENSHOT_OR_UI_IMAGE>"},
17 {"type": "text", "text": "Enable dark mode from the settings menu."},
18 ],
19 }
20]
21
22text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
23image_inputs, video_inputs = process_vision_info(messages)
24
25inputs = processor(
26 text=[text],
27 images=image_inputs,
28 videos=video_inputs,
29 padding=True,
30 return_tensors="pt",
31)
32inputs = inputs.to("cuda")
33
34generated_ids = model.generate(**inputs, max_new_tokens=1024)
35generated_ids_trimmed = [
36 out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
37]
38
39output_text = processor.batch_decode(
40 generated_ids_trimmed,
41 skip_special_tokens=True,
42 clean_up_tokenization_spaces=False,
43)
44print(output_text)