AG-UI,或称 Agent-User Interaction Protocol,是一个规范 AI Agent 如何连接到前端应用程序的协议。

示例用法

1

安装后端依赖

pip install agno ag-ui-protocol
2

运行后端

现在让我们来运行一个公开 Agno Agent 的 AGUIApp。您可以使用之前的代码!

3

运行前端

您可以使用 Dojo,一个高级且可自定义的选项,作为 AG-UI Agent 的前端。

  1. 克隆项目:git clone https://github.com/ag-ui-protocol/ag-ui.git
  2. 请按照 此处 的说明,了解如何安装所需的依赖项和运行项目。
  3. 请记住使用 pnpm install 安装 /ag-ui/typescript-sdk 中的依赖项,并使用 pnpm run build 构建 /integrations/agno 中的 Agno 包。
  4. 现在您可以运行您的 Dojo 了!它将我们 Agno Agent 列为可用选项之一。
4

与您的 Agno Agent 聊天

完成!如果您将 Dojo 作为前端运行,现在可以在浏览器中访问 http://localhost:3000,并与您的 Agno Agent 聊天。

AG-UI Dojo 截图

您可以在我们的 AG-UI 集成示例 部分查看更多示例。

核心组件

  • AGUIApp: 将 Agno Agent/Teams 封装到 FastAPI 应用中。
  • serve: 使用 Uvicorn 启动 FastAPI AG-UI 应用。

AGUIApp 使用辅助函数进行路由。

AGUIApp

Agno AG-UI 应用的主入口。

初始化参数

参数类型默认值描述
agentOptional[Agent]NoneAgno Agent 实例。
teamOptional[Team]NoneAgno Team 实例。
settingsOptional[APIAppSettings]NoneAPI 配置。如果为 None 则使用默认值。
api_appOptional[FastAPI]None现有的 FastAPI 应用。如果为 None 则创建新的。
routerOptional[APIRouter]None现有的 APIRouter。如果为 None 则创建新的。
app_idOptional[str]None应用标识符(如果未设置则自动生成)。
nameOptional[str]None应用名称。
descriptionOptional[str]None应用描述。

请提供 agentteam,但不要同时提供两者。

主要方法

方法参数返回类型描述
get_appuse_async: bool = TrueFastAPI返回配置好的 FastAPI 应用(默认为异步)。设置前缀、错误处理程序、CORS、文档。

终端节点

终端节点位于指定的 prefix(默认为 /v1)下。

1. POST /agui

这是与您的 Agno Agent 或 Team 交互的主要入口点。

它期望一个 RunAgentInput 对象(来自 ag-ui-protocol 包),该对象由协议定义。您可以在其文档中了解更多信息。

启动应用 (serve)

使用 Uvicorn 启动 FastAPI 应用。

参数

参数类型默认值描述
appUnion[str, FastAPI]N/AFastAPI 应用实例或导入字符串(必需)。
hoststr"localhost"绑定的主机。
portint7777绑定的端口。
reloadboolFalse为开发启用自动重新加载。

您可以在我们的 AG-UI 集成示例 部分查看一些使用示例。

您还可以查看 CopilotKit 文档 关于使用 Agno 的内容,以了解更多关于如何构建 UI 端的信息。