Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:Aria-UI 支持 GUI 元素定位、多模态输入处理、高分辨率图像处理等功能。
  2. 技术:基于纯视觉方法和多模态 MoE 模型,Aria-UI 能够处理多样化指令和动态上下文。
  3. 应用:适用于自动化测试、用户交互辅助、智能客服等多个场景。

正文(附运行示例)

Aria-UI 是什么

Aria-UI 是香港大学与 Rhymes AI 联合推出的多模态模型,专为图形用户界面(GUI)定位任务设计。它采用纯视觉方法,不依赖于 HTML 或 AXTree 等辅助输入,通过大规模、多样化的数据合成流程,生成高质量的元素描述和指令样本,适应不同环境下的多样化指令。

Aria-UI 创新性地整合了动态动作历史信息,使用文本或文本-图像交错格式增强模型在多步任务场景中的定位能力。在包括离线和在线代理任务的广泛基准测试中,Aria-UI 均取得优异的性能,展现出强大的零样本泛化能力和跨平台适用性,成为通用 GUI 定位任务的有力解决方案。

Aria-UI 的主要功能

  • GUI 元素定位:将语言指令准确地映射到 GUI 中的目标元素,实现元素的精确定位,为后续的交互操作提供基础。
  • 多模态输入处理:处理包括 GUI 图像、文本指令、动作历史等多种模态的输入信息,充分理解和利用多模态数据中的丰富信息。
  • 多样化指令适应:基于大规模、多样化的数据合成流程生成的多样化指令样本,有效适应不同环境下的各种指令表达方式。
  • 动态上下文理解:整合动态动作历史信息,用文本或文本-图像交错格式,在多步任务场景中理解当前的动态上下文,为准确的元素定位提供重要参考。
  • 高分辨率图像处理:支持高达 3920×2940 的图像分辨率,将图像分割成小块处理,显著扩展可处理的图像尺寸范围。

Aria-UI 的技术原理

  • 纯视觉方法:采用纯视觉方法,直接从 GUI 图像中提取视觉特征,用视觉信息理解和定位目标元素。
  • 多模态 MoE 模型:基于 Aria 多模态 MoE(Mixture of Experts)模型构建,具有 3.9B 激活参数,擅长处理多模态数据。
  • 数据合成与训练:基于两阶段的数据合成流程,从 Common Crawl 和公开数据中生成高质量的元素描述和多样化指令样本,覆盖 Web、桌面和移动三大 GUI 环境,为模型训练提供大量、多样化的训练数据,增强模型对不同指令和元素的识别能力。
  • 上下文感知数据扩展:用公开的代理轨迹数据模拟具有上下文的定位任务,构建文本动作历史和文本-图像交错历史两种上下文设置,基于数据合成流程为轨迹数据中的所有定位步骤生成详细的逐步指令,让模型在动态环境中更好地理解和执行任务。
  • 超分辨率支持:将图像分割成小块并进行处理,支持高达 3920×2940 的图像分辨率,保持图像的细节和准确性。

如何运行 Aria-UI

1. 安装依赖

首先,安装所需的依赖包:

bash 复制代码
pip install transformers==4.45.0 accelerate==0.34.1 sentencepiece==0.2.0 torchvision requests torch Pillow
pip install flash-attn --no-build-isolation
# 为了更好的推理性能,可以安装 grouped-gemm,安装可能需要 3-5 分钟
pip install grouped_gemm==0.1.6
2. 使用 vllm 进行推理(推荐)

确保安装了最新版本的 vLLM,以便支持 Aria-UI:

bash 复制代码
pip install https://vllm-wheels.s3.us-west-2.amazonaws.com/nightly/vllm-1.0.0.dev-cp38-abi3-manylinux1_x86_64.whl

以下是一个使用 Aria-UI 和 vllm 的代码示例:

python 复制代码
from PIL import Image, ImageDraw
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
import ast

model_path = "Aria-UI/Aria-UI-base"

def main():
    llm = LLM(
        model=model_path,
        tokenizer_mode="slow",
        dtype="bfloat16",
        trust_remote_code=True,
    )
    tokenizer = AutoTokenizer.from_pretrained(
        model_path, trust_remote_code=True, use_fast=False
    )
    instruction = "Try Aria."
    messages = [
        {
            "role": "user",
            "content": [
                {"type": "image"},
                {
                    "type": "text",
                    "text": "Given a GUI image, what are the relative (0-1000) pixel point coordinates for the element corresponding to the following instruction or description: " + instruction,
                }
            ],
        }
    ]
    message = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
    outputs = llm.generate(
        {
            "prompt_token_ids": message,
            "multi_modal_data": {
                "image": [
                    Image.open("examples/aria.png"),
                ],
                "max_image_size": 980,  # [Optional] The max image patch size, default `980`
                "split_image": True,  # [Optional] whether to split the images, default `True`
            },
        },
        sampling_params=SamplingParams(max_tokens=50, top_k=1, stop=["<|im_end|>"]),
    )
    for o in outputs:
        generated_tokens = o.outputs[0].token_ids
        response = tokenizer.decode(generated_tokens, skip_special_tokens=True)
        print(response)
        coords = ast.literal_eval(response.replace("<|im_end|>", "").replace("```", "").replace(" ", "").strip())
        return coords

if __name__ == "__main__":
    main()

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关推荐
小雨下雨的雨3 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
我没胡说八道5 小时前
高校论文AI检测优化工具对比研究与实测分析(2026)
人工智能·深度学习·机器学习·计算机视觉·aigc·论文
秦亚伟5 小时前
AI浪潮重塑融资租赁行业新格局
人工智能
love530love5 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
元启数宇5 小时前
喷淋AI布点实战:8小时人工布点→20分钟自动出图
人工智能
哈哈,柳暗花明5 小时前
人工智能专业术语详解(H)
人工智能·专业术语
圣殿骑士-Khtangc5 小时前
AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南
人工智能·copilot
云器科技5 小时前
云器Lakehouse 2026年5月版本发布:拥抱 AI Agent,重塑数据智能开发新范式
人工智能
小鹰-上海鹰谷-电子实验记录本5 小时前
第六届党建引领科创生态座谈会 | 邓光辉博士出席分享AI赋能创新药科研新范式
人工智能·ai·电子实验记录本·药企合规
极客老王说Agent6 小时前
2026电信IDC机房巡检深度报告:人工巡检频次和深度够吗?实在Agent重塑智慧运维新范式
人工智能·ai·chatgpt