跳到主要内容

AutoGen Studio - 入门指南

PyPI version Downloads

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 目录,安装依赖并构建UI:

      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 UI:

autogenstudio ui --port 8081

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

AutoGen Studio 也接受几个参数来定制应用程序:

  • --host 参数用于指定主机地址。默认情况下,它设置为 localhost
  • --appdir 参数用于指定存储应用文件(例如,数据库和生成的用户文件)的目录。默认情况下,它设置为用户主目录中的 .autogenstudio 目录。
  • --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的两个代理工作流程),修改其配置(例如技能、温度、模型、代理系统消息、模型等),并将它们组合成工作流程。
  • 与代理工作流进行聊天并指定任务。
  • 在UI中查看来自代理运行的代理消息和输出文件。
  • 支持更复杂的代理工作流程(例如 GroupChatSequential 工作流)。
  • 改善用户体验(例如,流式传输中间模型输出,更好地总结代理响应等)。

查看项目路线图和问题 这里

项目结构:

  • autogenstudio/ 后端类和Web API的代码(FastAPI)
  • frontend/ 用于webui的代码,使用Gatsby和TailwindCSS构建

贡献指南

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

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

关于安全的说明

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

然而,其他考虑因素,如与越狱相关的严格测试,确保LLM仅根据最终用户的权限访问正确的数据密钥,以及其他安全功能,在AutoGen Studio中并未实现。

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

致谢

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