Sitio web • Documento • Doc • Datos • Visor de datos • Discords
Supongamos que está operando en un sistema que no ha sido virtualizado (por ejemplo, su escritorio, computadora portátil, máquina de metal desnudo), lo que significa que no está utilizando un entorno virtualizado como AWS, Azure o K8. Si este es el caso, continúe con las instrucciones a continuación. Sin embargo, si está en una plataforma virtualizada, consulte la sección Docker.
cd en él. Luego, instale las dependencias enumeradas en requirements.txt . Se recomienda que use la última versión de Conda para administrar el entorno, pero también puede optar por instalar manualmente las dependencias. Asegúrese de que la versión de Python sea> = 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.txtAlternativamente, puede instalar el entorno sin ninguna tarea de referencia:
pip install desktop-envvmrun . El proceso de instalación puede consultar cómo instalar VMware Worksation Pro. Verifique la instalación exitosa ejecutando lo siguiente: vmrun -T ws listSi la instalación junto con el conjunto de variables de entorno es exitosa, verá el mensaje que muestra las máquinas virtuales en ejecución actuales.
Nota: También admitimos usar VirtualBox si tiene problemas con VMware Pro. Sin embargo, características como el paralelismo y los macOS en las chips de Apple pueden no estar bien respaldadas.
¡Listo! Nuestro script de configuración descargará automáticamente las máquinas virtuales necesarias y configurará el entorno para usted.
Si se ejecuta en un servidor de metal que no es de búsqueda, o prefiere no usar plataformas VMware y VirtualBox, recomendamos usar nuestro soporte Docker.
Recomendamos ejecutar la VM con KVM Support. Para verificar si su plataforma de alojamiento admite KVM, ejecute
egrep -c '(vmx|svm)' /proc/cpuinfo
en Linux. Si el valor de retorno es mayor que cero, el procesador debería poder admitir KVM.
Nota : Los hosts de MacOS generalmente no admiten KVM. Se recomienda que use VMware si desea ejecutar OsWorld en MacOS.
Si su plataforma de alojamiento admite una interfaz gráfica de usuario (GUI), puede consultar instalar Docker Desktop en Linux o instalar Docker Desktop en Windows en función de su sistema operativo. De lo contrario, puede instalar Docker Engine.
Agregue los siguientes argumentos al inicializar DesktopEnv :
provider_name : dockeros_type : Ubuntu o Windows , dependiendo del sistema operativo de la VMNota : Si el experimento se interrumpe anormalmente (por ejemplo, al interrumpir las señales), puede haber contenedores de Docker residuales que podrían afectar el rendimiento del sistema con el tiempo. Ejecute
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)para limpiar.
¿Estamos trabajando para apoyar más? ¡Por favor, mantenga apretada!
Ejecute el siguiente ejemplo mínimo para interactuar con el entorno:
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()" )Verá todos los registros del sistema que se ejecutan normalmente, incluida la creación exitosa del entorno, la finalización de la configuración y la ejecución exitosa de acciones. Al final, observará un clic exitoso en la pantalla, lo que significa que está listo para comenzar.
Si desea ejecutar el agente de línea de base utilizado en nuestro artículo, puede ejecutar el siguiente comando como ejemplo bajo la configuración GPT-4V Pure-screenshot:
Establezca una variable de entorno Opidai_api_Key con su tecla API
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 Los resultados, que incluyen capturas de pantalla, acciones y grabaciones de video de la finalización de la tarea del agente, se guardarán en el directorio ./results en este caso. Luego puede ejecutar el siguiente comando para obtener el resultado:
python show_result.py Comience leyendo a través de la interfaz del agente y la interfaz de entorno. Implemente correctamente la interfaz del agente e importe su versión personalizada en el archivo run.py Posteriormente, puede ejecutar un comando similar al de la sección anterior para ejecutar el punto de referencia en su agente.
El nombre de usuario y la contraseña para las máquinas virtuales son los siguientes:
user / passwordVer Directriz de la cuenta.
Ver directriz de poder.
| Configuración | Tiempo esperado* | Costo presupuestario (conjunto de prueba completa/conjunto de pruebas pequeñas) |
|---|---|---|
| GPT-4V (captura de pantalla) | 10h | $ 100 ($ 10) |
| Gemini-Prov (captura de pantalla) | 15h | $ 0 ($ 0) |
| Opus Claude-3 (captura de pantalla) | 15h | $ 150 ($ 15) |
| GPT-4V (A11y Tree, SOM, etc.) | 30h | $ 500 ($ 50) |
*No hay paralelismo ambiental. Calculado en abril de 2024.
¡Gracias a todos los contribuyentes!
Si encuentra útil este entorno, considere citar nuestro trabajo:
@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}
}