快速入门:设置并运行Python代理框架示例代理

在本快速入门中,逐步介绍如何使用 Agent 365 设置工作Python代理框架代理,以便使用 Agents Playground 和 Teams 对代理进行工具、通知、可观测性和测试。

先决条件

  • 如果计划使用Visual Studio Code,则必须安装.NET。 (建议.NET 8.0。

  • 已安装 Python 3.11+

  • 已安装 UV 包管理器 。 在终端中使用 pip install uv 安装它。

  • Microsoft Agents Toolkit/Agent Framework 依赖项

    演练中使用的示例依赖于通过 Microsoft 365 Agents Toolkit 或 ATK 提供的 Agent Framework 库。 在 VS Code 中使用 Agents Toolkit 扩展来搭建示例基架时,将自动安装这些组件,也可以使用以下命令手动安装包:

    uv pip install -e . --prerelease=allow
    
  • 访问 GitHub

  • 现有的 AI 代理项目。 本快速入门使用了 Microsoft 365 代理工具包 中的 Agent 365 示例代理,该工具包在 VS Code 中简称为 ATK。

  • A365 CLI

  • 代理标识身份验证

设置 Microsoft 365 Agents Toolkit 中的代理框架与 Python 示例

若要准备好一切,请在 VS Code 中安装 Microsoft 365 Agents Toolkit,打开示例库,并在本地搭建代理框架 + Python示例,以便稍后对其进行配置和运行。 以下屏幕截图显示在继续时应看到的内容。

  1. 打开 Visual Studio Code, 然后打开 Extensions 面板Ctrl+Shift+X

  2. 在搜索栏中,键入“Agents Toolkit”。
    应会看到以下屏幕截图中显示的结果:

    Extensions Marketplace 搜索 Agents Toolkit 的屏幕截图。

  3. 选择 Microsoft 365 Agents Toolkit

  4. 选择“安装”。

    VS Code 显示类似于以下内容的扩展详细信息视图:

    “扩展详细信息”页的屏幕截图,其中包含“安装和启用”按钮。

  5. 安装后, M365 Agents Toolkit 图标将显示在左侧导航栏中。

  6. 选择它以打开欢迎体验。

    现在应会看到“生成声明性代理”、“创建新代理/应用”和“查看示例”等选项,如下所示:

    工具包欢迎视图的屏幕截图,其中包含生成声明性代理、创建新代理或应用以及查看示例选项。

  7. 选择“ 查看示例”。

  8. 在示例列表中,滚动以查找 Agent 框架 + Python代理示例。

  9. 将其选中。

    你将看到两个选项:Create(基架本地)或 View on GitHub

  10. 选择“创建”。

    Agent Framework Agent 的截图和使用 Python 的 Agent 365 SDK 示例。

  11. 出现提示时,在应生成示例的计算机上选择一个文件夹。 例如:C:\A365-python-sample

    该工具包将代理框架 + Python示例搭建到子文件夹中(如sample_agent),然后在 VS Code 中自动打开它。

    基架完成后,你现在在计算机上拥有一个功能齐全的代理框架 + Python代理项目

  12. 安装必需的 Agent 365 软件包

    在运行示例之前,请打开项目中的pyproject.toml,并确认已列出所有必需的Agent 365和Agent框架依赖项。 Microsoft 365 Agents Toolkit 生成的示例已包含这些条目。

    审核完pyproject.toml后,请执行以下命令安装所有文件:

    uv pip install -e . --prerelease=allow
    

    这会拉取所有代理 365 SDK 库、代理框架依赖项、托管组件以及示例中定义的任何其他依赖项。

  13. 安装后,使用以下命令启动开发服务器,验证项目生成并运行:

    uv run python start_with_generic_host.py
    

添加Microsoft 365工具(MCP 服务器)

可以使用 CLI 中的 a365 开发命令浏览和管理 MCP 服务器

使用 MCP 服务器时,可以:

  • 发现哪些 MCP 服务器可供使用
  • 将一个或多个 MCP 服务器添加到代理的配置
  • 查看当前配置的 MCP 服务器
  • 删除不再需要的 MCP 服务器

添加 MCP 服务器后,代理的工具清单将展开以包含类似于以下内容的条目:

{
   "mcpServers": [
      {
         "mcpServerName": "mcp_MailTools",
         "mcpServerUniqueName": "mcp_MailTools",
         "scope": "McpServers.Mail.All",
         "audience": "api://00001111-aaaa-2222-bbbb-3333cccc4444"
      }
   ]
}

了解如何添加和管理工具

消息订阅和管理

示例代理使用 onAgentNotification("*") 订阅所有 Agent 365 SDK 通知,并将它们路由到单个处理程序。 此处理程序允许代理对后台事件或系统事件做出反应,而不仅仅是直接用户消息。

了解如何通知代理

以下代码演示如何在 agent.py 文件中配置通知。

if notification_type == NotificationTypes.EMAIL_NOTIFICATION: 
if not hasattr(notification_activity, "email") or not notification_activity.email: return "I could not find the email notification details."
email = notification_activity.email
email_body = getattr(email, "html_body", "") or getattr(email, "body", "")

message = (
    "You have received the following email. "
    "Please follow any instructions in it. "
    f"{email_body}"
)

result = await self.agent.run(message)
return self._extract_result(result) or "Email notification processed."

可观察性

此代码片段显示了在示例中实现可观测性所需的最小更改。 它初始化代理 365 可观测性 SDK,并将每个代理调用包装在一个 InferenceScope 中,以便可以自动捕获输入、输出和元数据。

以下代码展示了 agent.py 文件中的简化可观测性示例。

def _enable_agentframework_instrumentation(self): 
"""Enable Agent Framework instrumentation.""" 
try: 
AgentFrameworkInstrumentor().instrument() 
logger.info("✅ Instrumentation enabled")
 except Exception as e: 
logger.warning(f"⚠️ Instrumentation failed: {e}")

此代码是 Python + 代理框架示例所需的完整可观测性设置。 详细了解可观测性

测试你的代理

设置所需的环境变量,选择身份验证模式,并在本地启动代理。 可以使用 Agents Playground 进行全面的端到端测试,而无需 Microsoft 365 租户,除非您想要发布代理并将其用于 Teams 或 Outlook 等应用程序。

测试步骤概述

  • 将 API 密钥和模型设置添加到 .env 文件中,以便示例可以与 LLM 通信。
  • 选择身份验证方法 对于本地开发,此示例通过使用从智能体蓝图中创建的值来支持智能体身份验证。
  • 在本地启动智能体,以将其显示给智能体操作等工具。
  • 使用 Agents Playground 测试消息、工具和通知,而无需设置租户或部署任何内容。
  • 当您准备好进行实际操作时,请发布Microsoft 365租户,并在 Teams、Outlook 或其他Microsoft 365界面中测试代理。

了解有关测试的详细信息

发布您的代理

当你的代理准备好进行 Teams 聊天、Outlook 消息、Word @mentions 等实际 Microsoft 365 体验时,可以将其发布到 Microsoft 365 租户中。 Agent 365 CLI publish 命令负责打包:它更新你的清单,打包所有内容,并将代理上传到 Microsoft 管理中心。

在发布期间,在完成上传之前,查看并自定义代理的名称、说明、图标和版本。 发布后,您的代理程序将在租户账号中注册并可安装。

重要

发布代理后,你必须在开发者门户中配置代理蓝图,然后再创建实例。 了解如何在开发者门户中配置代理蓝图

您可以在此处查看已发布的智能体:https://admin.cloud.microsoft/#/agents/all

详细了解完整的工作流和分步说明