添加智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®和代理体验

适用于: 开发人员版

借助 SharePoint Embedded 智能体体验,应用能够回答有关存储在 SharePoint Embedded 容器中的文件的问题。 两个独立的产品在容器内容中提供了这些体验:

  • 具有 SharePoint 知识源的 Microsoft Foundry 代理服务 - 适用于在 Foundry 上构建的代理。 Foundry 会作为代理的一部分为你运行检索。 有关设置步骤,请参阅将 SharePoint Embedded 设置为 Foundry 知识源
  • 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®检索 API - 适用于运行自己的基础步骤的自定义代理和应用。 可从任何应用(包括不使用 SharePoint 知识源的 Foundry 代理)调用它。

选择希望 Foundry 管理检索和代理编排时的知识源。 若要自行控制基础步骤、提示和模型,请选择检索 API。

警告

早期的 SharePoint Embedded 代理 SDK (React ChatEmbedded 控制) 已于 2026 年 3 月弃用,并替换为 Microsoft Foundry 代理服务 (为 SharePoint Embedded 配置 SharePoint 知识源预览版) 。 对新工作使用本文中的两个选项之一。

使用检索 API

智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®检索 API 返回相关文本提取,应用将其作为基础数据传递给其自己的模型。 设置为 dataSourcesharePointEmbedded 可从 SharePoint Embedded 内容检索。

注意

对数据源的 sharePointEmbedded 检索 API 支持处于预览阶段。

检索 API 先决条件

  • 至少一个容器加上容器类型 ID 的 SharePoint Embedded 应用。
  • 为容器类型配置的即用即付计费。
  • 租户中至少有一个用户拥有智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶® 许可证,因此语义索引将初始化。 有关详细信息,请参阅 智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®的语义索引

sharePointEmbedded数据源采用即用即付计费,因此查询检索 API 的每个用户都不需要单独的智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶® 许可证。

从容器类型检索内容

使用委派令牌调用 POST /copilot/retrieval 。 设置 dataSourcesharePointEmbedded 传递容器类型 ID dataSourceConfiguration。 请求需要委派的 FileStorageContainer.Selected 权限,服务将结果剪裁为登录用户可以访问的内容。

POST https://graph.microsoft.com/v1.0/copilot/retrieval
Content-Type: application/json

{
  "queryString": "What are the terms of the Contoso agreement?",
  "dataSource": "sharePointEmbedded",
  "dataSourceConfiguration": {
    "sharePointEmbedded": {
      "containerTypeId": "{containerTypeId}"
    }
  }
}

替换 {containerTypeId} 为容器类型 ID。

响应将返回一个 retrievalHits 集合。 每次命中都会标识 webUrl 一个源文件,并携带一个或多个 extracts,按 relevanceScore排序。

{
  "retrievalHits": [
    {
      "webUrl": "https://contoso.com/spe/file",
      "extracts": [
        {
          "text": "The agreement renews annually unless either party gives 30 days' notice.",
          "relevanceScore": 0.8421
        }
      ]
    }
  ]
}

webUrl 形状取决于容器类型的 urlTemplate 设置,因此请将其视为不透明链接,而不是解析它。 要解析文件详细信息,请调用 Get a driveItem。 有关详细信息 urlTemplate,请参阅 创建和配置容器类型

要在每次命中时返回额外的字段(例如 title OR), author 请向请求添加一个 resourceMetadata 集合。 仅请求应用使用的字段,因为每个字段都会添加到响应有效负载。

将提取作为基础数据传递到您自己的模型或答案生成步骤。 此代码片段将发送查询,并从每个命中读取最上方的摘录:

const response = await fetch("https://graph.microsoft.com/v1.0/copilot/retrieval", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${accessToken}`
  },
  body: JSON.stringify({
    queryString: query,
    dataSource: "sharePointEmbedded",
    dataSourceConfiguration: {
      sharePointEmbedded: { containerTypeId: containerTypeId }
    }
  })
});

const data = await response.json();
const grounding = (data.retrievalHits ?? []).map(hit => ({
  url: hit.webUrl,
  text: hit.extracts?.[0]?.text?.trim(),
  score: hit.extracts?.[0]?.relevanceScore
}));

检索涵盖登录用户可以访问的容器类型的每个容器。 如果请求未返回任何命中,请确认语义索引已初始化,索引已完成,且用户有权访问内容。

检索 API 计费

检索使用 Copilot Studio 消息计量上的数据源帐单的 sharePointEmbedded API 请求。 费用遵循为容器类型配置的计费模型。 Standard 计费将对拥有租户的 Azure 订阅收费,而传递计费则对消耗租户的订阅收费。

有关计量详细信息,请参阅 计费计量。 要比较模型,请参阅 选择计费模型

测试用户体验

使用可以访问容器内容的用户登录。 将支持的文件上传到容器,等待索引,打开聊天,然后询问文件内容可以回答的问题。 如果答案省略了预期的文件,请检查:

  • 可发现性。
  • 支持的文件格式。
  • 应用访问权限。
  • 用户访问权限。
  • 范围选择。
  • 索引延迟。

后续步骤