Site • Artigo • Doc • Dados • Visualizador de dados • Discord
Suponha que você esteja operando em um sistema que não tenha sido virtualizado (por exemplo, seu desktop, laptop, máquina de metal nu), o que significa que você não está utilizando um ambiente virtualizado como AWS, Azure ou K8s. Se for esse o caso, prossiga com as instruções abaixo. No entanto, se você estiver em uma plataforma virtualizada, consulte a seção Docker.
cd nele. Em seguida, instale as dependências listadas no requirements.txt . Recomenda -se que você use a versão mais recente do CONDA para gerenciar o ambiente, mas também pode optar por instalar manualmente as dependências. Certifique -se de que a versão do Python seja> = 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.txtComo alternativa, você pode instalar o ambiente sem tarefas de referência:
pip install desktop-envvmrun . O processo de instalação pode se referir a como instalar o VMware Worksation Pro. Verifique a instalação bem -sucedida executando o seguinte: vmrun -T ws listSe a instalação junto com o conjunto de variáveis do ambiente for bem -sucedida, você verá a mensagem mostrando as máquinas virtuais em execução atuais.
Nota: Também suportamos o uso do VirtualBox se você tiver problemas com o VMware Pro. No entanto, recursos como paralelismo e macOS nos chips de maçã podem não ser bem suportados.
Tudo se sente! Nosso script de configuração baixará automaticamente as máquinas virtuais necessárias e configurará o ambiente para você.
Se você estiver executando em um servidor de metal não bare ou preferir não usar plataformas VMware e VirtualBox, recomendamos o uso de nosso suporte ao Docker.
Recomendamos executar a VM com suporte KVM. Para verificar se sua plataforma de hospedagem suporta KVM, execute
egrep -c '(vmx|svm)' /proc/cpuinfo
no Linux. Se o valor de retorno for maior que zero, o processador deverá suportar o KVM.
NOTA : Os hosts do MacOS geralmente não suportam o KVM. Você é aconselhado a usar o VMware se quiser executar osworld no macOS.
Se a sua plataforma de hospedagem suportar uma interface gráfica do usuário (GUI), você poderá consultar a instalação do Docker Desktop no Linux ou instalar o Docker Desktop no Windows com base no seu sistema operacional. Caso contrário, você poderá instalar o motor Docker.
Adicione os seguintes argumentos ao inicializar DesktopEnv :
provider_name : dockeros_type : Ubuntu ou Windows , dependendo do sistema operacionalNota : Se o experimento for interrompido de forma anormal (por exemplo, interrompendo os sinais), pode haver contêineres residuais do Docker que podem afetar o desempenho do sistema ao longo do tempo. Por favor, execute
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)para limpar.
Estamos trabalhando para apoiar mais? Por favor, segure bem!
Execute o seguinte exemplo mínimo para interagir com o ambiente:
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()" )Você verá todos os logs do sistema em execução normalmente, incluindo a criação bem -sucedida do ambiente, a conclusão da configuração e a execução bem -sucedida de ações. No final, você observará um clique com o botão direito do mouse na tela, o que significa que você está pronto para ir.
Se você deseja executar o agente de linha de base usado em nosso artigo, poderá executar o seguinte comando como exemplo na configuração do GPT-4V Pure Screenshot:
Defina a variável de ambiente OpenAI_API_KEY com sua chave de 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 Os resultados, que incluem capturas de tela, ações e gravações de vídeo da conclusão da tarefa do agente, serão salvas no diretório ./results neste caso. Você pode executar o seguinte comando para obter o resultado:
python show_result.py Comece lendo a interface do agente e a interface do ambiente. Implemente corretamente a interface do agente e importe sua versão personalizada no arquivo run.py Posteriormente, você pode executar um comando semelhante ao da seção anterior para executar a referência em seu agente.
O nome de usuário e a senha das máquinas virtuais são as seguintes:
user / passwordConsulte a diretriz da conta.
Veja diretrizes de procuração.
| Contexto | Tempo esperado* | Custo do orçamento (conjunto de testes completo/pequeno conjunto de testes) |
|---|---|---|
| GPT-4V (captura de tela) | 10h | US $ 100 (US $ 10) |
| Gemini-Prov (captura de tela) | 15h | $ 0 ($ 0) |
| Claude-3 Opus (captura de tela) | 15h | US $ 150 (US $ 15) |
| GPT-4V (A11y Tree, SOM, etc.) | 30h | US $ 500 (US $ 50) |
*Nenhum paralelismo de ambiente. Calculado em abril de 2024.
Obrigado a todos os colaboradores!
Se você achar esse ambiente útil, considere citar nosso trabalho:
@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}
}