当前位置: 首页 > news >正文

Cerebellum:浏览器 AI 助手,基于 Claude 3.5 Sonnet 和 Selenium WebDriver 执行网页自动化任务

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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


🚀 快速阅读

  1. Cerebellum 是基于 Claude 3.5 Sonnet 和 Selenium WebDriver 构建的浏览器 AI 助手。
  2. 支持网页自动化任务,如数据抓取和网站自动化测试。
  3. 将网页浏览简化为有向图导航,用 LLM 分析页面内容和交互元素,智能规划行动路径。

正文(附运行示例)

Cerebellum 是什么

在这里插入图片描述

Cerebellum 是基于 Claude 3.5 Sonnet 和 Selenium WebDriver 构建的浏览器 AI 智能助手,能够理解任务意图并执行网页自动化任务,如数据抓取和网站自动化测试。Cerebellum 将网页浏览简化为有向图导航,用大型语言模型(LLM)分析页面内容和交互元素,智能规划行动路径,并根据网页状态和历史操作动态调整策略。Cerebellum 支持多种浏览器,能够精确模拟用户行为,适用于复杂的自动化场景。

Cerebellum 的主要功能

  • 图形导航:将网页浏览简化为有向图导航,每个网页被视为一个节点,用户操作(如点击或输入)作为节点间的边。
  • 节点发现:基于 LLM(大型语言模型)分析页面内容,发现、识别新的网页节点。
  • 行动决策:基于当前网页状态和历史用户操作,智能决策下一步行动。
  • 多浏览器支持:兼容 Chrome、Firefox、Safari 和 Edge 等多种浏览器。
  • 用户行为模拟:精确模拟用户行为,如点击、输入等,适用于复杂的自动化场景。
  • 动态策略调整:接受运行时指令,根据实时反馈动态调整浏览策略和操作。
  • 表单填写:用用户提供的 JSON 数据自动填写网页表单。

Cerebellum 的技术原理

  • 网页模型化:将网页浏览过程模型化为一个有向图,每个网页是一个节点,用户操作是节点之间的连接边。
  • LLM 集成:集成大型语言模型(LLM),如 Claude 3.5 Sonnet,分析网页内容和交互元素,识别和规划新的节点。
  • 状态分析:LLM 根据当前网页状态和历史操作数据决定下一步的最佳行动。
  • 动作执行与反馈:Cerebellum 执行 LLM 规划的操作,将操作后的新网页状态反馈给 LLM,以便进行下一步的决策。
  • 目标导向:从起始网页出发,目标是到达代表任务完成的目标节点。
  • 自动化流程:用户设定目标,Cerebellum 自动处理繁琐的脚本录制和执行,实现自动化任务。
  • 环境集成:与 Selenium WebDriver 紧密集成,基于 Selenium 的浏览器驱动能力实现跨浏览器的自动化操作。

如何运行 Cerebellum

  1. 设置你的 Anthropic API 密钥并添加 ANTHROPIC_API_KEY 环境变量。

  2. 安装 Cerebellum 和 Selenium 从 npm:

npm i cerebellum-ai selenium-webdriver
  1. 设置 Selenium WebDriver 以支持你想要自动化的浏览器。
  • MacOS:
    • Chrome: brew install chromedriver
    • Firefox: brew install geckodriver
  • Linux/Windows:
    • 请参考 Selenium 包的说明:https://www.npmjs.com/package/selenium-webdriver
  1. 创建一个 Selenium WebDriver 实例以在代码中使用。
import { Builder, Browser } from "selenium-webdriver";const browser = await new Builder().forBrowser(Browser.CHROME).build();
  1. 使用 Cerebellum 在网站上完成目标。
import { AnthropicPlanner, BrowserAgent } from "cerebellum-ai";// 指向一个网站
await browser.get("https://www.google.com");// 定义你的目标
const goal = "显示比特币创造者的维基百科页面";// 设置你的 Anthropic API 密钥
const anthropicApiKey = process.env.ANTHROPIC_API_KEY as string;// 初始化 ActionPlanner 使用 LLM
const planner = new AnthropicPlanner({ apiKey: anthropicApiKey });// 初始化 BrowserAgent 将浏览器、规划器和目标绑定在一起
const agent = new BrowserAgent(browser, planner, goal);// 启动自动导航过程
await agent.start();/*** 目标已在 'browser' 上完成,导航状态保存在 'agent' 中*/

资源

  1. GitHub 仓库:https://github.com/theredsix/cerebellum

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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


http://www.mrgr.cn/news/67275.html

相关文章:

  • string模拟实现插入+删除
  • 搭建Vue3+Vite+Ts脚手架
  • 【蚂蚁SQL面试题】蚂蚁数据研发一面面试题
  • vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
  • Halcon打开多个窗口,指定窗口显示指定内容
  • 三维测量与建模笔记 - 3.1 相机标定基本概念
  • 二进制流文件下载和预览
  • SpringBoot3集成Junit5
  • C++ 多态
  • 写歌词的技巧和方法:以情动人,打造感人歌词,妙笔生词AI智能写歌词软件
  • Jest项目实战(2): 项目开发与测试
  • 详解:字符串常量池
  • Linux入门之vim
  • Git超详细笔记包含IDEA整合操作
  • 狐假虎威,数据流图其实很简单
  • 题目练习之二叉树那些事儿
  • Centos7修改默认yum源(ARM架构)(2024年6月30号后)
  • 防火墙|WAF|漏洞|网络安全
  • 信息学奥赛一本通 1395:烦人的幻灯片(slides)
  • Flutter鸿蒙next 中的 Drawer 导航栏
  • 【360】基于springboot的志愿服务管理系统
  • 粒子群优化双向深度学习!PSO-BiTCN-BiGRU-Attention多输入单输出回归预测
  • 【云岚到家】-day09-2-秒杀抢购
  • 为什么我的软件内存占用这么高?从内存占用过高到C++内存管理方法
  • 【数据结构】插入排序——直接插入排序 和 希尔排序
  • 操作系统——作业、进程调度算法