Project Icon

OpenAdapt

具有大型多模态模型 (LMM) 的 AI 优先流程自动化

OpenAdapt项目利用大型多模态模型(LMMs)实现与桌面和网页图形用户界面的无缝集成。这个开源Python库通过录制和分析用户操作,自动生成任务提示并执行任务回放,减少重复性工作,提高效率。项目特点包括模型无关性、自动提示生成和广泛的系统兼容性,支持所有类型的GUI,包括虚拟化和网页。项目遵守MIT开源许可证。了解更多关于安装、使用和贡献的信息,并加入开发者社区优化流程自动化技术。

加入我们的 Discord

阅读我们的架构文档

参与讨论请求评论

另请参见:

OpenAdapt:基于大型多模态模型(LMMs)的AI优先流程自动化。

OpenAdapt 是大型多模态模型(LMMs)与传统桌面和网络图形用户界面(GUIs)之间的开源软件适配器

大量的精神劳动浪费在重复的GUI流程上。

基础模型(例如 GPT-4ACT-1)是强大的自动化工具。

OpenAdapt 将基础模型连接到GUIs:

image image

早期演示(即将推出更多!):

欢迎来到OpenAdapt!这个Python库通过大型多模态模型(LMMs)的力量实施AI优先流程自动化,其功能包括:

  • 录制截图和相关用户输入
  • 聚合和可视化用户输入和录音以便开发
  • 将截图和用户输入转换为标记格式
  • 通过变换模型完成生成合成输入
  • 通过分析录音生成任务树(进行中)
  • 重播合成输入完成任务(进行中)

目标类似于机器人流程自动化,只是我们使用大型多模态模型而不是传统的RPA工具。

方向与Adept.ai相近,有一些关键区别:

  1. OpenAdapt是模型无关的。
  2. OpenAdapt通过从人类演示中学习(自动提示,不是用户提示)自动生成提示。这意味着代理基于现有流程,从而减少虚假想象并确保任务成功完成。
  3. OpenAdapt适用于所有类型的桌面GUIs,包括虚拟化(例如Citrix)和网络。
  4. OpenAdapt是开源的(MIT许可证)。

安装


安装方法推荐给易用性
脚本安装非技术用户简化安装过程,适合不熟悉安装步骤的用户
手动安装技术用户允许在安装过程中进行更多控制和自定义

安装脚本

Windows

  • 按下Windows键,输入“powershell”,然后按Enter
  • 将以下命令复制并粘贴到终端,然后按Enter(如果提示“用户账户控制”,点击“是”):
     Start-Process powershell -Verb RunAs -ArgumentList '-NoExit', '-ExecutionPolicy', 'Bypass', '-Command', "iwr -UseBasicParsing -Uri 'https://raw.githubusercontent.com/OpenAdaptAI/OpenAdapt/main/install/install_openadapt.ps1' | Invoke-Expression"
    

MacOS

  • 下载并安装Git和Python 3.10
  • 按下Command+Space,输入“terminal”,然后按Enter
  • 将以下命令复制并粘贴到终端,然后按Enter:
     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/OpenAdaptAI/OpenAdapt/HEAD/install/install_openadapt.sh)"
    

手动安装

前提条件:

  • Python 3.10
  • Git
  • Tesseract(用于OCR)
  • nvm(Node版本管理器)

要设置上述任何/所有依赖项,请按照SETUP.md中的步骤进行。

  • 视频录制硬件加速 (需要帮助)
  • 音频旁白 (需要帮助)
  • Chrome 扩展 (需要帮助)
  • Gemini 视觉 (需要帮助)

回放问题陈述

我们的目标是自动化在 Recording 中描述和演示的任务。 也就是说,给定一个新的 Screenshot,我们希望根据之前记录的 ActionEvent 生成适当的 ActionEvent(s),以完成在 Recording.task_description 中指定并由用户在 AudioInfo.words_with_timestamps 叙述的任务,同时考虑屏幕分辨率、窗口大小、应用程序行为等差异。

如果不清楚给定 Screenshot 的适当 ActionEvent 是什么,(例如,如果 GUI 应用程序的行为我们以前没见过),我们可以请用户暂时接管,演示适当的操作步骤。

数据模型

