Cerebellum:浏览器 AI 助手,基于 Claude 3.5 Sonnet 和 Selenium WebDriver 执行网页自动化任务
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- Cerebellum 是基于 Claude 3.5 Sonnet 和 Selenium WebDriver 构建的浏览器 AI 助手。
- 支持网页自动化任务,如数据抓取和网站自动化测试。
- 将网页浏览简化为有向图导航,用 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
-
设置你的 Anthropic API 密钥并添加
ANTHROPIC_API_KEY
环境变量。 -
安装 Cerebellum 和 Selenium 从 npm:
npm i cerebellum-ai selenium-webdriver
- 设置 Selenium WebDriver 以支持你想要自动化的浏览器。
- MacOS:
- Chrome:
brew install chromedriver
- Firefox:
brew install geckodriver
- Chrome:
- Linux/Windows:
- 请参考 Selenium 包的说明:https://www.npmjs.com/package/selenium-webdriver
- 创建一个 Selenium WebDriver 实例以在代码中使用。
import { Builder, Browser } from "selenium-webdriver";const browser = await new Builder().forBrowser(Browser.CHROME).build();
- 使用 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' 中*/
资源
- GitHub 仓库:https://github.com/theredsix/cerebellum
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