Improve model card: Update paper links and add project page

#1
by nielsr HF Staff - opened
Files changed (1) hide show
  1. README.md +18 -13
README.md CHANGED
@@ -1,24 +1,25 @@
1
  ---
2
- license: apache-2.0
 
3
  datasets:
4
  - OpenGVLab/ScaleCUA-Data
5
  language:
6
  - en
 
 
7
  metrics:
8
  - accuracy
9
- base_model:
10
- - Qwen/Qwen2.5-VL-7B-Instruct
11
  pipeline_tag: image-text-to-text
12
- library_name: transformers
13
  tags:
14
  - agent
15
  ---
16
 
17
  # SCALECUA: SCALING UP COMPUTER USE AGENTS WITH CROSS-PLATFORM DATA
18
 
19
- [\[πŸ“‚ GitHub\]](https://github.com/OpenGVLab/ScaleCUA) [\[πŸ“œ Paper\]](https://github.com/OpenGVLab/ScaleCUA) [\[πŸš€ Quick Start\]](#model-loading)
20
-
21
 
 
22
 
23
  ## Introduction
24
 
@@ -315,7 +316,8 @@ Previous operations:
315
  def format_history(history):
316
  if len(history) > 0:
317
  actions_history = [f"Step {i+1}: {low_level}" for i, low_level in enumerate(history)]
318
- return "\n".join(actions_history)
 
319
  else:
320
  return None
321
 
@@ -382,7 +384,8 @@ def parse_response(response: str) -> Dict:
382
  if action_matches:
383
  for match in action_matches:
384
  # Split each match by newline and strip whitespace from each line
385
- lines = [line.strip() for line in match.split('\n') if line.strip()]
 
386
  actions.extend(lines)
387
  operation_match = re.search(r'<operation>\s*(.*?)\s*</operation>', response, re.DOTALL)
388
  operation = operation_match.group(1).strip() if operation_match else None
@@ -456,12 +459,12 @@ def parse_actions(self, actions):
456
 
457
  else:
458
  if "=" in args_str:
459
- for arg in re.finditer(r"(\w+)=\[([^\]]+)\]", args_str):
460
  param = arg.group(1)
461
  list_str = arg.group(2)
462
 
463
  list_items = []
464
- for item in re.finditer(r"'([^']*)'|\"([^\"]*)\"|([^,\]]+)", list_str):
465
  val = (item.group(1) or item.group(2) or item.group(3)).strip()
466
  if val:
467
  list_items.append(val.strip('"\''))
@@ -469,7 +472,7 @@ def parse_actions(self, actions):
469
  args[param] = list_items
470
 
471
 
472
- for arg in re.finditer(r"(\w+)=([^,)]+)", args_str):
473
  param = arg.group(1)
474
  if param in args:
475
  continue
@@ -490,7 +493,7 @@ def parse_actions(self, actions):
490
 
491
  else:
492
  args_list = []
493
- for arg in re.finditer(r"'([^']*)'|\"([^\"]*)\"|([^,]+)", args_str):
494
  val = (arg.group(1) or arg.group(2) or arg.group(3)).strip()
495
  if val:
496
  args_list.append(val.strip('"\''))
@@ -532,6 +535,8 @@ If you find our project useful in your research, please consider citing:
532
  title = {ScaleCUA: Scaling Open-Source Computer Use Agents with Cross-Platform Data},
533
  author = {Liu, Zhaoyang and Xie, Jingjing and Ding, Zichen and Li, Zehao and Yang, Bowen and Wu, Zhenyu and Wang, Xuehui and Sun, Qiushi and Liu, Shi and Wang, Weiyun and Ye, Shenglong and Li, Qingyun and Dong, Xuan and Yu, Yue and Lu, Chenyu and Mo, YunXiang and Yan, Yao and Tian, Zeyue and Zhang, Xiao and Huang, Yuan and Liu, Yiqian and Su, Weijie and Luo, Gen and Yue, Xiangyu and Qi, Biqing and Chen, Kai and Zhou, Bowen and Qiao, Yu and Chen, Qifeng and Wang, Wenhai},
534
  year = {2025},
535
- url = {https://github.com/OpenGVLab/ScaleCUA}
 
 
536
  }
537
  ```
 
1
  ---
2
+ base_model:
3
+ - Qwen/Qwen2.5-VL-7B-Instruct
4
  datasets:
5
  - OpenGVLab/ScaleCUA-Data
6
  language:
7
  - en
8
+ library_name: transformers
9
+ license: apache-2.0
10
  metrics:
11
  - accuracy
 
 
12
  pipeline_tag: image-text-to-text
13
+ project_page: https://osatlas.github.io/
14
  tags:
15
  - agent
16
  ---
17
 
18
  # SCALECUA: SCALING UP COMPUTER USE AGENTS WITH CROSS-PLATFORM DATA
19
 
20
+ This model is the official implementation of the paper [ScaleCUA: Scaling Open-Source Computer Use Agents with Cross-Platform Data](https://huggingface.co/papers/2509.15221).
 
21
 
22
+ [\[πŸ“‚ GitHub\]](https://github.com/OpenGVLab/ScaleCUA) [\[πŸ“œ Paper\]](https://huggingface.co/papers/2509.15221) [\[🏠 Project Page\]](https://osatlas.github.io/) [\[πŸš€ Quick Start\]](#model-loading)
23
 
24
  ## Introduction
25
 
 
316
  def format_history(history):
317
  if len(history) > 0:
318
  actions_history = [f"Step {i+1}: {low_level}" for i, low_level in enumerate(history)]
319
+ return "
320
+ ".join(actions_history)
321
  else:
322
  return None
323
 
 
384
  if action_matches:
385
  for match in action_matches:
386
  # Split each match by newline and strip whitespace from each line
387
+ lines = [line.strip() for line in match.split('
388
+ ') if line.strip()]
389
  actions.extend(lines)
390
  operation_match = re.search(r'<operation>\s*(.*?)\s*</operation>', response, re.DOTALL)
391
  operation = operation_match.group(1).strip() if operation_match else None
 
459
 
460
  else:
461
  if "=" in args_str:
462
+ for arg in re.finditer(r"(\w+)=\\[([^\\]]+)\\]", args_str):
463
  param = arg.group(1)
464
  list_str = arg.group(2)
465
 
466
  list_items = []
467
+ for item in re.finditer(r"'([^']*)'|\"([^\\\"]*)\"|([^,\\]]+)", list_str):
468
  val = (item.group(1) or item.group(2) or item.group(3)).strip()
469
  if val:
470
  list_items.append(val.strip('"\''))
 
472
  args[param] = list_items
473
 
474
 
475
+ for arg in re.finditer(r"(\\w+)=([^,)]+)", args_str):
476
  param = arg.group(1)
477
  if param in args:
478
  continue
 
493
 
494
  else:
495
  args_list = []
496
+ for arg in re.finditer(r"'([^']*)'|\"([^\\\"]*)\"|([^,]+)", args_str):
497
  val = (arg.group(1) or arg.group(2) or arg.group(3)).strip()
498
  if val:
499
  args_list.append(val.strip('"\''))
 
535
  title = {ScaleCUA: Scaling Open-Source Computer Use Agents with Cross-Platform Data},
536
  author = {Liu, Zhaoyang and Xie, Jingjing and Ding, Zichen and Li, Zehao and Yang, Bowen and Wu, Zhenyu and Wang, Xuehui and Sun, Qiushi and Liu, Shi and Wang, Weiyun and Ye, Shenglong and Li, Qingyun and Dong, Xuan and Yu, Yue and Lu, Chenyu and Mo, YunXiang and Yan, Yao and Tian, Zeyue and Zhang, Xiao and Huang, Yuan and Liu, Yiqian and Su, Weijie and Luo, Gen and Yue, Xiangyu and Qi, Biqing and Chen, Kai and Zhou, Bowen and Qiao, Yu and Chen, Qifeng and Wang, Wenhai},
537
  year = {2025},
538
+ journal = {arXiv preprint arXiv:2509.15221},
539
+ note = {Preprint},
540
+ url = {https://arxiv.org/abs/2509.15221}
541
  }
542
  ```