การใช้งานสภาพแวดล้อม webshop และตัวแทนค้นหาสำหรับกระดาษ:
Webshop: ไปสู่การโต้ตอบเว็บในโลกแห่งความเป็นจริงกับตัวแทนภาษาที่มีเหตุผล
Shunyu Yao*, Howard Chen*, John Yang, Karthik Narasimhan

ที่เก็บนี้มีรหัสสำหรับการสร้างผลลัพธ์ซ้ำ หากคุณพบว่างานนี้มีประโยชน์ในการวิจัยของคุณโปรดอ้างอิง:
@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 เป็นสภาพแวดล้อมของเว็บไซต์อีคอมเมิร์ซจำลองด้วยผลิตภัณฑ์ในโลกแห่งความเป็นจริง 1.18 ล้านรายการและคำแนะนำข้อความที่มาจากฝูงชน 12,087 รายการ ในสภาพแวดล้อมนี้ตัวแทนจำเป็นต้องนำทางเว็บเพจหลายประเภทและออกการกระทำที่หลากหลายเพื่อค้นหาปรับแต่งและซื้อผลิตภัณฑ์ที่ได้รับคำแนะนำ WebShop ให้ความท้าทายหลายประการรวมถึงการทำความเข้าใจคำแนะนำในการแต่งเพลงแบบสอบถาม (อีกครั้ง) สูตรการจัดการกับข้อความที่มีเสียงดังในหน้าเว็บและการสำรวจเชิงกลยุทธ์
Hugging Face Demo : ออกแบบแบบสอบถามภาษาธรรมชาติของคุณเองสำหรับผลิตภัณฑ์และขอตัวแทนที่ได้รับการฝึกฝนกับ Webshop เพื่อค้นหาใน Amazon หรือ eBay, ปรับใช้เป็น? กอดพื้นที่ใบหน้าที่นี่!
รหัสของเราถูกนำไปใช้ใน Python ในการตั้งค่าให้ทำสิ่งต่อไปนี้:
> git clone https://github.com/princeton-nlp/webshop.git webshop > conda create -n webshop python=3.8.13
> conda activate webshopwebshop ผ่านสคริปต์ setup.sh > ./setup.sh [-d small | all]สคริปต์การตั้งค่าดำเนินการหลายอย่างในลำดับต่อไปนี้:
requirements.txtspaCy en_core_web_lg-d Flag อนุญาตให้คุณระบุว่าคุณต้องการดึงชุดข้อมูลทั้งหมด + ชุดข้อมูลคำสั่ง ( -d all ) หรือชุดย่อยของผลิตภัณฑ์สุ่ม 1,000 รายการ ( -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' ) (ไม่บังคับ) ดาวน์โหลดไฟล์คุณสมบัติภาพ Resnet ที่นี่และใส่ลงใน data/ สำหรับรุ่นที่เรียกใช้ซึ่งต้องการคุณสมบัติรูปภาพ
(ไม่บังคับ) ข้อมูลการสาธิตของมนุษย์และดาวน์โหลดที่นี่
สภาพแวดล้อม webshop สามารถแสดงผลได้ในสองโหมด - html และ simple - แต่ละแบบมีพื้นที่สังเกตการณ์ที่แตกต่างกัน โหมด simple ช่วยลดเมตาดาต้าภายนอกที่โหมด html รวมถึงการฝึกอบรมแบบจำลองและการประเมินผลง่ายขึ้น
html ) เปิดหน้า WebShop หน้าเว็บ:
> ./run_dev.shเว็บไซต์ควรดูได้ในเบราว์เซอร์ ไปที่ http: // localhost: 3000/abc ซึ่งคุณควรลงจอดในโฮมเพจการค้นหาด้วยคำแนะนำแบบสุ่ม
การนำทางเว็บไซต์จะสร้างไฟล์วิถีที่สอดคล้องกันโดยอัตโนมัติในโฟลเดอร์ user_session_logs/mturk แต่ละไฟล์สอดคล้องกับคำสั่ง/เว็บเซสชันเดียวและแต่ละขั้นตอนของไฟล์สอดคล้องกับการกระทำเดียว (เช่น search[...] , click[...] )
การสร้างเว็บช็อปปัจจุบันมาพร้อมกับธงสองรายการ:
--log : รวมธงนี้เพื่อสร้างวิถีไฟล์บันทึก .jsonl ของการกระทำบน webshop--attrs : รวมการตั้งค่าสถานะนี้เพื่อแสดงแท็บ Attributes บน item_page ของ webshopsimple ) โหมด simple ของสภาพแวดล้อม webshop ได้รับการบรรจุและพร้อมใช้งานเป็นสภาพแวดล้อม OpenAI คำจำกัดความของ OpenAI Gym ของสภาพแวดล้อมข้อความสามารถพบได้ในโฟลเดอร์ web_agent_site/envs
ในการเริ่มต้นใช้โรงยิมและอาคารอาคารที่โต้ตอบกับสภาพแวดล้อม webshop ให้รวมข้อความต่อไปนี้ในไฟล์ Python ของคุณ:
import gym
from web_agent_site . envs import WebAgentTextEnv
env = gym . make ( 'WebAgentTextEnv-v0' , observation_mode = 'text' , num_products = ...)ตอนนี้คุณสามารถเขียนตัวแทนของคุณเองที่โต้ตอบกับสภาพแวดล้อมผ่านอินเตอร์เฟส OpenAI Gym Standard
ตัวอย่างของตัวแทน RandomPolicy ที่มีปฏิสัมพันธ์กับสภาพแวดล้อม webshop ทั้งใน html และโหมด simple สามารถพบได้ในโฟลเดอร์ run_envs ในการเรียกใช้ตัวอย่างเหล่านี้ในเครื่องให้เรียกใช้ run_web_agent_text_env.sh หรือ run_web_agent_site_env.sh สคริปต์:
> ./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
... ในการเรียกใช้สคริปต์ run_web_agent_site_env.sh คุณต้องดาวน์โหลด ChromeDriver เวอร์ชันที่เข้ากันได้กับเวอร์ชันเบราว์เซอร์ Chrome ของคุณ เมื่อคุณดาวน์โหลดและคลายซิปที่ปฏิบัติการได้แล้วให้เปลี่ยนชื่อ chromedriver แล้ววางไว้ในโฟลเดอร์ webshop/envs
ในการเรียกใช้โมเดลพื้นฐาน (กฎ, IL, RL, IL+RL) จากกระดาษโปรดดูที่ README.md ในโฟลเดอร์ Baseline_Models
หากต้องการอ่านเพิ่มเติมเกี่ยวกับวิธีการถ่ายโอนตัวแทนที่ได้รับการฝึกฝนบนเว็บช็อปไปยังสภาพแวดล้อมอื่น ๆ ได้อย่างไรโปรดดูที่ README.md ในโฟลเดอร์การถ่ายโอน
เราชอบที่จะได้ยินจากชุมชน NLP ที่กว้างขึ้นและชุมชนการเรียนรู้ของเครื่องจักรและเรายินดีต้อนรับการมีส่วนร่วมใด ๆ คำขอดึงหรือปัญหา! ในการทำเช่นนั้นโปรดยื่นคำขอดึงหรือปัญหาใหม่และกรอกข้อมูลในเทมเพลตที่เกี่ยวข้อง เราจะต้องติดตามในไม่ช้า!
ตรวจสอบ LICENSE.md