将知识源添加到声明性代理

可以通过添加 代码解释器图像生成器 和知识源等功能来增强和自定义代理的知识,从而增强声明性代理的用户体验。 清单参考中的功能对象和 Copilot Studio 代理生成器中的“知识”部分提供了多个选项来解锁用户的功能。 本文介绍可添加到代理的知识源。

下表列出了可以使用代理生成器或 Microsoft 365 代理工具包配置的功能和知识源, (Teams 工具包) 的演变,并指示用户是否需要智能 Microsoft 365 Copilot 副驾驶®许可证或按流量计费来访问具有该功能或知识源的代理。

功能或知识源 代理生成器 代理工具包 需要许可证或按流量计费的使用情况?
代码解释器
图像生成器
Copilot 连接器
SharePoint 和 OneDrive
嵌入的文件内容
Web 搜索
限定范围的 Web 搜索
Dataverse ✅*
电子邮件 ✅* 是 (许可证仅)
人员 是 (许可证仅)
Teams 消息 ✅* 是 (许可证仅)

* 可用于确定知识范围的选项。

Copilot 连接器

智能 Microsoft 365 Copilot 副驾驶®连接器 (以前Microsoft Graph 连接器) 使你能够将组织数据作为地面信息添加到代理。 可以使用 Copilot 连接器将业务线数据引入到 Microsoft Graph 中,Copilot 可以将数据作为响应用户提示的地面信息进行推理。 有关详细信息,请参阅智能 Microsoft 365 Copilot 副驾驶®连接器概述

有关如何将 Copilot 连接器作为知识添加到代理工具包中的代理清单的信息,请参阅 Copilot 连接器对象

有关如何在 Copilot Studio 代理生成器中将 Copilot 连接器添加到代理的信息,请参阅 Copilot 连接器

SharePoint 和 OneDrive

将代理配置为使用 OneDrive 和 SharePoint 内容作为知识时,Copilot 会搜索用户有权访问的 SharePoint 和 OneDrive 文件、文件夹或网站以获取基础信息。

有关如何在代理工具包中将 OneDrive 和 SharePoint 知识添加到代理清单的信息,请参阅 OneDrive 和 SharePoint 对象

有关如何在 Copilot Studio 代理生成器中向代理启用 OneDrive 和 SharePoint 知识的信息,请参阅添加知识源

Web 搜索使代理可以使用必应中的搜索索引来响应用户提示。 如果在代理中启用 Web 搜索,则可以让代理在其响应中返回任何 Web 数据。 还可以将 Web 搜索范围限定为最多四个公共网站。

如果使用 Agents Toolkit 和 Visual Studio Code 创建代理,若要启用 Web 搜索,请将 值添加到WebSearch清单文件中的 capabilities 属性。 如果要将 Web 搜索范围限定为特定网站,请添加 sites 属性并指定最多四个 URL,如以下示例所示。

注意

必须使用 1.2 版或更高版本的声明性代理清单架构,才能将作用域内 Web 搜索添加到代理。

{
  "capabilities": [
    {
      "name": "WebSearch",
      "sites": [
        {
          "url": "cnn.com"
        }
      ]
    }
  ]
}

如果使用 Copilot Studio 代理生成器创建代理,请在“配置”选项卡上的“知识”下列出要引用的网站 URL。

嵌入的文件内容

如果使用 Copilot Studio 代理生成器来生成代理,则可以直接从设备或云上传文件,以嵌入内容以供代理用作知识。 嵌入的文件内容存储在 SharePoint Embedded 中。 这些文件计入租户中的 OneDrive 和 SharePoint 容量。

注意

启用按流量计费或具有智能 Microsoft 365 Copilot 副驾驶®许可证的用户可以使用文件上传功能。

有关嵌入文件的详细信息,请参阅 代理生成器中的嵌入文件内容

Dataverse

Dataverse 知识允许代理以自然语言响应有关其 CRM 数据的用户查询或来自 Microsoft Dataverse 中的表的数据。 可以将 Dataverse 实例添加为知识源,并添加同义词和术语表,以帮助系统更好地解释表中的自定义数据。 有关详细信息,请参阅 添加 dataverse 知识源

注意

Copilot Studio代理生成器中目前不提供 Dataverse 知识。

添加 Dataverse 知识

如果使用 Agents Toolkit 和 Visual Studio Code 创建代理,若要启用 Dataverse 知识,请将Dataverse值添加到代理清单文件中的 capabilities 属性,如以下示例所示。

注意

必须使用 1.3 版或更高版本的声明性代理清单架构才能添加 Dataverse 知识。

{
  "capabilities": [
    {
      "name": "Dataverse",
      "knowledge_sources": [
        {
          "host_name": "organization.crm.dynamics.com",
          "skill": "DVCopilotSkillName",
          "tables": [
            {
              "table_name": "account"
            },
            {
              "table_name": "opportunity"
            }
          ]
        }
      ]
    }
  ]
}

电子邮件

Email知识允许将代理范围限定为个人或共享邮箱,以及可选的特定邮箱文件夹。

添加电子邮件知识源

如果使用 Copilot Studio 代理生成器来创建代理,请在“知识”部分中的“配置”选项卡上,选择“我的电子邮件”。

注意

使用代理生成器时,当前无法将电子邮件范围限定为特定文件夹或共享邮箱。

