网站•纸质•文档•数据•数据查看器•Discord
假设您正在在未被虚拟化的系统上操作(例如台式机,笔记本电脑,裸机机器),这意味着您没有使用AWS,Azure或K8S等虚拟化环境。如果是这种情况,请继续下面的说明。但是,如果您位于虚拟化平台上,请参阅Docker部分。
cd插入其中。然后,安装requirements.txt中列出的依赖项。建议您使用最新版本的conda来管理环境,但也可以选择手动安装依赖项。请确保Python的版本> = 3.9。 # Clone the OSWorld repository
git clone https://github.com/xlang-ai/OSWorld
# Change directory into the cloned repository
cd OSWorld
# Optional: Create a Conda environment for OSWorld
# conda create -n osworld python=3.9
# conda activate osworld
# Install required dependencies
pip install -r requirements.txt另外,您可以无需任何基准任务即可安装环境:
pip install desktop-envvmrun命令。安装过程可以参考如何安装VMware Worksation Pro。通过运行以下操作来验证成功的安装: vmrun -T ws list如果安装以及环境变量集成功,您将看到显示当前运行虚拟机的消息。
注意:如果您对VMware Pro有问题,我们还支持使用VirtualBox。但是,苹果芯片上的并行性和macos之类的功能可能不会得到很好的支持。
全部设置!我们的设置脚本将自动下载必要的虚拟机并为您配置环境。
如果您在非bare金属服务器上运行,或者不想使用VMware和VirtualBox平台,我们建议使用Docker支持。
我们建议在KVM支持下运行VM。要检查您的托管平台是否支持KVM,请运行
egrep -c '(vmx|svm)' /proc/cpuinfo
在Linux上。如果返回值大于零,则处理器应能够支持KVM。
注意:MacOS主机通常不支持KVM。如果您想在MacOS上运行OSWorld,建议您使用VMware。
如果您的托管平台支持图形用户界面(GUI),则可以参考Linux上的安装Docker桌面,或根据OS在Windows上安装Docker桌面。否则,您可以安装Docker引擎。
初始化DesktopEnv时添加以下参数:
provider_name : dockeros_type : Ubuntu或Windows ,具体取决于VM的操作系统注意:如果实验异常中断(例如,通过中断信号),则可能会有残留的Docker容器会随着时间的推移影响系统性能。请运行
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)进行清理。
我们正在努力支持更多?请紧紧抓住!
运行以下最小示例与环境互动:
from desktop_env . desktop_env import DesktopEnv
example = {
"id" : "94d95f96-9699-4208-98ba-3c3119edf9c2" ,
"instruction" : "I want to install Spotify on my current system. Could you please help me?" ,
"config" : [
{
"type" : "execute" ,
"parameters" : {
"command" : [
"python" ,
"-c" ,
"import pyautogui; import time; pyautogui.click(960, 540); time.sleep(0.5);"
]
}
}
],
"evaluator" : {
"func" : "check_include_exclude" ,
"result" : {
"type" : "vm_command_line" ,
"command" : "which spotify"
},
"expected" : {
"type" : "rule" ,
"rules" : {
"include" : [ "spotify" ],
"exclude" : [ "not found" ]
}
}
}
}
env = DesktopEnv ( action_space = "pyautogui" )
obs = env . reset ( task_config = example )
obs , reward , done , info = env . step ( "pyautogui.rightClick()" )您将看到系统正常运行的所有日志,包括成功创建环境,完成设置以及成功执行操作。最后,您将在屏幕上观察到一个成功的右键,这意味着您已经准备好了。
如果您希望运行我们论文中使用的基线代理,则可以执行以下命令作为GPT-4V Pure-Screenshot设置下的示例:
使用API密钥设置OpenAI_API_KEY环境变量
export OPENAI_API_KEY= ' changeme ' python run.py --path_to_vm Ubuntu/Ubuntu.vmx --headless --observation_type screenshot --model gpt-4-vision-preview --result_dir ./results在这种情况下,将保存在./results目录中的代理任务完成的屏幕截图,操作和视频记录。然后,您可以运行以下命令以获取结果:
python show_result.py请首先阅读代理接口和环境接口。正确实现代理接口,并在run.py文件中导入您的自定义版本。之后,您可以执行与上一节类似的命令,以在代理上运行基准标准。
虚拟机的用户名和密码如下:
user / password请参阅帐户指南。
请参阅代理指南。
| 环境 | 预期时间* | 预算成本(完整测试集/小测试集) |
|---|---|---|
| GPT-4V(屏幕截图) | 10H | $ 100($ 10) |
| 双子座Prov(屏幕截图) | 15H | $ 0($ 0) |
| Claude-3 Opus(屏幕截图) | 15H | $ 150($ 15) |
| GPT-4V(A11Y树,SOM等) | 30H | $ 500($ 50) |
*没有环境并行性。计算于2024年4月。
感谢所有贡献者!
如果您发现此环境有用,请考虑引用我们的工作:
@misc{OSWorld,
title={OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments},
author={Tianbao Xie and Danyang Zhang and Jixuan Chen and Xiaochuan Li and Siheng Zhao and Ruisheng Cao and Toh Jing Hua and Zhoujun Cheng and Dongchan Shin and Fangyu Lei and Yitao Liu and Yiheng Xu and Shuyan Zhou and Silvio Savarese and Caiming Xiong and Victor Zhong and Tao Yu},
year={2024},
eprint={2404.07972},
archivePrefix={arXiv},
primaryClass={cs.AI}
}