AI个人学习
和实操指南

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流

综合介绍

Skyvern 是一个利用大语言模型(LLM)和计算机视觉技术来自动化浏览器工作流的工具。它通过提供一个简单的API端点,能够替代那些脆弱或不可靠的自动化解决方案,从而高效地自动化大量网站上的手动操作。Skyvern 可以在从未见过的网站上操作,自动将视觉元素映射到完成工作流程所需的动作,无需任何定制代码。

Skyvern有点像包含视觉能力的BabyAGI 和 AutoGPT。由多Agent完全自动化的根据任务目标思考执行过程并采取相应行动。


Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-1

Skyvern 在线体验:https://www.skyvern.com/

 

Skyvern 功能列表

  • 自动化浏览器工作流:通过LLM和计算机视觉技术,自动化处理浏览器中的各种任务。
  • API端点:提供简单的API接口,方便集成和调用。
  • 无需定制代码:无需为每个网站编写定制脚本,适应性强。
  • 抗网页布局变化:不依赖于固定的XPath或选择器,能够应对网页布局的变化。
  • 大规模应用:能够将单一工作流应用于多个网站。
  • 智能交互:利用LLM进行推理,处理复杂的交互场景。

 

使用帮助

安装流程

  1. 环境准备
    • 确保已安装 Python 3.11 及以上版本。
    • 安装 Poetry 依赖管理工具。
    • 安装 PostgreSQL 数据库。
    • 安装 Node.js 环境。
    • 支持Docker一键部署
  2. 克隆源码
    git clone https://github.com/skyvern-ai/skyvern.git
    cd skyvern
    
  3. 安装依赖
    ./setup.sh
    
  4. 配置环境变量
    • 修改 .env 文件,填写所需的API密钥和配置参数。
  5. 启动服务
    docker-compose up -d
    

可视化任务

如何理解 Skyvern 显示的信息

结果可视化

Skyvern 配有一个可视化工具,帮助您了解任务的执行情况。首先,导航到任务历史页面并点击任意任务查看。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-1

 

操作

Skyvern 执行的每个操作都可以在操作查看器中查看,并且在操作执行后会附带屏幕状态的截图。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-2

 

录制

每个 Skyvern 任务都包含整个操作过程(端到端)的录制。要查看录制内容,点击录制选项卡。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-3

 

任务参数

任务参数是您提供给 Skyvern 的输入信息,其中包括 URL、提取规则以及任何其他相关信息。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-4

 

诊断日志

诊断选项卡包含 Skyvern 用于处理的信息,包括带注释的截图、操作截图、元素树、提示、操作列表、页面 HTML 以及原始大语言模型(LLM)请求。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-5

 

工作流

工作流 — 将多个任务链接在一起

工作流表示将多个数据块链接在一起。想象一下连续调用多个任务、执行条件逻辑、将数据提取到 CSV 等。所有这些想法都将在我们的工作流程功能中得到支持。

我们所有的工作流都以 YAML 格式定义,但新版提供了图形化界面,允许将多个组件链接在一起以生成一些定义的输出。

Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流-1

 

支持的模块

  1. TaskBlock: The magic block. Skyvern navigates through the websites to take actions and/or extract information.
  2. ForLoopBlock
  3. CodeBlock
  4. TextPromptBlock
  5. DownloadToS3Block
  6. UploadToS3Block
  7. SendEmailBlock
  8. FileParserBlock

 

任务块输入项

  1. URL (通常必填): Skyvern Agent 的起始点,理想情况下是您希望自动化的目标网站。
    • 在工作流程界面中,如果此输入留空,将会从前一个节点停止的地方继续。导航目标的目的是设置或重置代理的起始点。
    • 如果您在第一个任务块中登录了某个站点,您可能希望在第二个块中留空 URL,以便在登录后继续执行
  2. 导航目标 (通常必填): 详细说明 Skyvern 的导航位置和执行的操作。明确的导航目标应该是一个单一目标,并分解为步骤。避免提供多个目标。您需要使用“COMPLETE”指定目标完成,或使用“TERMINATE”放弃目标
    • 导航目标不用于加载 URL。在此字段中要求 Skyvern “访问网站 A”将不会达到预期效果
    • 终止操作将导致 Skyvern 解释为何停止导航
    • 如果您仅希望 Skyvern 提取数据而不导航到其他位置,则可以省略此字段
  3. 数据提取目标 (可选): 除了 Skyvern 的导航位置和操作之外,是否有任何 Skyvern 提取并返回的数据?良好的数据提取目标应明确 Skyvern 返回给用户的数据内容
    • 请注意,数据提取仅在 Skyvern 完成导航后进行
  4. 提取信息模式 (可选): 如果您有数据提取目标,某些用户可能需要数据以特定格式进行内部用途。导航负载接受 JSON 格式的规范,用于数据返回的格式化
  5. 最大步骤数覆盖 (可选): 某些用户希望通过任务的步骤数限制成本
  6. 最大重试次数 (可选): 在某步骤失败时允许的重试次数
  7. 下载完成即完成 (可选): 允许 Skyvern 在文件下载后完成任务
  8. 文件后缀 (可选): 附加在下载文件上的标识符
  9. TOTP URL 和 TOTP 标识符 (可选): 如果您有内部系统可以存储 2FA 的 TOTP 代码,此 URL 调用该存储空间。标识符使代码与任务关联起来,这在您同时运行多个任务时非常重要。如果您希望在工作流中设置 2FA 获取功能, 请联系我们
  10. 参数 (可选): 参数是指定运行的自定义占位符。它们可以是工作流参数,通过 API 调用传入,或从上一个任务块中提取的输出参数。如果指定,这些参数将被 Skyvern 用来辅助导航、填写表单或进一步影响网站上的操作。

 

 

 

任务API使用流程(示例)

Tasks API 完整文档地址

  1. 创建任务
    • 通过API端点创建任务,指定目标URL和操作目标。
    • 示例请求:
      {
      "url": "https://example.com",
      "navigation_goal": "填写表单并提交",
      "data_extraction_goal": "提取提交后的确认信息"
      }
  2. 监控任务
    • 使用Skyvern提供的实时监控功能,查看任务执行情况。
    • 通过浏览器访问 http://localhost:8080 查看实时操作。
  3. 数据提取
    • 指定数据提取模式和格式,Skyvern会自动提取并返回数据。
    • 示例请求:
      {
      "url": "https://example.com/data",
      "data_extraction_schema": {
      "name": "string",
      "email": "string",
      "phone": "string"
      }
      }
  4. 文件下载
    • 指定文件下载目标,Skyvern会自动下载文件并提供下载链接。
    • 示例请求:
      {
      "url": "https://example.com/files",
      "file_download_goal": "下载所有PDF文件"
      }

 

常见问题

  • 如何处理身份验证? Skyvern 支持多种身份验证方式,包括密码管理器集成和多因素认证(2FA)。在创建任务时,可以通过 navigation_payload 提供身份验证信息。
  • 如何处理复杂的多步骤工作流? Skyvern 支持将多个任务串联成工作流,通过API端点依次执行各个任务,完成复杂的操作流程。
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » Skyvern:使用LLM和计算机视觉自动化基于浏览器工作流

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文