WebWorld-8B快速上手指南:5分钟搭建你的第一个网页代理模拟环境
WebWorld-8B快速上手指南:5分钟搭建你的第一个网页代理模拟环境
【免费下载链接】WebWorld-8B项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/WebWorld-8B
WebWorld-8B是一款基于Qwen3-8B开发的网页代理模拟环境,能够帮助开发者快速构建真实的网页交互场景。通过这款强大的开源工具,你可以轻松实现长达30步以上的长周期网页操作模拟,支持多种格式的状态表示,包括A11y Tree、HTML、XML、Markdown和自然语言等。
🌟 为什么选择WebWorld-8B?
WebWorld-8B作为一款先进的网页代理模拟环境,具有以下显著优势:
- 高效模拟:基于100万+真实网页交互轨迹训练,能够精准预测网页状态变化
- 多格式支持:兼容多种网页状态表示格式,满足不同场景需求
- 长周期操作:支持30步以上的连续网页操作模拟
- 跨域泛化:可应用于代码、GUI和游戏等多种环境
📋 环境准备
在开始使用WebWorld-8B之前,你需要确保系统中已安装以下依赖:
- Python 3.8+
- transformers(建议使用最新版本)
- torch
- 可选:accelerate、vllm(用于高效服务)
🚀 快速安装
1. 克隆仓库
首先,克隆WebWorld-8B项目仓库到本地:
git clone https://gitcode.com/hf_mirrors/Qwen/WebWorld-8B cd WebWorld-8B2. 安装依赖
使用pip安装所需依赖:
pip install transformers torch # 如需高效服务,可额外安装 pip install accelerate vllm💻 开始使用WebWorld-8B
单步预测
WebWorld-8B最基本的功能是根据当前页面状态和操作预测下一个页面状态。以下是一个简单的单步预测示例:
点击查看代码示例
import torch from transformers import AutoTokenizer, AutoModelForCausalLM model_name = "Qwen/WebWorld-8B" tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True, ).eval() system_prompt = ( "You are a web world model. I will provide you with an initial page state " "and a sequence of actions. For each action, predict the resulting page state.\n" "Strictly maintain the original format. Output only the full page state " "without explanations, code, or truncation." ) # 当前页面状态 current_state = """RootWebArea 'Global Start - Your Daily Portal', focused \t[1] banner 'Top Header', visible \t\t[2] link 'Set as Homepage', clickable, visible \t\t[3] link 'Feedback', clickable, visible \t\t[5] region 'Weather Widget', visible \t\t\tStaticText 'New York, USA' \t\t\t[6] image 'Sunny', visible \t\t\tStaticText '24°C' \t\t[8] link 'Sign In', clickable, visible \t[10] region 'Search Area', visible \t\t[11] image 'Global Start Logo', visible \t\tStaticText 'Search the entire web' \t\t[12] tablist 'Search Engine Selector', orientation='horizontal' \t\t\t[13] tab 'Google', selected=True, clickable \t\t\t[14] tab 'Bing', selected=False, clickable \t\t\t[15] tab 'DuckDuckGo', selected=False, clickable \t\t[18] combobox 'Web Search', clickable, visible, autocomplete='both', expanded=False \t\t\t[19] textbox 'Type keywords or URL...', clickable, visible, editable, value='' \t\t[20] button 'Search', clickable, visible \t[30] navigation 'Category Bar', visible \t\t[31] link 'Home', clickable, selected=True \t\t[32] link 'News', clickable \t\t[33] link 'Video', clickable \t\t[34] link 'Shopping', clickable \t\t[35] link 'Social', clickable \t[50] main 'Site Directory', visible \t\t[51] region 'Top Recommended', visible \t\t\t[52] heading 'Most Popular', visible \t\t\t[53] list 'Top Sites Grid', visible \t\t\t\t[54] link 'Facebook', clickable \t\t\t\t[56] link 'YouTube', clickable \t\t\t\t[58] link 'Amazon', clickable \t\t\t\t[60] link 'Twitter / X', clickable \t\t\t\t[62] link 'Instagram', clickable \t\t\t\t[64] link 'Wikipedia', clickable \t\t\t\t[66] link 'Netflix', clickable \t\t\t\t[68] link 'LinkedIn', clickable \t\t[80] region 'News & Media', visible \t\t\t[81] heading 'Latest News', visible \t\t\t[82] link 'CNN', clickable \t\t\t[83] link 'BBC', clickable \t\t\t[84] link 'The Verge', clickable \t\t[90] region 'Shopping', visible \t\t\t[91] heading 'E-Commerce', visible \t\t\t[92] link 'eBay', clickable \t\t\t[93] link 'Walmart', clickable \t\t\t[94] link 'Best Buy', clickable \t[200] complementary 'Ads', visible \t\t[201] image 'Ad: Travel to Japan' \t\t[202] link 'Book Now', clickable \t[300] contentinfo 'Footer', visible \t\tStaticText '© 2026 Global Start Inc.'""" user_message = ( f"Initial Page State:\n{current_state}\n\n" f"First Action: 'click([32])'\n\n" f"Next Page State:" ) messages = [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_message}, ] text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = tokenizer(text, return_tensors="pt").to(model.device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=4096, do_sample=False, ) response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True) print(response)多轮模拟
WebWorld-8B支持多轮连续模拟,模拟完整的用户交互流程:
点击查看多轮模拟代码
CONTINUE_PROMPT = ( "Continue the trajectory. Given the previous state, " "predict the next page state after this action.\n\n" "Action: '{action}'\n\nNext Page State:" ) # 第一轮 messages = [ {"role": "system", "content": system_prompt}, {"role": "user", "content": f"Initial Page State:\n{state_0}\n\nFirst Action: '{action_0}'\n\nNext Page State:"}, ] state_1 = generate(messages) # 你的生成函数 # 第二轮 messages.append({"role": "assistant", "content": state_1}) messages.append({"role": "user", "content": CONTINUE_PROMPT.format(action=action_1)}) state_2 = generate(messages) # 第三轮、第四轮...最多支持30+轮:重复相同模式 messages.append({"role": "assistant", "content": state_2}) messages.append({"role": "user", "content": CONTINUE_PROMPT.format(action=action_2)}) state_3 = generate(messages)🎮 支持的操作类型
WebWorld-8B支持多种网页操作,主要包括以下几类:
元素操作
click(bid, button, modifiers): 点击DOM元素fill(bid, text, press_enter): 在输入框中输入文本select_option(bid, options): 从下拉框选择选项hover(bid): 悬停在元素上
鼠标操作
mouse_move(x, y): 移动鼠标到指定坐标mouse_click(x, y, button): 在指定坐标点击mouse_down(x, y)/mouse_up(x, y): 鼠标按下/释放
键盘操作
keyboard_press(key): 按下特定键keyboard_type(text): 输入文本
浏览器操作
scroll(dx, dy): 滚动视窗goto(url): 导航到指定URLgo_back()/go_forward(): 浏览器历史导航tab_new()/tab_close()/tab_focus(index): 标签页管理
📊 性能表现
WebWorld-8B在多个评估指标上表现优异:
内在评估(WebWorld-Bench)
| 模型 | 平均真实性 | 平均图灵测试得分 |
|---|---|---|
| GPT-4o | 59.5 | 35.4 |
| Claude-Opus-4.1 | 71.3 | 47.4 |
| Gemini-3-Pro | 70.3 | 43.2 |
| Qwen3-8B (基础版) | 26.9 | 17.4 |
| WebWorld-8B | 70.1 | 42.2 |
外在评估(代理训练)
| 模型 | MiniWob++ 成功率 | WebArena 成功率 |
|---|---|---|
| GPT-4o | 64.3% | 26.6% |
| Qwen3-8B (基础版) | 49.4% | 9.8% |
| Qwen3-8B + WebWorld | 59.3%(+9.9%) | 20.7%(+10.9%) |
⚠️ 注意事项
使用WebWorld-8B时,请注意以下限制:
- 过度乐观倾向:模型可能生成对代理操作过于有利的结果
- 内容生成保真度:长文本、高精度内容(如科学文章)不是主要目标
- 纯文本模拟:WebWorld不模拟视觉/像素级渲染
📄 配置文件说明
WebWorld-8B提供了多个配置文件,可根据需求进行调整:
- config.json: 模型主要配置
- generation_config.json: 生成参数配置
- tokenizer_config.json: 分词器配置
通过修改这些配置文件,你可以调整模型的行为,以适应不同的应用场景。
🎯 总结
WebWorld-8B是一款功能强大的网页代理模拟环境,能够帮助开发者快速构建和测试网页交互场景。通过本指南,你已经了解了WebWorld-8B的基本安装和使用方法。现在,你可以开始探索这个强大工具的更多高级功能,构建自己的网页代理模拟环境了!
无论是进行网页自动化测试、开发智能网页代理,还是研究网页交互模式,WebWorld-8B都能为你提供高效、可靠的模拟环境支持。立即开始你的WebWorld-8B之旅吧!
【免费下载链接】WebWorld-8B项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/WebWorld-8B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
