Веб -сайт • Документ • Док • Данные • Просмотр данных
Предположим, что вы работаете в системе, которая не была виртуализирована (например, ваш рабочий стол, ноутбук, голой металлической машины), что означает, что вы не используете виртуализированную среду, такую как AWS, Azure или K8. Если это так, перейдите к инструкциям ниже. Однако, если вы находитесь на виртуализированной платформе, пожалуйста, обратитесь к разделу 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Если установка вместе с набором переменной среды успешна, вы увидите сообщение, показывающее текущие работающие виртуальные машины.
Примечание. Мы также поддерживаем использование VirtualBox, если у вас есть проблемы с VMware Pro. Тем не менее, такие особенности, как параллелизм и macOS на чипсах Apple, могут не быть хорошо поддерживаемыми.
Все готово! Наш скрипт настройки автоматически загрузит необходимые виртуальные машины и настраивает среду для вас.
Если вы работаете на металлическом сервере, не являющемся BARE, или предпочитаете не использовать платформы VMware и VirtualBox, мы рекомендуем использовать нашу поддержку Docker.
Мы рекомендуем запустить виртуальную машину с поддержкой KVM. Чтобы проверить, поддерживает ли ваша платформа хостинга KVM, запустите
egrep -c '(vmx|svm)' /proc/cpuinfo
на Linux. Если возвратное значение больше нуля, процессор должен иметь возможность поддерживать KVM.
Примечание . Хост MacOS, как правило, не поддерживают KVM. Вам рекомендуется использовать VMware, если вы хотите запустить Osworld на MacOS.
Если ваша платформа хостинга поддерживает графический пользовательский интерфейс (GUI), вы можете обратиться к установке Docker Desktop на Linux или установить Docker Desktop в Windows на основе вашей ОС. В противном случае вы можете установить Docker Engine.
Добавьте следующие аргументы при инициализации DesktopEnv :
provider_name : dockeros_type : Ubuntu или Windows , в зависимости от ОС виртуальной машиныПримечание . Если эксперимент прерывается ненормально (например, путем прерывания сигналов), могут быть остаточные контейнеры для докеров, которые могут повлиять на производительность системы с течением времени. Пожалуйста, запустите
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:
Установите переменную среды OpenAI_API_KEY с вашим ключом 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 Результаты, которые включают скриншоты, действия и видеозаписи выполнения задачи агента, будут сохранены в каталоге ./results в этом случае. Затем вы можете запустить следующую команду, чтобы получить результат:
python show_result.py Пожалуйста, начните с прочтения через интерфейс агента и интерфейс среды. Правильно реализуйте интерфейс агента и импортируйте настраиваемую версию в файле run.py После этого вы можете выполнить команду, аналогичную той, которая в предыдущем разделе запустила эталон на вашем агенте.
Имя пользователя и пароль для виртуальных машин следующие:
user / passwordСм. Руководство по учетной записи.
См. Руководство по доверенности.
| Параметр | Ожидаемое время* | Бюджетная стоимость (полный набор тестов/небольшой тестовый набор) |
|---|---|---|
| GPT-4V (скриншот) | 10 часов | 100 долларов (10 долларов) |
| Близнецы-прови (скриншот) | 15 часов | $ 0 ($ 0) |
| Claude-3 Opus (скриншот) | 15 часов | 150 долларов (15 долларов) |
| GPT-4V (дерево A11Y, SOM и т. Д.) | 30 часов | 500 долларов (50 долларов) |
*Нет параллелизма окружающей среды. Рассчитывается в апреле 2024 года.
Спасибо всем участникам!
Если вы найдете эту среду полезной, пожалуйста, рассмотрите возможность ссылаться на нашу работу:
@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}
}