This is the official implementation of AutoWebGLM. If you find our open-sourced efforts useful, please 🌟 the repo to encourage our following developement!
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.
- 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.
We have publicly disclosed our evaluation code, data, and environment. You may conduct the experiment using the following code.
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]
.
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.
We have also made modifications to the MiniWob++ environment, see MiniWob++. The modifications and execution instructions can be found in README.
This repository is licensed under the Apache-2.0 License. All open-sourced data is for resarch purpose only.
TODO