Реализация среды веб -магазина и поисковых агентов для статьи:
Веб-магазин: к масштабируемому реальному веб-взаимодействию с заземленными языковыми агентами
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 предоставляет несколько проблем, включая понимание композиционных инструкций, формулировку запроса (повторно), рассмотрение шумного текста на веб-страницах и проведение стратегического исследования.
Объятие лица Демонстрации : разработайте свой собственный запрос на естественный язык для продукта и попросите агента, обученного с веб -магазином, чтобы найти его на 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 -флаг позволяет указать, хотите ли вы потянуть весь набор данных продукта + инструкции ( -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 . Каждый файл соответствует одной инструкции/веб -сеансе, и каждый шаг файла соответствует одному действию (то есть search[...] , click[...] ).
Текущая сборка веб -магазина поставляется с двумя флагами:
--log : включите этот флаг для создания файла журнала .jsonl--attrs : включите этот флаг, чтобы отобразить вкладку Attributes на item_page of Webshopsimple режим) simple режим среды веб -магазина упакован и легко доступен в качестве среды Openai. Определения спортзала Openai в текстовой среде можно найти в папке web_agent_site/envs .
Чтобы начать использовать тренажерный зал и строительные агенты, которые взаимодействуют с средой веб -магазина, включите следующие операторы в вашем файле Python:
import gym
from web_agent_site . envs import WebAgentTextEnv
env = gym . make ( 'WebAgentTextEnv-v0' , observation_mode = 'text' , num_products = ...)Теперь вы можете написать своего собственного агента, который взаимодействует с окружающей средой через стандартный интерфейс Gym Openai.
Примеры агента RandomPolicy взаимодействующего с средой веб -магазина как в 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 .
Чтобы узнать больше о том, как работает передача агентов, обученных в Интернете, в другие среды, пожалуйста, обратитесь к README.md в папке Transfer.
Мы хотели бы услышать от более широкого сообщества NLP и машинного обучения, и мы приветствуем любые взносы, запросы или проблемы! Для этого, пожалуйста, либо поставьте новый запрос на привлечение или проблему, и заполните соответствующие шаблоны соответствующих шаблонов. Мы обязательно продолжим в ближайшее время!
Проверьте LICENSE.md