数据模型由以下实体组成:

  1. Recording:包含有关屏幕尺寸、平台和其他元数据的信息。
  2. ActionEvent:表示用户操作事件,例如鼠标单击或按键。每个 ActionEvent 都有一个相关的在事件发生前拍摄的 ScreenshotActionEvent 被聚合以删除不必要的事件(参见 visualize。)
  3. Screenshot:包含录制期间拍摄的截图的 PNG 数据。
  4. WindowEvent:表示窗口事件,例如窗口标题、位置或大小的变化。

API

你可以假设你有以下函数的访问权限:

  • create_recording("做税务"):创建一个录音。
  • get_latest_recording():获取最新的录音。
  • get_events(recording):返回给定录音的 ActionEvent 对象列表。

请参阅 GitBook 文档 了解更多信息。

说明

加入我们 Discord。然后:

  1. Fork 此存储库并将其克隆到本地计算机。
  2. 按照 Setup 下的说明来启动和运行 OpenAdapt。
  3. 浏览 https://github.com/OpenAdaptAI/OpenAdapt/issues 上的开放问题列表,一旦找到你想要解决的一个问题,请发表评论表明你的兴趣。
  4. 实现你选择的问题的解决方案。为你的实现编写单元测试。
  5. 向该存储库提交一个 Pull Request (PR)。注意:在你的实现完成之前提交 PR(例如,高级文档和/或实现存根)是受鼓励的,因为它为我们提供了 提供早期反馈和迭代该方法的机会。

评估标准

你的提交将根据以下标准进行评估:

  1. 功能 :你的实现应正确生成新的 ActionEvent 对象,这些对象可以回放以完成原始录音中的任务。

  2. 代码质量 :你的代码应该结构良好,简洁且易于理解。

  3. 可扩展性 :你的解决方案应高效并且在大型数据集上具有良好的可扩展性。

  4. 测试 :你的测试应涵盖各种边缘情况和场景,以确保实现的正确性。

提交

  1. 将你的更改提交到你的 forked 存储库。

  2. 创建一个 pull request,将你的更改提交到原始存储库。

  3. 在你的 pull request 中,包括你的方法简要概述、你做出的任何假设以及你如何集成外部库。

  4. 奖励:鼓励与 ChatGPT 和/或其他语言转换模型进行交互以生成代码和/或评估设计决策。如果你选择这样做,请包括完整的对话记录。

故障排除

MacOS: 如果你遇到系统警报消息或在进行和回放录音时发现问题,请确保 相应设置权限

MacOS 系统报警

概而言之(来自 https://stackoverflow.com/a/69673312 ):

  1. 设置 -> 安全性与隐私
  2. 点击隐私标签
  3. 滚动并点击辅助行
  4. 点击 +
  5. 导航到 /System/Applications/Utilities/(或终端应用所在的位置)
  6. 点击确定。

开发

生成迁移(编辑模型后)

openadapt 目录(包含 alembic.ini)中:

alembic revision --autogenerate -m "<消息>"

提交前钩子

为了确保代码质量和一致性,OpenAdapt 使用提交前钩子。这些钩子将在每次提交之前自动执行,以对你的代码库进行各种检查和验证。

OpenAdapt 使用以下提交前钩子:

  • check-yaml:验证 YAML 文件的语法和结构。
  • end-of-file-fixer:确保文件以换行符结尾。
  • trailing-whitespace:检测并删除行末的尾随空格。
  • black:格式化 Python 代码以符合 Black 代码风格。特别是,使用了 --preview 功能。
  • isort:以一致和标准化的方式排序 Python 导入语句。

要设置提交前钩子,请按照以下步骤操作:

  1. 导航到你的 OpenAdapt 存储库的根目录。

  2. 运行以下命令以安装钩子:

pre-commit install

现在,提交前钩子已安装,并将在每次提交之前自动运行。它们将实施代码质量标准,并防止提交不符合定义检查的代码。

状态检查

当你提交 PR 时,将触发 "Python CI" 工作流程以确保代码一致性。它按照有序步骤审核你的代码:

  1. Python Black 检查 :此步骤使用 Python Black 样式验证代码格式,带有 --preview 标志以适应样式。

  2. Flake8 检查 :接下来,Flake8 工具会彻底检查代码结构,包括 flake8-annotations 和 flake8-docstrings。尽管 GitHub Actions 自动化了检查,但建议在最终确定更改之前在本地运行 flake8 .,以便更快地发现和解决问题。

提交问题

请提交任何问题到 https://github.com/OpenAdaptAI/OpenAdapt/issues,并包括以下信息:

  • 问题描述(请包括任何相关的控制台输出和/或截图)
  • 重现步骤(请帮助别人帮助你!)
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号