/AutoWebGLM

An LLM-based Web Navigating Agent (KDD'24)

Primary LanguagePythonApache License 2.0Apache-2.0

AutoWebGLM: A Large Language Model-based Web Navigating Agent

This is the official implementation of AutoWebGLM. If you find our open-sourced efforts useful, please 🌟 the repo to encourage our following development!

Overview

paper

AutoWebGLM is a project aimed at building a more efficient language model-driven automated web navigation agent. This project is built on top of the ChatGLM3-6B model, extending its capabilities to navigate the web more effectively and tackle real-world browsing challenges better.

Features

  • HTML Simplification Algorithm: Inspired by human browsing patterns, we've designed an algorithm to simplify HTML, making webpages more digestible for LLM agents while preserving crucial information.
  • Hybrid Human-AI Training: We combine human and AI knowledge to build web browsing data for curriculum training, enhancing the model's practical navigation skills.
  • Reinforcement Learning and Rejection Sampling: We enhance the model's webpage comprehension, browser operations, and efficient task decomposition abilities by bootstrapping it with reinforcement learning and rejection sampling.
  • Bilingual Web Navigation Benchmark: We introduce AutoWebBench—a bilingual (Chinese and English) benchmark for real-world web browsing tasks. This benchmark provides a robust tool for testing and refining the capabilities of AI web navigation agents.

Evaluation

We have publicly disclosed our evaluation code, data, and environment. You may conduct the experiment using the following code.

AutoWebBench & Mind2Web

You can find our evaluation datasets at AutoWebBench and Mind2Web. For the code to perform model inference, please refer to ChatGLM3-6B. After obtaining the output file, the score can be obtained through python eval.py [result_path].

WebArena

We have made modifications to the WebArena environment to fit the interaction of our system; see WebArena. The modifications and execution instructions can be found in README.

MiniWob++

We have also made modifications to the MiniWob++ environment, see MiniWob++. The modifications and execution instructions can be found in README.

License

This repository is licensed under the Apache-2.0 License. All open-sourced data is for resarch purpose only.

Citation

If you use this code for your research, please cite our paper.

@inproceedings{lai2024autowebglm,
    author = {Lai, Hanyu and Liu, Xiao and Iong, Iat Long and Yao, Shuntian and Chen, Yuxuan and Shen, Pengbo and Yu, Hao and Zhang, Hanchen and Zhang, Xiaohan and Dong, Yuxiao and Tang, Jie},
    title = {AutoWebGLM: A Large Language Model-based Web Navigating Agent},
    booktitle = {Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
    pages = {5295–-5306},
    year = {2024}
}