Implementasi lingkungan webshop dan agen pencarian untuk makalah ini:
Webshop: Menuju interaksi web dunia nyata yang dapat diskalakan dengan agen bahasa grounded
Shunyu Yao*, Howard Chen*, John Yang, Karthik Narasimhan

Repositori ini berisi kode untuk mereproduksi hasil. Jika Anda menemukan pekerjaan ini berguna dalam penelitian Anda, silakan kutip:
@inproceedings{yao2022webshop,
bibtex_show = {true},
title = {WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents},
author = {Yao, Shunyu and Chen, Howard and Yang, John and Narasimhan, Karthik},
booktitle = {ArXiv},
year = {preprint},
html = {https://arxiv.org/abs/2207.01206},
tag = {NLP}
}
Webshop adalah lingkungan situs web e-commerce yang disimulasikan dengan 1,18 juta produk dunia nyata dan 12.087 instruksi teks yang bersumber dari kerumunan. Dalam lingkungan ini, agen perlu menavigasi beberapa jenis halaman web dan mengeluarkan beragam tindakan untuk menemukan, menyesuaikan, dan membeli produk yang diberikan instruksi. Webshop memberikan beberapa tantangan termasuk memahami instruksi komposisi, formulasi kueri (re-rece), berurusan dengan teks bising di halaman web, dan melakukan eksplorasi strategis.
Demo Memeluk Face : Rancang kueri bahasa alami Anda sendiri untuk suatu produk dan minta agen yang dilatih dengan webshop untuk menemukannya di Amazon atau eBay, digunakan sebagai? Memeluk ruang wajah di sini!
Kode kami diimplementasikan dalam Python. Untuk mengatur, lakukan hal berikut:
> git clone https://github.com/princeton-nlp/webshop.git webshop > conda create -n webshop python=3.8.13
> conda activate webshopwebshop Melalui Skrip setup.sh > ./setup.sh [-d small | all]Skrip Pengaturan melakukan beberapa tindakan dalam urutan berikut:
requirements.txtspaCy en_core_web_lg Model-d memungkinkan Anda untuk menentukan apakah Anda ingin menarik seluruh produk + set data instruksi ( -d all ) atau subset dari 1000 produk acak ( -d small ).web_agent_site/utils.py : # DEFAULT_ATTR_PATH = join(BASE_DIR, '../data/items_ins_v2_1000.json')
# DEFAULT_FILE_PATH = join(BASE_DIR, '../data/items_shuffle_1000.json')
DEFAULT_ATTR_PATH = join ( BASE_DIR , '../data/items_ins_v2.json' )
DEFAULT_FILE_PATH = join ( BASE_DIR , '../data/items_shuffle.json' ) (Opsional) Unduh file fitur gambar resnet di sini dan dimasukkan ke dalam data/ untuk menjalankan model yang memerlukan fitur gambar.
Data demonstrasi manusia (opsional) dan diunduh di sini.
Lingkungan webshop dapat diterjemahkan dalam dua mode - html dan simple - yang masing -masing menawarkan ruang pengamatan yang berbeda. Mode simple menghilangkan meta-data asing yang dimasukkan oleh mode html untuk membuat pelatihan model dan evaluasi lebih mudah.
html ) Luncurkan halaman web WebShop :
> ./run_dev.shSitus kemudian harus dapat dilihat di browser. Pergi ke http: // localhost: 3000/ABC, di mana Anda harus mendarat di halaman rumah pencarian dengan instruksi acak.
Menavigasi situs web akan secara otomatis menghasilkan file lintasan yang sesuai di folder user_session_logs/mturk . Setiap file sesuai dengan satu instruksi/sesi web, dan setiap langkah file sesuai dengan satu tindakan (yaitu search[...] , click[...] ).
Bangunan webshop saat ini hadir dengan dua bendera:
--log : Sertakan bendera ini untuk membuat lintasan .jsonl File Log Tindakan di Webshop--attrs : Sertakan bendera ini untuk menampilkan tab Attributes pada item_page dari webshopsimple ) Mode simple dari lingkungan webshop dikemas dan tersedia sebagai lingkungan openai. Definisi gym openai dari lingkungan teks dapat ditemukan di folder web_agent_site/envs .
Untuk mulai menggunakan gym dan agen bangunan yang berinteraksi dengan lingkungan webshop, sertakan pernyataan berikut dalam file python Anda:
import gym
from web_agent_site . envs import WebAgentTextEnv
env = gym . make ( 'WebAgentTextEnv-v0' , observation_mode = 'text' , num_products = ...)Sekarang, Anda dapat menulis agen Anda sendiri yang berinteraksi dengan lingkungan melalui antarmuka gym Openai standar.
Contoh agen RandomPolicy yang berinteraksi dengan lingkungan webshop di html dan mode simple dapat ditemukan di folder run_envs . Untuk menjalankan contoh -contoh ini secara lokal, jalankan run_web_agent_text_env.sh atau run_web_agent_site_env.sh skrip:
> ./run_web_agent_text_env.sh
Products loaded.
Keys Cleaned.
Attributes Loaded.
100% | ██████████████████ | 1000/1000
Loaded 6910 goals.
Amazon Shopping Game [SEP] Instruction: [SEP] Find me slim f...
Available actions: { ' has_search_bar ' : True, ' clickables ' : [ ' search ' ]}
Taking action " search[shoes] " - > Reward = 0.0
... Untuk menjalankan skrip run_web_agent_site_env.sh , Anda harus mengunduh versi ChromedRiver yang kompatibel dengan versi browser chrome Anda. Setelah Anda mengunduh dan membuka ritsleting yang dapat dieksekusi, ganti nama chromedriver dan letakkan di folder webshop/envs .
Untuk menjalankan model baseline (aturan, IL, RL, IL+RL) dari kertas, silakan merujuk ke README.md di folder Baseline_Models.
Untuk membaca lebih lanjut tentang bagaimana transfer agen sim-to-real yang dilatih di webshop ke lingkungan lain berfungsi, silakan merujuk ke README.md di folder transfer.
Kami ingin mendengar dari NLP dan komunitas pembelajaran mesin yang lebih luas, dan kami menyambut setiap kontribusi, permintaan tarik, atau masalah! Untuk melakukannya, silakan mengajukan permintaan atau masalah tarik baru dan mengisi templat yang sesuai. Kami pasti akan segera menindaklanjuti!
Periksa LICENSE.md