通过


使用 AG-UI Dojo 进行测试

AG-UI Dojo 应用程序提供了一个交互式环境,用于测试和探索实现 AG-UI 协议的 Microsoft Agent Framework 代理。 Dojo 提供了一个可视界面,用于连接到代理并与所有 7 个 AG-UI 功能进行交互。

先决条件

在开始之前,请确保具备:

  • Python 3.10 或更高版本
  • uv 用于依赖项管理
  • OpenAI API 密钥或 Azure OpenAI 终结点
  • Node.js 和 pnpm (用于运行 Dojo 前端)

Installation

1.克隆 AG-UI 存储库

首先,克隆包含 Dojo 应用程序和 Microsoft Agent Framework 集成示例的 AG-UI 存储库:

git clone https://github.com/ag-oss/ag-ui.git
cd ag-ui

2.导航到示例目录

cd integrations/microsoft-agent-framework/python/examples

3.安装 Python 依赖项

使用 uv 来安装所需的依赖项。

uv sync

4. 配置环境变量

.env从提供的模板创建文件:

cp .env.example .env

请编辑.env文件并添加您的API认证信息。

# For OpenAI
OPENAI_API_KEY=your_api_key_here
OPENAI_CHAT_MODEL_ID="gpt-4.1"

# Or for Azure OpenAI
AZURE_OPENAI_ENDPOINT=your_endpoint_here
AZURE_OPENAI_API_KEY=your_api_key_here
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=your_deployment_here

注释

如果使用DefaultAzureCredential代替api_key进行身份验证,请确保您已通过 Azure(例如,通过az login)进行认证。 有关详细信息,请参阅 Azure 标识文档

运行 Dojo 应用程序

1.启动后端服务器

在示例目录中,使用示例代理启动后端服务器:

cd integrations/microsoft-agent-framework/python/examples
uv run dev

默认情况下,服务器将启动 http://localhost:8888

2. 启动 Dojo 前端

打开新的终端窗口,导航到 AG-UI 存储库的根目录,然后导航到 Dojo 应用程序目录:

cd apps/dojo
pnpm install
pnpm dev

Dojo 前端将在 http://localhost:3000.

3.连接到代理

  1. 在浏览器中打开http://localhost:3000

  2. 将服务器 URL 配置为 http://localhost:8888

  3. 从下拉列表中选择“Microsoft代理框架(Python)

  4. 开始探索示例代理

可用示例代理

集成示例通过不同的代理终结点演示所有 7 个 AG-UI 功能:

端点 功能 / 特点 Description
/agentic_chat 功能 1:代理聊天 使用工具调用的基本聊天代理
/backend_tool_rendering 功能 2:后台工具渲染 使用自定义工具 UI 呈现的代理
/human_in_the_loop 功能 3:人类参与 具有审批工作流的代理
/agentic_generative_ui 功能 4:自主生成 UI 将任务分解为步骤并提供流式更新的代理
/tool_based_generative_ui 功能 5:基于工具的生成 UI 生成自定义 UI 组件的代理
/shared_state 功能 6:共享状态 具有双向状态同步的代理
/predictive_state_updates 功能 7:预测状态更新 工具执行期间具有预测状态更新的代理

测试自己的代理

若要使用 Dojo 测试自己的代理,请执行以下操作:

1.创建代理

按照 入门 指南创建新的代理:

from agent_framework import Agent
from agent_framework_azure_ai import AzureOpenAIChatClient

# Create your agent
chat_client = AzureOpenAIChatClient(
    endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    deployment_name=os.getenv("AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"),
)

agent = Agent(
    name="my_test_agent",
    chat_client=chat_client,
    system_message="You are a helpful assistant.",
)

2.将代理添加到服务器

在 FastAPI 应用程序中,注册代理终结点:

from fastapi import FastAPI
from agent_framework_ag_ui import add_agent_framework_fastapi_endpoint
import uvicorn

app = FastAPI()

# Register your agent
add_agent_framework_fastapi_endpoint(
    app=app,
    path="/my_agent",
    agent=agent,
)

if __name__ == "__main__":
    uvicorn.run(app, host="127.0.0.1", port=8888)

3. 在 Dojo 中进行测试

  1. 启动服务器
  2. 打开 Dojo 在 http://localhost:3000
  3. 将服务器 URL 设置为 http://localhost:8888
  4. 代理将在终结点下拉列表中显示为“my_agent”
  5. 选择它并开始测试

项目结构

AG-UI 存储库的集成示例遵循以下结构:

integrations/microsoft-agent-framework/python/examples/
├── agents/
│   ├── agentic_chat/                  # Feature 1: Basic chat agent
│   ├── backend_tool_rendering/        # Feature 2: Backend tool rendering
│   ├── human_in_the_loop/             # Feature 3: Human-in-the-loop
│   ├── agentic_generative_ui/         # Feature 4: Streaming state updates
│   ├── tool_based_generative_ui/      # Feature 5: Custom UI components
│   ├── shared_state/                  # Feature 6: Bidirectional state sync
│   ├── predictive_state_updates/      # Feature 7: Predictive state updates
│   └── dojo.py                        # FastAPI application setup
├── pyproject.toml                     # Dependencies and scripts
├── .env.example                       # Environment variable template
└── README.md                          # Integration examples documentation

Troubleshooting

服务器连接问题

如果 Dojo 无法连接到你的服务器:

  • 验证服务器是否在正确的端口上运行(默认值:8888)
  • 检查 Dojo 中的服务器 URL 是否与服务器地址匹配
  • 确保没有防火墙阻止连接
  • 在浏览器控制台中查找 CORS 错误

代理未显示

如果代理未显示在 Dojo 下拉列表中:

  • 验证代理终结点是否已正确注册
  • 检查服务器日志中是否存在任何启动错误
  • 确保add_agent_framework_fastapi_endpoint呼叫已成功完成

环境变量问题

如果看到身份验证错误:

  • .env验证文件是否位于正确的目录中
  • 检查是否已设置所有必需的环境变量
  • 确保 API 密钥和终结点有效
  • 更改环境变量后重启服务器

后续步骤

其他资源

即将推出。