AutoBrowse adalah agen AI otonom yang dapat menjelajahi web. Anda cukup memberikan tugas AutoBrowse dan itu akan menyelesaikannya dengan berinteraksi dengan browser web seolah-olah itu adalah manusia.
Beberapa contoh tugas yang dapat Anda berikan:
Kunjungi booking.com dan temukan hotel untuk 2 orang di Madrid selama 2 malam mulai 2 November dengan harga di bawah 200 EUR per malam.
Daftar ke ryanair.com dengan email: [email protected] dan kata sandi C0mplexPassword!.
Buka Craigslist dan cari Nintendo DS. Klik pada hasil pertama.
https://drive.google.com/file/d/1Ind9z3mjHKTS-Q0vJl2FaHcPLrZtdEX0/view
Buat lingkungan Python 3.9
conda create --name py39 python=3.9
Aktifkan lingkungan
conda activate py39
Instal dependensi
pip install -r requirements.txt
Mulai lingkungan browser
Periksa README di bawah browser-console/
untuk instruksi tentang cara menjalankannya.
Buat file OAI_CONFIG_LIST
dengan konten berikut dan masukkan kunci API OpenAI Anda:
[
{
"model" : " gpt-4 " ,
"api_key" : " <your-api-key> "
},
{
"model" : " gpt-3.5-turbo " ,
"api_key" : " <your-api-key> "
},
{
"model" : " gpt-3.5-turbo-16k " ,
"api_key" : " <your-api-key> "
}
]
Jalankan Penjelajahan Otomatis
python autobrowse.py
Anda kemudian akan diminta memberikan tugas ke AutoBrowse.
Anda dapat melakukan modifikasi konfigurasi agen dengan memodifikasi file agent_config.py
. Anda dapat mengedit perintah sistem, mengubah model OpenAI yang digunakan, dll.
Penjelajahan Otomatis menggunakan agen autogen dan konsol browser untuk merencanakan dan melaksanakan tugas.
Desainnya terdiri dari 3 agen:
Asisten HTML yang menjawab pertanyaan tentang HTML halaman yang sedang dibuka di browser.
Agen pembuat kode yang menghasilkan kode dalang.js untuk berinteraksi dengan browser (yaitu menavigasi ke halaman baru, mengklik tombol, mengisi elemen formulir)
Agen perencana yang mengkoordinasikan penggunaan kedua agen di atas untuk memenuhi deskripsi tugas tingkat tinggi yang diberikan oleh pengguna.
Agen berinteraksi dengan browser melalui koneksi websocket ke lingkungan browser sandbox yang memiliki titik akhir untuk menerima kode dalang.js untuk dieksekusi, serta titik akhir untuk mengembalikan HTML yang dirender dari halaman terbuka saat ini.
Karena dokumen HTML bisa sangat panjang dan melebihi batas token OpenAI, pendekatan berikut diambil untuk menjawab pertanyaan tentang HTML:
HTML yang dikembalikan dari lingkungan browser dihilangkan dan disederhanakan untuk mengurangi ukurannya. Ini dilakukan dengan hanya mempertahankan atribut yang paling penting seperti id, name, type, dan class . Selain itu, script
, style
, noscript
, img
, svg
, link
, meta
tag dihapus seluruhnya.
HTML yang diproses dibagi menjadi 15.000 token (yang dihitung oleh OpenAI) sehingga dapat dengan mudah dimasukkan ke dalam jendela konteks 16K gpt-3.5-turbo-16k
.
Menggunakan RAG dengan penyematan OpenAI, potongan paling relevan diberikan sebagai konteks pertanyaan, dan gpt-3.5-turbo
kemudian dapat menjawab pertanyaan tentang HTML.
Pembuat kode menggunakan gpt-4
untuk menghasilkan kode dalang.js untuk berinteraksi dengan browser. Agen proksi pengguna yang melekat pada pembuat kode mengirimkan kode ini ke lingkungan browser untuk dieksekusi dan melaporkan kembali hasilnya, sehingga pembuat kode dapat mengubah kode jika ada kesalahan. Karena pembuatan kode harus seakurat mungkin, model gpt-4
yang lebih mahal digunakan dan digantikan dengan gpt-3.5-turbo
yang lebih murah.
Perencana menerima deskripsi tugas dari pengguna dan mencoba menyelesaikannya dengan memanggil Asisten HTML dan Pembuat Kode jika diperlukan. Perencana, selain pemikirannya sendiri, memiliki kemampuan untuk menjalankan dua fungsi:
ask_html_assistant()
untuk mengajukan pertanyaan kepada asisten HTML tentang HTML saat ini (misalnya ekstrak HTML untuk formulir pendaftaran), dan
ask_code_generator()
untuk meminta pembuat kode menghasilkan kode dalang.js untuk dikirim ke browser. Perencana juga dapat menambahkan HTML yang diambil dari asisten HTML untuk memberikan lebih banyak konteks pada pembuat kode.