SuperAPI AI 工具集

m365-agents-py

智能体与模型

查看项目

更新于 10-16 02:11

技能介绍

用途

m365-agents-py 是一项面向 Python 开发者的技能,用于使用 Microsoft 365 Agents SDK 构建企业级智能体。这些智能体可运行于 Microsoft 365、Microsoft Teams 以及 Copilot Studio 等渠道,属于多渠道智能体开发场景。

主要能力

  • 使用 aiohttp 托管智能体服务,通过 AgentApplication 进行消息与活动路由。
  • 支持流式响应(streaming responses),可结合 Azure OpenAI 输出分块内容。
  • 基于 MSAL 的身份验证,支持 OAuth 处理器实现自动登录,并可获取令牌调用 Microsoft Graph。
  • 提供 Copilot Studio 客户端(Direct to Engine),可启动会话并向智能体提问。
  • 支持对话更新、消息、invoke 活动及错误处理等处理器。

使用方式

安装相关包:

pip install microsoft-agents-hosting-core
pip install microsoft-agents-hosting-aiohttp
pip install microsoft-agents-activity
pip install microsoft-agents-authentication-msal
pip install microsoft-agents-copilotstudio-client
pip install python-dotenv aiohttp

通过 .env 配置环境变量,包括服务连接所需的 CLIENTID、CLIENTSECRET、TENANTID,以及可选的 OAuth 处理器、Azure OpenAI 和 Copilot Studio 相关配置。

核心工作流为创建 aiohttp 托管的 AgentApplication:加载配置、创建存储与连接管理器、定义处理器、设置服务器入口点,并在 aiohttp Application 中加入 jwt_authorization_middleware 中间件。

路由方面,可使用 conversation_update、message(支持字符串或正则表达式)、activity 等装饰器定义处理器,并通过 auth_handlers 参数保护需要 OAuth 的路由。

流式响应方面,可设置反馈循环、AI 生成标签与敏感度标签,将 Azure OpenAI 的流式输出逐块加入响应,并在 finally 块中调用 end_stream()。

OAuth 自动登录方面,可通过 AGENT_APP.auth 进行登录、登出与令牌获取,并使用令牌调用 Microsoft Graph。

Copilot Studio 客户端方面,可使用 ConnectionSettings 与 CopilotClient 启动会话并提问。

适用场景

适用于需要为 Microsoft 365、Teams 或 Copilot Studio 构建 Python 智能体的开发任务,尤其是涉及多渠道托管、流式响应、MSAL 身份验证或 Copilot Studio 直连的场景。

限制

  • 近期导入结构发生破坏性变更,需使用 microsoft_agents 前缀(下划线)而非 microsoft.agents。
  • MemoryStorage 仅建议用于开发,生产环境应使用 BlobStorage 或 CosmosDB。
  • 该技能依赖外部参考资料 references/acceptance-criteria.md,此文件未随目录提供,使用依赖该路径的步骤前需先获取原始材料或已有安装,并验证其内容与许可。
  • 不应将输出视为环境特定验证、测试或专家评审的替代。
  • 若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。
  • 实现前建议使用 microsoft-docs MCP 验证最新 API 签名,并在 PyPI 确认包版本。