WebDreamer:基于大语言模型模拟网页交互增强网络规划能力的框架

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

功能 :基于大型语言模型(LLMs)模拟网页交互,预测用户行为及其结果。
优势 :提高智能体的性能和安全性,减少实际网站交互的需求。
应用:自动化网页任务、智能搜索和导航、虚拟助手、电子商务和客户服务。

正文(附运行示例)

WebDreamer 是什么

WebDreamer是由俄亥俄州立大学和Orby AI研究团队推出的基于模型规划的网络智能体。它利用大型语言模型(LLMs),特别是GPT-4o,作为世界模型来预测网站上的交互结果。框架通过模拟可能的用户行为和结果,帮助网络代理在复杂的网络环境中进行有效的规划和决策。

WebDreamer的核心概念是"做梦",即在实际采取行动前,用LLM预测每个可能步骤的结果,并选择最有可能实现目标的行动。这种方法不仅提高了智能体的性能和安全性,还减少了实际网站交互的需求。

WebDreamer 的主要功能

  • 基于模型的规划:使用大型语言模型(LLMs)作为世界模型,为网络代理提供基于模型的规划能力,能在复杂的网络环境中执行任务。
  • 预测交互结果:预测用户在网站上可能采取的行动及其结果,例如点击一个按钮或输入文本后网页的变化。
  • 优化决策:基于模拟不同的行动路径,评估每种可能结果的优劣,确定最佳的行动方案。
  • 提高性能和效率:与反应式基线相比,WebDreamer在完成任务时表现更好,需要的交互次数更少,提高了效率。
  • 增强安全性:减少与真实网站的直接交互,降低因不可逆操作导致的风险,如意外提交表单或触发交易。
  • 多功能集成:作为插件与多种智能体集成,补充树搜索智能体的功能。

WebDreamer 的技术原理

  • 模拟函数(sim):使用LLMs模拟每个候选动作的结果。模拟函数基于自然语言描述预测行动后的状态变化,近似于状态转移函数。
  • 评分函数(score):在模拟出可能的行动轨迹后,使用LLMs作为评分函数,评估每个模拟轨迹与完成任务目标的接近程度。
  • 候选动作生成:采用两阶段方法生成候选动作,先采样出前k个动作,然后用LLM自我优化,去除不必要的动作进行模拟。
  • 迭代模拟和执行:智能体在每个决策点模拟多个可能的行动轨迹,选择得分最高的轨迹,执行相应的初始动作,根据实际结果更新模拟,重复此过程直到任务完成。
  • 部分可观测马尔可夫决策过程(POMDP):将网络任务视为POMDP,考虑到网络环境的复杂性和部分可观测性。
  • 模型预测控制(MPC):借鉴MPC方法,迭代模拟未来轨迹选择动作,避免代价高昂的真实世界探索。

如何运行 WebDreamer

以下是一个简单的示例代码,展示了如何使用WebDreamer的世界模型模块来预测网页变化。

python 复制代码
from WebDreamer import WebWorldModel
import os

# 初始化世界模型
world_model = WebWorldModel(OpenAI(api_key=os.environ["OPENAI_API_KEY"]))

# 加载网页截图
screenshot_path = "demo_data/shopping_0.png"
screenshot = encode_image(screenshot_path)
screenshot = "data:image/jpeg;base64," + screenshot

# 定义任务和初始动作
action_description = "type 'red blanket' in the search bar and click search"
task = "Buy the least expensive red blanket (in any size) from 'Blankets & Throws' category."

# 预测网页变化
imagination = world_model.multiple_step_change_prediction(
    screenshot, screenshot_path, task, action_description, format='accessibility', k=3
)

print(imagination)

参数解释

  • screenshot_path:网页截图的路径。
  • task:描述在网页上要完成的任务。
  • action_description:初始动作的描述。
  • format:预测网页状态变化的输出格式,可选值为change(文本描述)、accessibility(可访问性树结构)、html(HTML结构)。
  • k:模拟的步骤数。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关推荐
今天补充能量了吗8 分钟前
T3 TensorFlow入门实战——天气识别
人工智能·python·tensorflow
埃菲尔铁塔_CV算法41 分钟前
条件数:概念、矩阵中的应用及实际工业场景应用
人工智能·python·线性代数·算法·matlab·矩阵
Misnearch43 分钟前
sklearn.ensemble
人工智能·python·sklearn
芷芷在学习1 小时前
机器学习(二十五):决策树算法以及决策树和神经网络的对比
人工智能·机器学习
Adunn1 小时前
算法基础 - 最小二乘法(线性拟合)
c++·人工智能·算法·机器学习·自动驾驶·最小二乘法
DevinLGT1 小时前
石英晶体基本特性和等效电路:【图文讲解】
人工智能·单片机·嵌入式硬件
Believe yourself!!!1 小时前
论深度学习训练过程中数据集打乱的重要性
人工智能·深度学习
jimox_ai1 小时前
AI论文写作小助手-积墨论文
人工智能·深度学习
一位小说男主1 小时前
深度学习中的梯度下降算法:详解与实践
人工智能·深度学习·神经网络·算法
HoweChenya1 小时前
【书生大模型实战营】Llamaindex RAG 实践闯关任务
人工智能·python·深度学习