Skip to main content

AutoGen Studio - 入门指南

PyPI版�本 下载量

ARA

AutoGen Studio是一个低代码界面,旨在帮助您快速原型化AI代理,增强其技能,将它们组合成工作流,并与它们进行交互以完成任务。它构建在AutoGen框架之上,该框架是一个用于构建AI代理的工具包。

AutoGen Studio的代码位于GitHub上的microsoft/autogen

注意:AutoGen Studio旨在帮助您快速原型化多代理工作流,并演示使用AutoGen构建的示例最终用户界面。它不适用于生产就绪的应用程序。开发人员被鼓励使用AutoGen框架构建自己的应用程序,实现身份验证、安全性和其他部署应用程序所需的功能。

更新

  • 4月17日:AutoGen Studio数据库层现已重写为使用SQLModel(Pydantic + SQLAlchemy)。这提供了实体链接(通过关联表链接技能、模型、代理和工作流)并支持SQLAlchemy中支持的多个数据库后端方言(SQLite、PostgreSQL、MySQL、Oracle、Microsoft SQL Server)。在运行应用程序时,可以使用--database-uri参数指定后端数据库。例如,对于SQLite,可以使用autogenstudio ui --database-uri sqlite:///database.sqlite,对于PostgreSQL,可以使用autogenstudio ui --database-uri postgresql+psycopg://user:password@localhost/dbname

  • 3月12日:AutoGen Studio的默认目录现在是/home//.autogenstudio。您还可以在运行应用程序时使用--appdir参数指定此目录。例如,autogenstudio ui --appdir /path/to/folder。这将在指定的目录中存储数据库和其他文件,例如/path/to/folder/database.sqlite。该目录中的.env文件将用于设置应用程序的环境变量。

安装

有两种安装AutoGen Studio的方法-从PyPi安装或从源代码安装。我们建议从PyPi安装,除非您计划修改源代码。

  1. 从PyPi安装

    我们建议使用虚拟环境(例如conda)以避免与现有Python包的冲突。在您的虚拟环境中激活Python 3.10或更新版本后,使用pip安装AutoGen Studio:

    pip install autogenstudio
  2. 从源代码安装

    注意:这种方法需要对在React中构建界面有一定的了解。

    如果您希望从源代码安装,请确保已安装Python 3.10+和Node.js(版本大于14.15.0)。以下是您开始的方法:

  • 克隆 AutoGen Studio 仓库并安装其 Python 依赖项:

    pip install -e .
  • 进入 samples/apps/autogen-studio/frontend 目录,安装依赖项并构建用户界面:

    npm install -g gatsby-cli
    npm install --global yarn
    cd frontend
    yarn install
    yarn build

对于 Windows 用户,构建用户界面可能需要使用其他命令。


gatsby clean && rmdir /s /q ..\\autogenstudio\\web\\ui 2>nul & (set \"PREFIX_PATH_VALUE=\" || ver>nul) && gatsby build --prefix-paths && xcopy /E /I /Y public ..\\autogenstudio\\web\\ui

运行应用程序

安装完成后,在终端中输入以下命令来运行 Web 用户界面:

autogenstudio ui --port 8081

这将在指定的端口上启动应用程序。打开您的 Web 浏览器并转到 http://localhost:8081/ 开始使用 AutoGen Studio。

AutoGen Studio 还可以使用多个参数来自定义应用程序:

  • --host <host> 参数用于指定主机地址。默认为 localhost
  • --appdir <appdir> 参数用于指定存储应用程序文件(例如数据库和生成的用户文件)的目录。默认为用户主目录中的 .autogenstudio 目录。
  • --port <port> 参数用于指定端口号。默认为 8080
  • --reload 参数用于在代码更改时启用服务器的自动重新加载。默认为 False
  • --database-uri 参数用于指定数据库 URI。示例值包括 SQLite 的 sqlite:///database.sqlite 和 PostgreSQL 的 postgresql+psycopg://user:password@localhost/dbname。如果未指定此参数,则数据库 URI 默认为 --appdir 目录中的 database.sqlite 文件。

现在您已经安装并运行了 AutoGen Studio,可以开始探索其功能,包括定义和修改代理工作流程、与代理和会话交互以及扩展代理技能。

功能 / 路线图

应用程序前端支持的一些功能包括:

  • 构建/配置代理(当前支持基于 UserProxyAgentAssistantAgent 的两个代理工作流程),修改其配置(例如技能、温度、模型、代理系统消息、模型等)并将它们组合成工作流程。
  • 与代理工作流程聊天并指定任务。
  • 在用户界面中查看代理运行的消息和输出文件。
  • 支持更复杂的代理工作流程(例如 GroupChatSequential 工作流程)。
  • 改进的用户体验(例如流式传输中间模型输出、更好地总结代理响应等)。

请在此处查看项目路线图和问题 here

项目结构:

  • autogenstudio/:后端类和 Web API(FastAPI)的代码
  • frontend/ 是使用 Gatsby 和 TailwindCSS 构建的 WebUI 的前端代码

贡献指南

我们欢迎对 AutoGen Studio 的贡献。我们建议按照以下一般步骤来贡献给项目:

  • 查看整个 AutoGen 项目的贡献指南
  • 请查看 AutoGen Studio 的路线图,了解当前项目的优先事项。特别需要帮助的是带有 help-wanted 标签的 Studio 问题。
  • 请在路线图问题或新问题上发起讨论,以讨论您提出的贡献。
  • 请查看此处的 autogenstudio dev 分支 dev branch 并将其用作贡献的基础。这样,您的贡献将与 AutoGen Studio 项目的最新更改保持一致。
  • 提交一个拉取请求,贡献您的代码!
  • 如果您正在修改 AutoGen Studio,它有自己的 devcontainer。请参阅 .devcontainer/README.md 中的说明以使用它。
  • 请在与 Studio 相关的任何问题、疑问和拉取请求中使用标签 studio

关于安全性的说明

AutoGen Studio 是一个研究原型,不适用于生产环境。我们鼓励采用一些基本的做法,例如为代理使用 Docker 代码执行环境。

然而,其他考虑因素,如与越狱相关的严格测试,确保 LLMs 只能访问用户权限下的正确数据密钥,以及其他安全功能,在 AutoGen Studio 中没有实现。

如果您正在构建生产应用程序,请使用 AutoGen 框架并实现必要的安全功能。

致谢

AutoGen Studio 基于 AutoGen 项目。它是在2023年10月构建的研究原型的改编版本(原始作者:Gagan Bansal、Adam Fourney、Victor Dibia、Piali Choudhury、Saleema Amershi、Ahmed Awadallah、Chi Wang)。