个人建一个网站多少钱,中咨城建设计南京网站,贵阳专业防水补漏公司,建设沙滩车官方网站目录 skyvern介绍主要特点工作流程 部署#xff08;重点介绍源码部署#xff09;源码部署docker快速部署 运行#xff08;基于源码#xff09;后端前端 快速使用示例总结 skyvern介绍
Skyvern 是一款利用大语言模型#xff08;LLM#xff09;和计算机视觉技术来自动化浏… 目录 skyvern介绍主要特点工作流程 部署重点介绍源码部署源码部署docker快速部署 运行基于源码后端前端 快速使用示例总结 skyvern介绍
Skyvern 是一款利用大语言模型LLM和计算机视觉技术来自动化浏览器工作流程的工具。它通过提供一个简单的API端点能够替代那些脆弱或不可靠的自动化解决方案从而高效地自动化大量网站上的手动操作。
主要特点
无需预定义代码Skyvern能够在从未见过的网站上操作自动将视觉元素映射到完成工作流程所需的动作无需任何定制代码。抗布局变化能力由于Skyvern不依赖预定义的XPath或其他选择器因此网站布局变化不会影响其操作。大规模工作流程应用Skyvern能够将一个工作流程应用到大量网站具有灵活的推理能力。复杂情境处理能力通过LLMSkyvern能够理解并处理复杂的交互情形。
工作流程
Skyvern受任务驱动的自动化代理设计启发例如BabyAGI和AutoGPT并结合使用如Playwright等的浏览器自动化库实现网页交互自动化。 绘制边界框: Skyvern首先在目标网站的页面上绘制各个可交互元素的边界框。 解析HTML并提取图像: 接着Skyvern解析页面的HTML代码并从中提取包含网页内容的图像。 提取可交互元素: 然后Skyvern从图像中识别并提取所有可交互的元素如按钮、输入框等。 调用LLM规划动作: Skyvern调用大语言模型LLM询问下一步应该采取的动作。例如当遇到问题“你的姓名是什么”时LLM会回答需要填写姓名并点击“下一步”按钮。LLM的回应示例 动作1填写姓名为 “XX”。动作2点击“下一步”按钮。 执行动作: Skyvern根据LLM的指示执行具体动作例如填写表单并点击按钮。 重复步骤: Skyvern重复上述步骤继续解析新页面识别可交互元素并调用LLM规划和执行动作直到完成整个工作流程。
部署重点介绍源码部署
源码部署 安装 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安装poetry Poetry 是 Python 中用于依赖项管理和打包的一个工具。 其他安装方式参考官方文档https://python-poetry.org/docs # macos中poetry安装命令其余系统自行查找
brew install poetry# 如果使用的pyenv可以指定poetry使用当前pyenv的py版本
poetry env use $(pyenv which python)安装PostgreSQL 14 # macos中安装命令其余系统自行查找
brew install postgresql安装node 我使用的nvm来管理node环境也可使用其他方法安装node # macos中安装命令其余系统自行查找
brew install nvm # 安装最新node并设置为系统默认
nvm install node
nvm alias default node克隆源码 git clone https://github.com/Skyvern-AI/skyvern.git依赖安装 cd skyvern # 项目根目录执行下面的命令
./setup.sh修改配置 后端配置 根据你使用的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_visionTrue,add_assistant_prefixFalse,litellm_paramsLiteLLMParams(api_baseSettingsManager.get_settings().OPENAI_API_BASE,api_keyNone,api_versionNone,),)
)修改.env 新增OPENAI_API_BASE OPENAI_API_BASEhttps://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-Sourcedocker快速部署
确保您已安装并运行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集成至自己的项目中并且通过完善的接口和配置选项轻松定制和扩展其功能。