Implementación del entorno web y agentes de búsqueda para el documento:
Webshop: hacia la interacción web escalable del mundo real con agentes de lenguaje fundamentados
Shunyu Yao*, Howard Chen*, John Yang, Karthik Narasimhan

Este repositorio contiene código para reproducir resultados. Si encuentra este trabajo útil en su investigación, cite:
@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 es un entorno de sitio web de comercio electrónico simulado con 1.18 millones de productos del mundo real e 12,087 instrucciones de texto de origen público. En este entorno, un agente necesita navegar múltiples tipos de páginas web y emitir diversas acciones para encontrar, personalizar y comprar un producto dado una instrucción. WebShop proporciona varios desafíos, incluida la comprensión de las instrucciones de composición, la formulación de consultas (re), el tratamiento de texto ruidoso en páginas web y la realización de exploración estratégica.
Demostración de Face Hugging : idee su propia consulta de lenguaje natural para un producto y solicite un agente capacitado con WebShop para encontrarlo en Amazon o eBay, implementado como A? ¡Abrazando el espacio de la cara aquí!
Nuestro código se implementa en Python. Para configurar, haga lo siguiente:
> git clone https://github.com/princeton-nlp/webshop.git webshop > conda create -n webshop python=3.8.13
> conda activate webshopwebshop a través del script setup.sh > ./setup.sh [-d small | all]El script de configuración realiza varias acciones en el siguiente orden:
requirements.txtspaCy en_core_web_lg-d le permite especificar si desea extraer todo el conjunto de datos de productos + instrucciones ( -d all ) o un subconjunto de 1000 productos aleatorios ( -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' ) (Opcional) Descargue los archivos de características de imagen ResNet aquí y ponte en data/ para ejecutar modelos que requieren características de imagen.
(Opcional) Datos de demostración humana y se descargará aquí.
El entorno de la tienda web se puede representar en dos modos, html y simple , cada uno de los cuales ofrece un espacio de observación diferente. El modo simple elimina los metadatos extraños que el modo html incluye para facilitar el entrenamiento y la evaluación del modelo.
html ) Inicie la página web WebShop :
> ./run_dev.shEl sitio debe ser visible en el navegador. Vaya a http: // localhost: 3000/ABC, donde debe aterrizar en la página de inicio de búsqueda con una instrucción aleatoria.
La navegación del sitio web generará automáticamente un archivo de trayectoria correspondiente en la carpeta user_session_logs/mturk . Cada archivo corresponde a una sola instrucción/sesión web, y cada paso del archivo corresponde a una sola acción (es decir, search[...] , click[...] ).
La compilación actual de la web viene con dos banderas:
--log : incluya este indicador para crear una trayectoria .jsonl LOG ARCHIVO DE ACCIONES EN WEBSOP--attrs : incluya este indicador para mostrar una pestaña Attributes en el item_page de la webshopsimple ) El modo simple del entorno web se empaqueta y está disponible como un entorno OpenAI. Las definiciones del gimnasio Operai del entorno de texto se pueden encontrar en la carpeta web_agent_site/envs .
Para comenzar a usar el gimnasio y los agentes de construcción que interactúen con el entorno de la tienda web, incluya las siguientes declaraciones en su archivo de Python:
import gym
from web_agent_site . envs import WebAgentTextEnv
env = gym . make ( 'WebAgentTextEnv-v0' , observation_mode = 'text' , num_products = ...)Ahora, puede escribir su propio agente que interactúe con el entorno a través de la interfaz estándar de Gym Operai.
Se pueden encontrar ejemplos de un agente RandomPolicy que interactúa con el entorno de la tienda web tanto en html como en modo simple en la carpeta run_envs . Para ejecutar estos ejemplos localmente, ejecute el script run_web_agent_text_env.sh o 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
... Para ejecutar el script run_web_agent_site_env.sh , debe descargar una versión de ChromedRiver compatible con su versión de navegador Chrome. Una vez que haya descargado y desabrochado el ejecutable, cambie el nombre chromedriver y colóquelo en la carpeta webshop/envs .
Para ejecutar modelos de línea de base (regla, IL, RL, IL+RL) del documento, consulte el README.md en la carpeta de base_models.
Para leer más sobre cómo funciona la transferencia SIM a Real de agentes capacitadas en WebShop a otros entornos, consulte el README.md en la carpeta de transferencia.
Nos encantaría saber de la comunidad más amplia de PNL y aprendizaje automático, y agradecemos cualquier contribución, solicitud de solicitud o problemas. Para hacerlo, presente una nueva solicitud o problema de extracción y complete las plantillas correspondientes en consecuencia. ¡Nos aseguraremos de hacer un seguimiento en breve!
Verifique LICENSE.md