Website • Papier • DOC • Daten • Datenbilder • Discord
Angenommen, Sie arbeiten auf einem System, das nicht virtualisiert wurde (z. B. Ihr Desktop, Laptop, Bare Metal Machine), was bedeutet, dass Sie keine virtualisierte Umgebung wie AWS, Azure oder K8s verwenden. Wenn dies der Fall ist, fahren Sie mit den folgenden Anweisungen fort. Wenn Sie sich jedoch auf einer virtualisierten Plattform befinden, lesen Sie bitte den Abschnitt Docker.
cd hinein. Installieren Sie dann die in requirements.txt aufgeführten Abhängigkeiten.txt. Es wird empfohlen, dass Sie die neueste Version von Conda verwenden, um die Umgebung zu verwalten. Sie können jedoch auch die Abhängigkeiten manuell installieren. Bitte stellen Sie sicher, dass die Version von Python> = 3,9 ist. # 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.txtAlternativ können Sie die Umgebung ohne Benchmark -Aufgaben installieren:
pip install desktop-envvmrun konfigurieren. Der Installationsprozess kann auf die Installation von VMware Workation Pro verweisen. Überprüfen Sie die erfolgreiche Installation, indem Sie Folgendes ausführen: vmrun -T ws listWenn die Installation zusammen mit dem Umgebungsvariablensatz erfolgreich ist, wird die Nachricht angezeigt, dass die aktuellen virtuellen Maschinen angezeigt werden.
Hinweis: Wir unterstützen auch die Verwendung von VirtualBox, wenn Sie Probleme mit VMware Pro haben. Merkmale wie Parallelität und MacOS auf Apple-Chips sind jedoch möglicherweise nicht gut unterstützt.
Alles Set! In unserem Setup -Skript wird automatisch die erforderlichen virtuellen Maschinen heruntergeladen und die Umgebung für Sie konfiguriert.
Wenn Sie auf einem nicht starken Metal-Server ausgeführt werden oder keine VMware- und VirtualBox-Plattformen verwenden, empfehlen wir unseren Docker-Support.
Wir empfehlen, die VM mit KVM -Unterstützung auszuführen. Um zu überprüfen, ob Ihre Hosting -Plattform KVM unterstützt, laufen Sie aus
egrep -c '(vmx|svm)' /proc/cpuinfo
unter Linux. Wenn der Rückgabewert größer als Null ist, sollte der Prozessor in der Lage sein, KVM zu unterstützen.
Hinweis : MACOS -Hosts unterstützen im Allgemeinen KVM nicht. Sie werden empfohlen, VMware zu verwenden, wenn Sie OSWorld auf macOS ausführen möchten.
Wenn Ihre Hosting -Plattform eine grafische Benutzeroberfläche (GUI) unterstützt, können Sie Docker Desktop unter Linux installieren oder Docker Desktop auf Windows basierend auf Ihrem Betriebssystem installieren. Andernfalls können Sie Docker Engine installieren.
Fügen Sie die folgenden Argumente hinzu, wenn Sie DesktopEnv initialisieren:
provider_name : dockeros_type : Ubuntu oder Windows , abhängig vom Betriebssystem der VMHinweis : Wenn das Experiment abnormal unterbrochen wird (z. B. durch Unterbrechung von Signalen), kann es Restdockcontainer geben, die die Systemleistung im Laufe der Zeit beeinflussen könnten. Bitte führen Sie
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)aus, um aufzuräumen.
Wir arbeiten daran, mehr zu unterstützen? Bitte festhalten!
Führen Sie das folgende minimale Beispiel aus, um mit der Umgebung zu interagieren:
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()" )Sie sehen, dass alle Protokolle des Systems normal ausgeführt werden, einschließlich der erfolgreichen Schaffung der Umgebung, des Abschlusses der Einrichtung und der erfolgreichen Ausführung von Aktionen. Am Ende beobachten Sie einen erfolgreichen Rechtsklick auf den Bildschirm, was bedeutet, dass Sie bereit sind zu gehen.
Wenn Sie den in unserem Papier verwendeten Basisagenten ausführen möchten, können Sie den folgenden Befehl als Beispiel unter der Einstellung GPT-4V Pure-Screenshot ausführen:
Setzen Sie die Umgebungsvariable der OpenAI_API_Key mit Ihrer API -Taste
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 Die Ergebnisse, die Screenshots, Aktionen und Videoaufnahmen des Aufgabenabschlusss des Agenten umfassen, werden in diesem Fall im ./results -Verzeichnis gespeichert. Sie können dann den folgenden Befehl ausführen, um das Ergebnis zu erhalten:
python show_result.py Bitte beginnen Sie mit dem Agentenschnittstellen und der Umgebungsschnittstelle. Implementieren Sie die Agent -Schnittstelle korrekt und importieren Sie Ihre benutzerdefinierte Version in der Datei run.py Anschließend können Sie einen Befehl ähnlich dem im vorherigen Abschnitt ausführen, um den Benchmark für Ihren Agenten auszuführen.
Der Benutzername und das Passwort für die virtuellen Maschinen sind wie folgt:
user / passwordSiehe Kontorichtlinie.
Siehe Proxy -Richtlinie.
| Einstellung | Erwartete Zeit* | Budgetkosten (Volltestset/kleiner Testsatz) |
|---|---|---|
| GPT-4V (Screenshot) | 10H | 100 $ (10 $) |
| Gemini-Prov (Screenshot) | 15h | $ 0 ($ 0) |
| Claude-3 Opus (Screenshot) | 15h | $ 150 ($ 15) |
| GPT-4V (A11Y Tree, Som usw.) | 30h | $ 500 ($ 50) |
*Keine Umgebung Parallelität. Berechnet im April 2024.
Vielen Dank an alle Mitwirkenden!
Wenn Sie diese Umgebung nützlich finden, sollten Sie unsere Arbeit zitieren:
@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}
}