借助 LangSmith Fleet,你可以注册自定义 Azure Bot,将代理连接到 Microsoft Teams。连接后,代理可以:
  • 接收 Teams 用户的消息,并使用消息内容启动新的运行。
  • 使用 Bot Framework 直接在 Teams 对话中回复。
  • 通过 Microsoft Graph API 工具访问 Teams 频道和消息。
在频道对话中,只有明确提及机器人时,机器人才会回复。在私聊和群聊中,机器人会回复所有消息。

前提条件

  • Fleet 中已有一个代理(参阅快速入门以创建代理)
  • 拥有Azure 账户,并具备创建资源的权限
  • Microsoft Teams 工作区的管理员权限,或安装应用的权限

创建 Azure Bot

在 Fleet 中注册之前,你需要创建 Azure Bot 资源并获取其凭据。
1

创建 Azure Bot 资源

  1. 前往 Azure 门户。
  2. 搜索 Azure Bot,然后点击 Create。
  3. 填写必填字段:
    • Bot handle:机器人的唯一标识符。
    • Subscription:选择你的 Azure 订阅。
    • Resource group:创建新的资源组,或选择现有资源组。
    • Type of App:选择 Multi Tenant。
    • Creation type:选择 Create new Microsoft App ID。
  4. 点击 Review + create,然后点击 Create。
2

获取应用凭据

资源创建完成后:
  1. 前往机器人资源,在左侧边栏中点击 Configuration。
  2. 复制 Microsoft App ID。稍后会用到它。
  3. 点击 App ID 旁边的 Manage Password。
  4. 点击 New client secret,添加描述,然后点击 Add。
  5. 立即复制新密钥的 Value — 该值只会显示一次。
创建客户端密钥后,请立即复制其值。之后无法再次获取该值。如果丢失,必须创建新的客户端密钥。
3

配置消息终结点

在 Fleet 中注册机器人后,你将设置消息终结点。暂时跳过此字段 — 稍后会回到此步骤。

在 Fleet 中注册机器人

1

打开集成页面

  1. 在 LangSmith UI 中前往 Fleet。
  2. 前往 Integrations 页面。
  3. 点击 Add Teams App。
2

输入凭据

填写以下字段:
  • App Name:机器人在 Fleet 中显示的名称。
  • Azure App ID:Azure Bot 资源中的 Microsoft App ID。
  • Azure App Password:之前复制的客户端密钥值。
  • Azure Tenant ID(可选):你的 Azure AD 租户 ID。对于多租户机器人,请保留默认值。
点击 Create 注册机器人。
3

复制 webhook URL

注册完成后,Fleet 会显示一个 webhook URL。复制此 URL — 完成 Azure Bot 配置时需要使用它。
4

在 Azure 中设置消息终结点

  1. 返回 Azure 门户中的 Azure Bot 资源。
  2. 前往 Configuration。
  3. 将 Fleet 中的 webhook URL 粘贴到 Messaging endpoint 字段。
  4. 点击 Apply。

将机器人添加到 Teams

1

打开 Teams 频道

  1. 在 Azure 门户中前往你的机器人资源。
  2. 点击左侧边栏中的 Channels。
  3. 选择 Microsoft Teams,然后点击 Apply。
  4. 同意服务条款。
2

在 Teams 中安装机器人

  1. 在 Teams 中点击左侧边栏的 Apps。
  2. 点击 Manage your apps,然后点击 Upload an app。
  3. 上传引用 Azure App ID 的 Teams 应用清单,或使用 Azure Bot Channels 页面中的 Open in Teams 链接。
  4. 将机器人添加到所需的团队或聊天中。

将机器人关联到代理

你可以从集成页面或代理侧边栏将 Teams 机器人关联到代理。

从集成页面关联

  1. 在 Fleet 的 Integrations 页面中,前往 Teams Apps 部分。
  2. 选择要关联的机器人。
  3. 从下拉菜单中选择要关联的代理。

从代理侧边栏关联

  1. 在左侧导航的 My Agents 中选择你的代理。
  2. 在侧边栏中展开 Channels 抽屉。
  3. 选择 Teams。
  4. 从下拉菜单中选择要关联的 Teams 应用。

添加 Teams 工具

工具可以让代理在 Teams 中执行操作。要回复消息并与 Teams 交互,请添加相关工具。
你也可以让代理自行添加这些工具。在代理聊天中尝试发送:“添加 Teams 工具,以便你可以回复消息。”
  1. 在侧边栏中展开 Connections 抽屉,然后点击 Add connection。
  2. 搜索 “Teams”,并添加所需工具:
    • teams_bot_send_proactive_message — 向 Teams 对话发送消息
    • microsoft_teams_list_my_teams — 列出经过身份验证的用户所属的团队
    • microsoft_teams_list_channels — 列出团队中的频道
    • microsoft_teams_post_channel_message — 向频道发布消息
    • microsoft_teams_read_channel_messages — 读取频道中的近期消息
  3. 如果系统提示,请点击 Connect,以授权 Microsoft Graph 工具。
teams_bot_send_proactive_message 工具使用 Bot Framework 凭据,不需要单独进行 OAuth 授权。其他 Teams 工具使用 Microsoft Graph API,可能需要获得 OAuth 同意。

配置代理行为(可选)

你的代理需要知道如何处理传入的 Teams 消息。直接在代理聊天中向它发送提示,以更新其指令:
根据你的使用场景调整指令 — 例如,你可能希望代理只回复特定类型的问题,或者在回复前从特定来源提取信息。

故障排除

代理不回复

  • 检查 Fleet 中的线程,看是否有需要人工处理的审批。
  • 在频道对话中,确保你**@提及**机器人。未提及机器人的频道消息会被忽略。
  • 检查 Feed 标签页中的错误。
  • 确认 Azure Bot 资源中的消息终结点与 Fleet 提供的 webhook URL 一致。
  • 确保 Fleet 中的机器人注册未被暂停。

注册期间出现凭据无效错误

  • 确认 Azure App ID 和 App Password(客户端密钥)正确。
  • 确保客户端密钥尚未过期。如有需要,请在 Azure 中创建新的密钥。
  • 检查 Azure 中的机器人类型是否设置为 Multi Tenant。

机器人可以私聊,但无法在频道中工作

  • 在频道对话中,必须明确**@提及**机器人。
  • 确保机器人已添加到团队,并且拥有读取频道消息的权限。

后续步骤

添加更多工具

将其他服务连接到你的代理

添加更多频道

设置电子邮件、计划任务或 webhook 频道

使用模板

从预构建的代理模板开始