Skyvern:基于LLM和CV的开源RPA

Skyvern 使用 LLM 和计算机视觉来自动化基于浏览器的工作流程。它提供了一个简单的 API 端点,可以完全自动化大量网站上的手动工作流程,从而取代脆弱或不可靠的自动化解决方案。

传统的浏览器自动化方法需要为网站编写自定义脚本,通常依赖于 DOM 解析和基于 XPath 的交互,而这些交互会在网站布局发生变化时中断。

Skyvern 不仅仅依赖代码定义的 XPath 交互,还依赖于提示以及计算机视觉和 LLM 来实时解析视口中的项目,创建交互计划并与它们交互。

这种方法给我们带来了一些优势:

a) Skyvern 可以在它从未见过的网站上运行,因为它能够将视觉元素映射到完成工作流所需的操作,而无需任何自定义代码

b) Skyvern 不受网站布局变化的影响,因为我们的系统在尝试导航时没有预先确定的 XPath 或其他选择器

c) Skyvern 能够采用单一工作流并将其应用于大量网站,因为它能够推理完成工作流所需的交互

d) Skyvern 利用 LLM 推理交互,以确保我们能够涵盖复杂的情况。示例包括:

  • 如果你想从 Geico 获得汽车保险报价,那么一个常见问题的答案是"你是否有资格在 18 岁时开车?"可以从驾驶员在 16 岁时获得驾照的情况推断出来
  • 如果你在进行竞争对手分析,就会明白 7/11 的 Arnold Palmer 22 盎司罐装啤酒几乎肯定与 Gopuff 的 23 盎司罐装啤酒是同一种产品(尽管尺寸略有不同,这可能是舍入误差!)

想看看 Skyvern 的实际应用示例吗?跳转到 real-world-examples-of-skyvern

1、工作原理

Skyvern 的灵感来自 BabyAGIAutoGPT 推广的任务​​驱动自主代理设计------还有一个主要优点:我们让 Skyvern 能够使用 Playwright等浏览器自动化库与网站进行交互。

点击这里查看Skyvern演示视频 。

2、快速入门

本快速入门指南将引导你在本地机器上启动并运行 Skyvern。

2.1 Docker Compose 设置(推荐)

  • 确保你已在计算机上安装并运行 Docker Desktop

  • 确保你没有在本地运行 postgres(运行 docker ps 进行检查)

  • 克隆存储库并导航到根目录

  • docker-compose.yml上填写 LLM 提供程序密钥

  • 通过命令行运行以下命令:

    docker compose up -d

  • 在浏览器中导航到 http://localhost:8080 以开始使用 UI

2.2 完整设置(贡献者)- 先决条件

⚠️⚠️确保您使用的是 PYTHON 3.11⚠️⚠️

开始之前,请确保已安装以下内容:

注意:我们的安装脚本为你完成了这两个操作,但它们在此处仅供参考。

  • Python 3.11poetry env use 3.11
  • PostgreSQL 14 :如果你使用的是 Mac,并且安装了 homebrew,安装脚本将为你安装它。 brew install postgresql

2.3 设置(贡献者)

  • 克隆存储库并导航到根目录

  • 打开 Docker Desktop(适用于 Windows、macOS 和 Linux)或运行 Docker Daemon

  • 运行安装脚本以安装必要的依赖项并设置您的环境:

    ./setup.sh

  • 启动服务器

    ./run_skyvern.sh

  • 你可以开始向服务器发送请求,但我们构建了一个简单的 UI 来帮助你入门。要启动 UI,请运行以下命令:

    ./run_ui.sh

  • 浏览器中导航到 http://localhost:8080 以开始使用 UI

2.4 贡献者的额外设置

如果你希望为 Skyvern 做出贡献,则需要安装预提交挂钩以确保代码质量和一致性。你可以通过运行以下命令来执行此操作:

pre-commit install

3、运行第一个自动化

执行任务(UI)

一旦 UI 运行,你可以通过填写 UI 中显示的字段并单击"执行"来启动自动化

执行任务(cURL)

curl -X POST -H 'Content-Type: application/json' -H 'x-api-key: {Your local API key}' -d '{
    "url": "https://www.geico.com",
    "webhook_callback_url": "",
    "navigation_goal": "Navigate through the website until you generate an auto insurance quote. Do not generate a home insurance quote. If this page contains an auto insurance quote, consider the goal achieved",
    "data_extraction_goal": "Extract all quote information in JSON format including the premium amount, the timeframe for the quote.",
    "navigation_payload": "{Your data here}",
    "proxy_location": "NONE"
}' http://0.0.0.0:8000/api/v1/tasks

3、调试 Skyvern

Skyvern 的可视化工具允许你调试 Skyvern 在网络上进行的每一次交互。点击这里查看演示视频。

4、任务、步骤和操作

你发送给 Skyvern 的每个 API 请求都称为"任务"。每个任务由"步骤"组成,这些步骤是 Skyvern 为完成任务而采取的单独操作。每个步骤由"操作"组成,这些操作是 Skyvern 在特定网站上采取的单独交互。

每次调用 API 时,你都会获得一个 task_id,你可以使用它来在可视化工具中查找任务。在每个任务中,你将能够与每个步骤进行交互,并查看 Skyvern 为完成任务而采取的具体操作。

在下面的屏幕截图中,我们导航到 finditparts.com 并搜索卡车零件。您将看到它采取的每个操作都列在那里,以及每个操作背后的原因。

除了 LLM 以文本形式建议的操作外,Skyvern 的可视化工具还会显示操作时的屏幕状态,并以 1:1 的操作到屏幕截图进行映射。这样你就可以准确地看到 Skyvern 在做出决定时看到的内容,并调试可能出现的任何问题。

5、Skyvern 的真实案例

我们很高兴看到 Skyvern 是如何在实际中被使用的。以下是一些 Skyvern 如何在现实世界中用于自动化工作流程的示例。请打开 PR 以添加您自己的示例!

如果你想尝试这些示例,则需要在本地运行 Skyvern。请在阅读快速入门指南后运行以下命令:

./run_skyvern.sh

在许多不同的网站上下载发票

自动化工作申请流程

Skyvern

制造公司实现物料采购自动化

运行演示:

./run_ui.sh finditparts

访问政府网站注册账户或填写表格

执行演示:

./run_ui.sh california_edd 

以任何语言从保险提供商处获取保险报价

执行演示:

./run_ui.sh bci_seguros

原文链接:Skyvern简明教程 - BimAnt

相关推荐
sinovoip3 小时前
Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计
人工智能·科技·物联网·开源·risc-v
OpenAnolis小助手3 小时前
开源生态发展合作倡议
开源·操作系统·龙蜥社区·龙蜥·openanolis
杭州奥能充电桩4 小时前
移动充储机器人“小奥”的多场景应用(上)
开源·能源
lsjweiyi1 天前
极简AI工具箱网站开源啦!
opencv·开源·微信支付·支付宝支付·百度ai·极简ai工具箱·ai图像处理
开源社1 天前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC1 天前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
海害嗨1 天前
阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!
学习·开源
生命是有光的1 天前
【开源风云】从若依系列脚手架汲取编程之道(八)
开源
HuggingFace1 天前
Halo 正式开源: 使用可穿戴设备进行开源健康追踪
开源·健康追踪
时光追逐者1 天前
.NET 9 中 LINQ 新增功能实操
开发语言·开源·c#·.net·.netcore·linq·微软技术