تنفيذ بيئة 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 العديد من التحديات بما في ذلك فهم التعليمات التركيبية ، وصياغة الاستعلام (إعادة) ، والتعامل مع النص الصاخب في صفحات الويب ، وإجراء الاستكشاف الاستراتيجي.
عانق الوجه التجريبي : ابتكر استعلام اللغة الطبيعية الخاصة بك لمنتج ما واطلب وكيلًا مدربًا مع WebShop للعثور عليه على Amazon أو eBay ، الذي تم نشره كـ A؟ يعانق مساحة الوجه هنا!
يتم تنفيذ رمزنا في بيثون. للإعداد ، افعل ما يلي:
> 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 أن تحدد ما إذا كنت ترغب في سحب مجموعة بيانات التعليم + المنتج بالكامل ( -d all ) أو مجموعة فرعية من 1000 منتج عشوائي ( -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[...] ).
يأتي بناء WebShop الحالي مع اثنين من العلامات:
--log : قم بتضمين هذه العلامة لإنشاء ملف سجل .jsonl من الإجراءات على WebShop--attrs : قم بتضمين هذه العلامة لعرض علامة تبويب Attributes على item_page من webshopsimple ) يتم تعبئة الوضع simple لبيئة WebShop ومتوفر بسهولة كبيئة Openai. يمكن العثور على تعريفات صالة الألعاب الرياضية Openai لبيئة النص في مجلد 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.
لقراءة المزيد حول كيفية عمل نقل الوكلاء الذين تم تدريبهم على WebShop على بيئات أخرى ، يرجى الرجوع إلى README.md في مجلد النقل.
نود أن نسمع من مجتمع NLP الأوسع ومجتمع التعلم الآلي ، ونرحب بأي مساهمات أو طلبات أو مشكلات! للقيام بذلك ، يرجى إما تقديم طلب سحب أو إصدار جديد وملء القوالب المقابلة وفقًا لذلك. سنكون متأكدين من المتابعة قريبًا!
تحقق من LICENSE.md