UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型

本文涉及的产品
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频通用资源包5000点
简介: UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。

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

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


🚀 快速阅读

  1. 跨平台支持:UI-TARS 支持桌面、移动和网页环境,提供标准化的行动定义,兼容多种平台操作。
  2. 多模态感知:能够处理文本、图像等多种输入形式,实时感知和理解动态界面内容。
  3. 自动化任务执行:通过自然语言指令,自动化完成打开应用、搜索信息、填写表单等复杂任务。

正文(附运行示例)

UI-TARS 是什么

UI-TARS

UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,旨在通过自然语言实现对桌面、移动设备和网页界面的自动化交互。它具备强大的感知、推理、行动和记忆能力,能够实时理解动态界面,并通过多模态输入(如文本、图像)执行复杂的任务。

UI-TARS 的核心优势在于跨平台的标准化行动定义,支持桌面、移动和网页等多种环境。结合了快速直观反应和复杂任务规划的能力,支持多步推理、反思和错误纠正。此外,它还具备短期和长期记忆功能,能够更好地适应动态任务需求。

UI-TARS 的主要功能

  • 多模态感知:UI-TARS 能处理文本、图像等多种输入形式,实时感知和理解动态界面内容,支持跨平台(桌面、移动、网页)的交互。
  • 自然语言交互:用户可以通过自然语言指令与 UI-TARS 对话,完成任务规划、操作执行等复杂任务。支持多步推理和错误纠正,能像人类一样处理复杂的交互场景。
  • 跨平台操作:支持桌面、移动和网页环境,提供标准化的行动定义,同时兼容平台特定的操作(如快捷键、手势等)。
  • 视觉识别与交互:UI-TARS 能通过截图和视觉识别功能,精准定位界面元素,并执行鼠标点击、键盘输入等操作,适用于复杂的视觉任务。
  • 记忆与上下文管理:具备短期和长期记忆能力,能够捕捉任务上下文信息,保留历史交互记录,从而更好地支持连续任务和复杂场景。
  • 自动化任务执行:可以自动化完成一系列任务,如打开应用、搜索信息、填写表单等,提高用户的工作效率。
  • 灵活部署:支持云端部署(如 Hugging Face 推理端点)和本地部署(如通过 vLLM 或 Ollama),满足不同用户的需求。
  • 扩展性:UI-TARS 提供了丰富的 API 和开发工具,方便开发者进行二次开发和集成。

UI-TARS 的技术原理

  • 增强感知能力:UI-TARS 使用大规模的 GUI 截图数据集进行训练,能对界面元素进行上下文感知和精准描述。通过视觉编码器实时抽取视觉特征,实现对界面的多模态理解。
  • 统一行动建模:UI-TARS 将跨平台操作标准化,定义了一个统一的行动空间,支持桌面、移动端和 Web 平台的交互。通过大规模行动轨迹数据训练,模型能够实现精准的界面元素定位和交互。
  • 系统化推理能力:UI-TARS 引入了系统化推理机制,支持多步任务分解、反思思维和里程碑识别等推理模式。能在复杂任务中进行高层次规划和决策。
  • 迭代训练与在线反思:解决数据瓶颈问题,UI-TARS 通过自动收集、筛选和反思新的交互轨迹进行迭代训练。在虚拟机上运行,能从错误中学习并适应未预见的情况,减少人工干预。

如何运行 UI-TARS

云端部署

推荐使用 HuggingFace Inference Endpoints 进行快速部署。我们提供了两种文档供用户参考:

本地部署 [vLLM]

推荐使用 vLLM 进行快速部署和推理。你需要使用 vllm>=0.6.1

pip install -U transformers
VLLM_VERSION=0.6.6
CUDA_VERSION=cu124
pip install vllm==${VLLM_VERSION} --extra-index-url https://download.pytorch.org/whl/${CUDA_VERSION}
AI 代码解读

下载模型

我们在 Hugging Face 上提供了三种模型大小:2B7B72B。为了获得最佳性能,推荐使用 7B-DPO72B-DPO 模型(取决于你的 GPU 配置):

启动 OpenAI API 服务

运行以下命令启动一个兼容 OpenAI 的 API 服务:

python -m vllm.entrypoints.openai.api_server --served-model-name ui-tars --model <path to your model>
AI 代码解读

