网络商店环境的实施和本文搜索代理:
网络店:与基础语言代理进行可扩展的现实世界网络互动
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是一个模拟的电子商务网站环境,拥有118万个现实世界中的产品和12,087个众筹文本说明。在这种环境中,代理需要浏览多种类型的网页,并发布各种操作,以查找,自定义和购买给定指令的产品。 WebShop提供了一些挑战,包括了解构图说明,查询(重新)配方,在网页中处理嘈杂的文本以及进行战略探索。
拥抱面部演示:为产品设计自己的自然语言查询,并要求在Amazon或eBay上培训的代理商,以AMAZON或EBAY的形式找到它?拥抱脸部空间!
我们的代码在Python中实施。要设置,请执行以下操作:
> git clone https://github.com/princeton-nlp/webshop.git webshop > conda create -n webshop python=3.8.13
> conda activate webshopsetup.sh脚本将要求安装到webshop虚拟环境中 > ./setup.sh [-d small | all]设置脚本按以下顺序执行多个操作:
requirements.txt中列出的python依赖项.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/需要图像功能的运行模型中。
(可选)人类演示数据,并在此处下载。
网络商店环境可以以两种模式渲染 - html和simple - 每个模式都提供了不同的观察空间。 simple模式剥离了html模式包括使模型训练和评估更容易的外科元数据。
html模式)启动WebShop网页:
> ./run_dev.sh然后,该网站应在浏览器中可见。请访问http:// localhost:3000/abc,您应该在其中随机指令降落在搜索主页上。
浏览该网站将自动在user_session_logs/mturk文件夹中生成相应的轨迹文件。每个文件对应于单个指令/Web会话,文件的每个步骤都对应于单个操作(即search[...] , click[...] )。
当前的网络商店构建带有两个标志:
--log :包括此标志以创建轨迹.jsonl日志文件在网络商店上--attrs :包括此标志以在WebShop的item_page上显示Attributes选项卡simple模式) WebShop环境的simple模式已包装,并且很容易作为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健身房界面与环境互动。
可以在simple html夹中找到与WebShop环境相互作用的RandomPolicy代理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脚本,您必须下载与Chrome浏览器版本兼容的Chromedriver版本。下载并解压缩可执行文件后,将其重命名为chromedriver并将其放置在webshop/envs文件夹中。
要从纸上运行基线模型(规则,IL,RL,IL+RL),请参阅基线_models文件夹中的README.md 。
要了解有关在WebShop上培训到其他环境的代理商的SIM到实体传输的更多信息,请参阅传输文件夹中的README.md 。
我们很想听听更广泛的NLP和机器学习社区的消息,我们欢迎任何贡献,提取请求或问题!为此,请提交新的拉请请求或发出新的请求,然后相应地填写相应的模板。我们一定要尽快跟进!
检查LICENSE.md