OmniParser:为基于视觉的图形界面智能代理革新屏幕理解
June 03, 2025
OmniParser
项目简介
OmniParser是一款面向纯视觉GUI智能体的全面屏幕解析工具。它将用户界面截图解析为结构化且易于理解的元素,显著增强了GPT-4V等视觉模型生成能够准确定位到界面相应区域的动作的能力。
主要功能
- 屏幕元素检测并解析为结构化数据
- 预测屏幕元素是否可交互
- 图标功能描述能力
- 细粒度小图标检测
- 本地轨迹记录,用于构建训练数据流水线
- 与OmniTool集成,实现Windows 11虚拟机控制
目标用户
- 研究视觉智能体的AI研究人员
- 开发GUI自动化工具的开发者
- 为GUI交互智能体创建训练数据流水线的团队
使用方法
安装
cd OmniParser
conda create -n "omni" python==3.12
conda activate omni
pip install -r requirements.txt
下载模型权重:
# 将模型检查点下载到本地目录OmniParser/weights/
for f in icon_detect/{train_args.yaml,model.pt,model.yaml} icon_caption/{config.json,generation_config.json,model.safetensors}; do huggingface-cli download microsoft/OmniParser-v2.0 "$f" --local-dir weights; done
mv weights/icon_caption weights/icon_caption_florence
运行示例
在demo.ipynb
中探索示例或运行Gradio演示:
python gradio_demo.py
项目链接/仓库
- GitHub仓库: https://github.com/microsoft/OmniParser
- HuggingFace演示: HuggingFace空间演示
- 模型权重: 模型V2, 模型V1.5
- 技术报告: arXiv论文
用例/应用场景
- 增强视觉模型的UI交互能力
- 自动化GUI测试和交互
- 为领域特定智能体构建训练数据流水线
- 多智能体协调完成复杂UI任务
- 与OpenAI (4o/o1/o3-mini)、DeepSeek (R1)、Qwen (2.5VL)或Anthropic Computer Use等大语言模型集成
- GUI导航和任务自动化
- UI可访问性的元素检测和定位