AutoGen Studio - 入门指南
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安装。
-
从PyPi安装
我们建议使用虚拟环境(例如conda)以避免与现有的Python包冲突。在您的虚拟环境中激活Python 3.10或更新版本后,使用pip安装AutoGen Studio:
pip install autogenstudio
-
从源代码安装
注意:此方法需要对在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,你可以开始探索它的功能,包括定义和修改代理工作流、与代理和会话进行交互,以及扩展代理技能。
功能 / 路线图
应用程序前端支持的一些功能包括以下内容:
- 构建/配置代理(目前支持基于
UserProxyAgent
和AssistantAgent
的两个代理工作流程),修改其配置(例如技能、温度、模型、代理系统消息、模型等),并将它们组合成工作流程。 - 与代理工作流进行聊天并指定任务。
- 在UI中查看来自代理运行的代理消息和输出文件。
- 支持更复杂的代理工作流程(例如
GroupChat
和Sequential
工作流)。 - 改善用户体验(例如,流式传输中间模型输出,更好地总结代理响应等)。
查看项目路线图和问题 这里 。
项目结构:
- 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)。