MCPcopy Index your code
hub / github.com/THUDM/AutoWebGLM

github.com/THUDM/AutoWebGLM @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
478 symbols 2,065 edges 88 files 91 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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}
}

Core symbols most depended-on inside this repo

step
called by 73
webarena/browser_env/envs.py
reset
called by 65
webarena/agent/agent.py
step_once
called by 41
webarena/solver/utils.py
create_id_based_action
called by 33
webarena/browser_env/actions.py
is_equivalent
called by 29
webarena/browser_env/actions.py
create_none_action
called by 27
webarena/browser_env/actions.py
create_playwright_action
called by 25
webarena/browser_env/actions.py
get_page_client
called by 16
webarena/browser_env/envs.py

Shape

Function 220
Method 208
Class 46
Route 4

Languages

Python100%
TypeScript1%

Modules by API surface

webarena/browser_env/actions.py73 symbols
webarena/agent/prompts/prompt_constructor.py31 symbols
webarena/browser_env/processors.py28 symbols
webarena/browser_env/html_tools/html_parser.py26 symbols
miniwob++/html_tools/html_parser.py24 symbols
webarena/evaluation_harness/evaluators.py23 symbols
webarena/agent/agent.py18 symbols
webarena/solver/shopping_admin.py16 symbols
webarena/tests/test_evaluation_harness/test_evaluators.py14 symbols
webarena/tests/test_browser_env/test_action_functionalities.py13 symbols
webarena/browser_env/envs.py13 symbols
webarena/tests/test_browser_env/test_script_browser_env.py11 symbols

For agents

$ claude mcp add AutoWebGLM \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact