Situs Web • Kertas • Dokter • Data • Penampil Data • Perselisihan
Misalkan Anda beroperasi pada sistem yang belum divirtualisasi (misalnya desktop, laptop, mesin logam telanjang), yang berarti Anda tidak menggunakan lingkungan tervirtualisasi seperti AWS, Azure, atau K8s. Jika ini masalahnya, lanjutkan dengan instruksi di bawah ini. Namun, jika Anda berada di platform tervirtualisasi, silakan merujuk ke bagian Docker.
cd ini ke dalamnya. Kemudian, instal dependensi yang tercantum dalam requirements.txt . Dianjurkan agar Anda menggunakan versi terbaru dari Conda untuk mengelola lingkungan, tetapi Anda juga dapat memilih untuk secara manual menginstal dependensi. Harap pastikan bahwa versi Python adalah> = 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.txtAtau, Anda dapat menginstal lingkungan tanpa tugas tolok ukur:
pip install desktop-envvmrun . Proses instalasi dapat merujuk pada cara menginstal VMware Worksation Pro. Verifikasi instalasi yang berhasil dengan menjalankan yang berikut: vmrun -T ws listJika instalasi bersama dengan set variabel lingkungan berhasil, Anda akan melihat pesan yang menunjukkan mesin virtual yang berjalan saat ini.
Catatan: Kami juga mendukung menggunakan VirtualBox jika Anda memiliki masalah dengan VMware Pro. Namun, fitur seperti paralelisme dan macOS pada chip apel mungkin tidak didukung dengan baik.
Semua set! Skrip Pengaturan kami akan secara otomatis mengunduh mesin virtual yang diperlukan dan mengkonfigurasi lingkungan untuk Anda.
Jika Anda menjalankan di server logam non-telanjang, atau lebih suka untuk tidak menggunakan platform VMware dan VirtualBox, kami sarankan menggunakan dukungan Docker kami.
Kami sarankan menjalankan VM dengan dukungan KVM. Untuk memeriksa apakah platform hosting Anda mendukung KVM, jalankan
egrep -c '(vmx|svm)' /proc/cpuinfo
di Linux. Jika nilai pengembalian lebih besar dari nol, prosesor harus dapat mendukung KVM.
Catatan : Host macOS umumnya tidak mendukung KVM. Anda disarankan untuk menggunakan VMware jika Anda ingin menjalankan Osworld di macOS.
Jika platform hosting Anda mendukung antarmuka pengguna grafis (GUI), Anda dapat merujuk untuk menginstal Docker Desktop di Linux atau menginstal Docker Desktop di Windows berdasarkan OS Anda. Jika tidak, Anda dapat menginstal mesin Docker.
Tambahkan argumen berikut saat menginisialisasi DesktopEnv :
provider_name : dockeros_type : Ubuntu atau Windows , tergantung pada OS VMCATATAN : Jika percobaan terganggu secara abnormal (misalnya, dengan mengganggu sinyal), mungkin ada wadah Docker residual yang dapat mempengaruhi kinerja sistem dari waktu ke waktu. Silakan jalankan
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)untuk dibersihkan.
Kami sedang berupaya mendukung lebih banyak? Harap pegang erat -erat!
Jalankan contoh minimal berikut untuk berinteraksi dengan lingkungan:
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()" )Anda akan melihat semua log sistem berjalan secara normal, termasuk keberhasilan penciptaan lingkungan, penyelesaian pengaturan, dan pelaksanaan tindakan yang berhasil. Pada akhirnya, Anda akan mengamati klik kanan yang sukses di layar, yang berarti Anda siap untuk pergi.
Jika Anda ingin menjalankan agen baseline yang digunakan dalam makalah kami, Anda dapat menjalankan perintah berikut sebagai contoh di bawah pengaturan skor-murni GPT-4V:
Setel variabel lingkungan openai_api_key dengan kunci API Anda
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 Hasilnya, yang mencakup tangkapan layar, tindakan, dan rekaman video dari penyelesaian tugas agen, akan disimpan di direktori ./results dalam kasus ini. Anda kemudian dapat menjalankan perintah berikut untuk mendapatkan hasilnya:
python show_result.py Silakan mulai dengan membaca antarmuka agen dan antarmuka lingkungan. Terapkan dengan benar antarmuka agen dan impor versi khusus Anda di file run.py Setelah itu, Anda dapat menjalankan perintah yang mirip dengan yang ada di bagian sebelumnya untuk menjalankan tolok ukur pada agen Anda.
Nama pengguna dan kata sandi untuk mesin virtual adalah sebagai berikut:
user / passwordLihat Pedoman Akun.
Lihat Pedoman Proxy.
| Pengaturan | Waktu yang Diharapkan* | Biaya Anggaran (Set Tes Lengkap/Set Uji Kecil) |
|---|---|---|
| GPT-4V (tangkapan layar) | 10h | $ 100 ($ 10) |
| Gemini-Prov (tangkapan layar) | 15h | $ 0 ($ 0) |
| Claude-3 Opus (tangkapan layar) | 15h | $ 150 ($ 15) |
| GPT-4V (A11y Tree, SOM, dll.) | 30h | $ 500 ($ 50) |
*Tidak ada paralelisme lingkungan. Dihitung pada bulan April 2024.
Terima kasih untuk semua kontributor!
Jika Anda menemukan lingkungan ini bermanfaat, silakan pertimbangkan mengutip pekerjaan kami:
@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}
}