如果使用 Agents Toolkit 和 Visual Studio Code 创建代理,若要添加电子邮件知识,请将 值添加到Email代理清单文件中的功能属性,如以下示例所示。 可以引用多个邮箱文件夹和一个共享文件夹。

注意

必须使用 1.3 版或更高版本的声明性代理清单架构才能添加 Email 知识。

{
  "capabilities": [
    {
      "name": "Email",
      "shared_mailbox": "sample@service.microsoft.com",
      "folders": [
        {
          "folder_id": "inbox"
        }
      ]
    }
  ]
}

“folder_id ”字段中,可以引用已知的文件夹名称或文件夹 ID。 有关已知文件夹名称的列表,请参阅 mailFolder 资源类型。 若要获取文件夹 ID 的列表,请在 Graph 资源管理器中使用以下查询:

https://graph.microsoft.com/v1.0/me/mailFolders

“shared_mailbox ”字段中,使用共享邮箱的 SMTP 地址。

如果同时引用共享邮箱和文件夹,代理会将响应范围限定为共享邮箱中的文件夹。 如果仅引用文件夹,代理会将响应范围限定为个人邮箱中文件夹的内容。

如果未引用共享邮箱或文件夹,则代理搜索的范围不会限定为任何文件夹或邮箱,并且会根据用户的查询返回所有电子邮件内容的结果。

人员

人员知识允许你确定代理的范围,以回答有关组织中个人的问题。 例如,代理可以响应“如何实现联系人<>”或“列出人员的>直接下属<”等查询。 此知识源未限定范围。

注意

人员知识目前在 Copilot Studio 代理生成器中不可用。

添加人员知识源

如果使用 Agents Toolkit 和 Visual Studio Code 创建代理,若要启用人员知识,请将值添加到People代理清单文件中的 capabilities 属性,如以下示例所示。

注意

必须使用 1.3 版或更高版本的声明性代理清单架构来添加 People 知识源。

{
  "capabilities": [
    {
      "name":"People"
    }
  ]
}

Teams 消息

可以将代理配置为使用 Teams 频道、会议聊天、群组聊天、1:1 聊天和团队作为知识源。 可以选择指定最多五个指向团队、频道、组、1:1 或会议聊天的链接,以限定 Copilot 搜索的范围,也可以允许代理将所有用户的 Teams 内容(包括频道、团队、会议以及个人聊天和群组聊天)用作知识源。

代理可以返回 Teams 消息中共享的文件的链接,但不能返回 Teams 频道中存储的文件的链接,除非代理也 OneDriveAndSharePoint 已启用。 有关如何优化 Copilot 的 SharePoint 内容的信息,请参阅 优化 SharePoint 内容检索

添加 Teams 消息知识源

如果使用 Copilot Studio 代理生成器创建代理,请在“配置”选项卡上的“知识”部分中,单击搜索栏,然后选择“我的 Teams 从组、频道和会议聊天”。若要将代理范围限定为特定频道、会议或群组聊天,请在“聊天”选项卡上选择要添加为知识的聊天。

如果使用 Agents Toolkit 和 Visual Studio Code 来创建代理,若要启用 Teams 消息知识,请将 值添加到TeamsMessage清单引用中的 capabilities 属性。 如果要将 Teams 知识的范围限定为最多五个 Teams 资源,请将链接添加到 urls 属性,如以下示例所示。

注意

必须使用 1.3 版或更高版本的声明性代理清单架构来添加 TeamsMessage 知识源。

{
  "capabilities": [
    {
      "name": "TeamsMessages",
      "urls": []
    }
  ]
}

获取团队、频道或会议的 URL

若要获取 Teams 团队或频道的 URL,请选择团队或频道名称旁边的三个点 (...) ,然后选择 “获取团队链接 ”或“ 获取频道链接”。

若要获取 Teams 会议的 URL,请打开会议,选择“ 加入”旁边的箭头,然后选择“ 复制加入链接”。

获取组或 1:1 聊天的 URL

若要获取组或 1:1 聊天的 URL,需要包含 chatId 的深层链接。 深层链接采用以下格式: https://teams.microsoft.com/l/chat/<chatId>/conversationschatId 值对于每个聊天都是不同的。

若要获取组或 1:1 聊天的 chatId 值,请执行以下作:

  1. 在 Microsoft Teams 中,转到聊天中的任何消息。
  2. 将鼠标悬停在邮件上,然后选择三个点 (...) 。
  3. 选择“复制链接”。
  4. 将链接粘贴到记事本或类似应用程序中。 链接将类似于以下内容: https://teams.microsoft.com/l/chat/19:12ab3c4d-a123-12a3-a123-123ab12c12de_12a3bcd4-1234-1234-123a-1b2345c678d9@unq.gbl.spaces//1743033793614?context=%7B%22contextType%22%3A%22chat%22%7D
  5. 复制位于 和下一个 /之间的 chat/ URL 段。 段通常以 19:开头。 这是 chatId。 在前面的示例中, chatId19:12ab3c4d-a123-12a3-a123-123ab12c12de_12a3bcd4-1234-1234-123a-1b2345c678d9@unq.gbl.spaces
  6. chatId 添加到深层链接。 例如:https://teams.microsoft.com/l/chat/19:12ab3c4d-a123-12a3-a123-123ab12c12de_12a3bcd4-1234-1234-123a-1b2345c678d9@unq.gbl.spaces/conversations

有关详细信息,请参阅 Teams 聊天的深层链接