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

【skyvern 部署】自动化

【skyvern 部署】自动化

在数字化时代,数据已成为企业决策和创新的核心资源。然而,从互联网上获取这些数据并非易事,尤其是当涉及到复杂网站和动态内容时。传统的爬虫工具往往难以应对网站的反爬机制和复杂的交互逻辑。幸运的是,随着人工智能技术的发展,Skyvern应运而生,它是一款革命性的浏览器自动化工具,能够轻松实现爬虫、自动化和浏览器自动化任务。本文将带你快速上手Skyvern,让你的一句话指令就能让AI帮你完成复杂的自动化任务。

skyvern介绍

Skyvern 是一款利用大语言模型(LLM)和计算机视觉技术来自动化浏览器工作流程的工具。它通过提供一个简单的API端点,能够替代那些脆弱或不可靠的自动化解决方案,从而高效地自动化大量网站上的手动操作。

主要特点

  • 无需预定义代码:Skyvern能够在从未见过的网站上操作,自动将视觉元素映射到完成工作流程所需的动作,无需任何定制代码。
  • 抗布局变化能力:由于Skyvern不依赖预定义的XPath或其他选择器,因此网站布局变化不会影响其操作。
  • 大规模工作流程应用:Skyvern能够将一个工作流程应用到大量网站,具有灵活的推理能力。
  • 复杂情境处理能力:通过LLM,Skyvern能够理解并处理复杂的交互情形。

部署(重点介绍源码部署)

源码部署

1、安装 Python 3.11,如有python 3.11版本(官方指定3.11版本)可跳过
我使用的pyenv来管理环境,也可使用其他方法安装python

# macos中pyenv安装命令,其余系统自行查找

brew install pyenv  

配置环境变量

# 配置环境变量
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

pyenv install 3.11.9  
pyenv global 3.11.9

2、安装poetry
Poetry 是 Python 中用于依赖项管理和打包的一个工具。
其他安装方式参考官方文档:https://python-poetry.org/docs

# macos中poetry安装命令,其余系统自行查找
brew install poetry
# 如果使用的pyenv可以指定poetry使用当前pyenv的py版本
poetry env use $(pyenv which python)

3、安装PostgreSQL 14

# macos中安装命令,其余系统自行查找
brew install postgresql

4、安装node
使用的nvm来管理node环境,也可使用其他方法安装node

# macos中安装命令,其余系统自行查找
brew install nvm  
# 安装最新node,并设置为系统默认
nvm install node
nvm alias default node

5、克隆源码

git clone https://github.com/Skyvern-AI/skyvern.git

6、依赖安装

cd skyvern  # 项目根目录执行下面的命令 
./setup.sh

7、修改配置

  • 后端配置

    根据你使用的LLM修改.env文件即可(将需要使用的模型供应商ENABLE_改为true,填写相应的密钥_API_KEY,修改使用的模型LLM_KEY)
    项目使用的是litellm用于发起请求,若有其他的支持视觉的LLM可以自己参考litellm,然后修改项目源码新增。
    我主要新增openai的 api_base这个参数,若有和我一样将openai接口国内做的转发可以参考以下步骤。

  • 修改skyvern/config.py

    • 在Settings类中新增类变量OPENAI_API_BASE

      OPENAI_API_BASE: str | None = None
      
  • 运行 修改skyvern/forge/sdk/api/llm/config_registry.py

    • 在你需要修改的模型中新增litellm_params参数(我使用的gpt4o,其余模型修改方法类似)

      LLMConfigRegistry.register_config(
          "OPENAI_GPT4O", LLMConfig(
              "gpt-4o",
              ["OPENAI_API_KEY", "OPENAI_API_BASE"],  # 检查 .env中参数是否填写
              supports_vision=True,
              add_assistant_prefix=False,
              litellm_params=LiteLLMParams(
                  api_base=SettingsManager.get_settings().OPENAI_API_BASE,
                  api_key=None,
                  api_version=None,
              ),
          )
      )
      
  • 修改.env

    • 新增OPENAI_API_BASE
OPENAI_API_BASE="https://xx.cn/v1"
  • 前端配置

主要查看skyvern-frontend/.env中VITE_SKYVERN_API_KEY是否为空,若为空运行以下代码得到token填写即可。(若代码运行出现 403 则运行以下代码得到token修改即可)

poetry shell  # 进入poetry管理的项目环境
poetry run python scripts/create_organization.py Skyvern-Open-Source
docker快速部署

确保您已安装并运行Docker Desktop。
克隆库并导航到根目录。
填写Docker Compose文件中的LLM密钥。
运行命令启动Skyvern:

docker compose up -d

在浏览器中访问http://localhost:8080开始使用。

运行(基于源码)

后端
shell脚本运行

./run_skyvern.sh

或者直接运行/调试 代码 skyvern/forge/main.py

前端

./run_ui.sh  

Skyvern 通过结合大语言模型(LLM)和计算机视觉技术,提供了一种高效、灵活的浏览器自动化工具。其无需预定义代码,抗布局变化能力强,能够在大量网站上应用工作流程并处理复杂情境。Skyvern不仅简化了自动化流程的实现,还通过详细记录和呈现每一步骤的执行情况,为用户提供了透明和可控的自动化解决方案。不论是源码部署还是使用Docker快速部署,用户都能便捷地将Skyvern集成至自己的项目中,并且通过完善的接口和配置选项,轻松定制和扩展其功能。

注意:目前大模型使用的是OpenAI的接口,其中执行一条任务都需要OpenAI大量的token,太费钱了,相信不久将来可以快速指令式自动化办公了


http://www.kler.cn/a/381277.html

相关文章:

  • C++《list的模拟实现》
  • HOT100_最大子数组和
  • AI开发-三方库-torch-torchvision
  • HTML 基础概念:什么是 HTML ? HTML 的构成 与 HTML 基本文档结构
  • Android App 技能在DuerOS的调试方法
  • 优选算法精品——双指针
  • VLAN 高级技术 ——QinQ的配置
  • 深度解析阿里的Sentinel
  • Flutter下拉刷新上拉加载的简单实现方式一
  • 重学Android:从位运算到二进制表示(零)
  • QT pro项目工程的条件编译
  • vue--vueCLI
  • 企业CRM管理系统PHP源码/PHP客户关系CRM客户管理系统源码
  • 【Python】计算机视觉应用:OpenCV库图像处理入门
  • Python Pandas内存管理技巧助力高效处理大数据
  • 针对告警数量、告警位置、告警类型等参数进行统计,并做可视化处理的智慧能源开源了
  • 微服务架构面试内容整理-Ribbon
  • 通过Flink读写云原生数据仓库AnalyticDB PostgreSQL版(ADB PG)数据
  • LWIP通信协议UDP发送、接收源码解析
  • 使用JdbcTemplate 进行数据库的增、删、改、查
  • ServletContext 对象介绍
  • Redis持久化机制——针对实习面试
  • 力扣11.4
  • 微信小程序 基于协同过滤算法的的校园音乐推荐系统
  • 大客户营销数字销售实战讲师培训讲师唐兴通专家人工智能大模型销售客户开发AI大数据挑战式销售顾问式销售专业销售向高层销售业绩增长创新
  • 低代码解锁跨平台应用开发新境界