然后你可以使用以下代码与模型进行交互:

import base64
from openai import OpenAI

instruction = "search for today's weather"
screenshot_path = "screenshot.png"
client = OpenAI(
    base_url="http://127.0.0.1:8000/v1",
    api_key="empty",
)

prompt = r"""You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task. 

## Output Format
```\nThought: ...
Action: ...\n
AI 代码解读

Action Space

click(start_box='<|box_start|>(x1,y1)<|box_end|>')
left_double(start_box='<|box_start|>(x1,y1)<|box_end|>')
right_single(start_box='<|box_start|>(x1,y1)<|box_end|>')
drag(start_box='<|box_start|>(x1,y1)<|box_end|>', end_box='<|box_start|>(x3,y3)<|box_end|>')
hotkey(key='')
type(content='') #If you want to submit your input, use \"\
\" at the end of content.
scroll(start_box='<|box_start|>(x1,y1)<|box_end|>', direction='down or up or right or left')
wait() #Sleep for 5s and take a screenshot to check for any changes.
finished()
call_user() # Submit the task and call the user when the task is unsolvable, or when you need the user's help.

Note

  • Use Chinese in Thought part.
  • Summarize your next action (with its target element) in one sentence in Thought part.

User Instruction

"""

with open(screenshot_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
response = client.chat.completions.create(
model="ui-tars",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": prompt + instruction},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{encoded_string}"}},
],
},
],
frequency_penalty=1,
max_tokens=128,
)
print(response.choices[0].message.content)
```

资源


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

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

目录
打赏
0
14
16
4
352
分享
相关文章
Deep Research Web UI:开源版Deep Research!接入DeepSeek一键生成深度研究报告,可视化检索过程
Deep Research Web UI 是一款开源的 AI 研究助手工具,通过 AI 驱动的迭代搜索和多语言支持,帮助用户高效进行深度研究,并以树状结构可视化研究过程,支持导出为 Markdown 或 PDF 格式。
197 9
Deep Research Web UI:开源版Deep Research!接入DeepSeek一键生成深度研究报告,可视化检索过程
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
OWL 是基于 CAMEL-AI 框架开发的多智能体协作系统,通过智能体之间的动态交互实现高效的任务自动化,支持角色分配、任务分解和记忆功能,适用于代码生成、文档撰写、数据分析等多种场景。
521 13
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
261 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
autoMate:无需视觉模型!用DeepSeek-V3/R1就能实现自动化操作电脑,支持任何可视化界面
autoMate是一款基于AI和RPA的本地自动化工具,通过自然语言实现复杂任务的自动化操作,支持本地部署,确保数据安全和隐私,适合需要高效处理重复性工作的用户。
185 1
autoMate:无需视觉模型!用DeepSeek-V3/R1就能实现自动化操作电脑,支持任何可视化界面
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
1413 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
Flame:开源AI设计图转代码模型!生成React组件,精准还原UI+动态交互效果
Flame 是一款开源的多模态 AI 模型,能够将 UI 设计图转换为高质量的现代前端代码,支持 React 等主流框架,具备动态交互、组件化开发等功能,显著提升前端开发效率。
375 1
Magma:微软放大招!新型多模态AI能看懂视频+浏览网页+UI交互+控制机器人,数字世界到物理现实无缝衔接
Magma 是微软研究院开发的多模态AI基础模型,结合语言、空间和时间智能,能够处理图像、视频和文本等多模态输入,适用于UI导航、机器人操作和复杂任务规划。
143 2
FirstUI:Deepseek能帮我们做很多事情,而这款开源框架专为开发者设计的开源UI框架,让你的项目加速起飞
嗨,大家好,我是小华同学。今天为大家介绍一个轻量级、响应式的前端UI框架——FirstUI。它提供丰富的组件库,包括按钮、输入框、下拉菜单等,帮助开发者快速构建美观、功能丰富的用户界面。FirstUI的核心理念是“简单、快速、高效”,适合各种Web应用开发,如企业网站、电商平台和个人博客。其体积小、加载快,支持响应式设计,并且易于定制。FirstUI拥有活跃的社区支持,开发者可以轻松找到帮助并分享经验。欢迎关注我们,获取更多优质开源项目和高效工作学习方法。
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
61 14
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
122 4

热门文章

最新文章