Microsoft 365 Copilot API提供对支持 Copilot 体验的组件的访问,从而解锁使用 Microsoft 365 Copilot 功能增强自定义引擎代理和生成 AI 解决方案的能力。 使用 Microsoft 365 Copilot 检索 API,可以从支持 Microsoft 365 Copilot 的混合索引中返回相关文本区块,从而将生成 AI 解决方案与 Microsoft 365 和非Microsoft知识结合在一起。
检索 API 为检索增强生成 (RAG) 提供了简化的解决方案,无需在单独的索引中复制、索引、分块和保护数据。 该 API 了解用户的上下文和意向,并执行查询转换以生成最相关的结果,而通过词法搜索甚至来自备用源的基本 RAG,这更难实现。
构建生成 AI 解决方案并想要使用 Microsoft 365 知识时,RAG 至关重要。 实现 RAG 时,解决方案可以提供更准确、更符合上下文的响应,这些响应基于组织数据的庞大存储库。 检索 API 通过从 SharePoint、OneDrive 和 Copilot 连接器中提取最新和相关文本片段来完成 RAG。 检索 API 会保持数据就位,并维护访问和治理控制。 检索 API 确保合成的响应通过最新和最相关的数据进行通知。 此过程可增强生成 AI 解决方案的可靠性和有用性。
若要浏览 API, 请在 Graph 资源管理器中尝试查询。
为何使用检索 API?
检索 API 提供了一种安全且合规的方法,用于从 SharePoint、OneDrive 和 Copilot 连接器检索相关文本区块,同时针对上下文召回进行优化。 因此,无需流出数据、破坏权限或损害安全性和合规性。
自定义知识应用程序可以使用检索 API 对 SharePoint、OneDrive 和 Copilot 连接器中存储的组织特定信息进行地面响应。 这些应用程序可以采用与 Microsoft 365 Copilot 相同的方式,从 Microsoft 365 个数据源检索到地面大型语言模型,而不是构建和维护单独的向量索引,而是将相关上下文检索到地面大型语言模型 (LLM) 响应。
需要信息检索精度很高的财务和法律应用程序可以使用 API 的筛选功能将搜索范围限定为特定的文档库或内容类型,确保响应仅包含已批准的源,同时遵守信息屏障和访问控制。
多源应用程序可以将 SharePoint 和/或 OneDrive 内容与来自 Microsoft 365 Copilot 连接器的信息组合在一起,从而创建统一知识库,该知识库跨越 Microsoft 365 和第三方存储库,同时保持一致的安全性和合规性控制。
想象一下,一家咨询公司专门为客户提供定制解决方案,其工作的很大一部分侧重于 SharePoint 中存储的数据。 该公司正在开发一个自定义引擎代理,以协助他们的顾问为重要的客户会议做准备。 此代理必须从 SharePoint 访问和检索准确且最新的信息。 该公司与两个主要客户合作,他们是市场直接竞争对手。 因此,该公司迫切需要保持严格的安全性和合规性标准,以确保一个客户的文档和数据永远不会被另一个客户访问。 检索 API 可帮助公司管理合规性和安全风险,确保数据的相关性和新鲜性,进而简化了整体开发工作。
管理合规性和安全风险
检索 API 使用 Microsoft 365 中的内置安全性和合规性功能来确保保留数据源权限和符合性设置。 通过检索到位的数据,它可以防止数据泄漏,并确保永远无法访问来自一个客户端的敏感信息,这对于维护严格的安全性和合规性标准至关重要。 在组织中,Microsoft 365 中的权限模型可确保个人只能从允许其访问的内容中获取结果。
解决相关性和新鲜度
由于检索 API 检索相关上下文且不会重复数据,因此其结果保持最新且相关,并且无需维护单独的成本高昂的数据管道。
降低拥有成本和开发工作
检索 API 无需构建安全的数据导出和索引管道,这会给组织带来巨大的成本。 API 支持以下所需功能:
- 搜索提供程序管理
- 爬虫
- 数据连接器
- 数据存储
- 内容分析器
- 索引
- 安全性
组织可以使用这些内置功能来避免费用和复杂性,并在 Microsoft 365 内保持严格的访问控制和合规性。
检索 API 功能
检索 API 允许从以下数据源检索数据:
- SharePoint
- OneDrive
- Copilot 连接器
API 支持自然语言查询,并使用 Microsoft 365 Copilot 堆栈检索Microsoft 365 信任边界内的相关地面上下文。 可以使用 API 来限定检索范围,关键字查询语言 (KQL) 从用例的最重要内容中检索。 使用 KQL,可以按 URL、日期范围、文件类型等进行筛选。
授权
检索 API 免费提供给拥有 Microsoft 365 Copilot 附加许可证的用户。 目前不支持没有 Microsoft 365 Copilot 加载项许可证的用户。
最佳做法
以下最佳做法适用于没有 filterExpression) 的未筛选查询 (查询,以及使用 filterExpression) 的筛选查询 (查询:
- 检索 API 返回的结果和提取是无序的。 因此,建议不要限制 最大NumberOfResults ,除非对 LLM 可以使用多少个令牌有严格要求。
- 将检索 API 返回的所有提取发送到 LLM/业务流程协调程序,以便生成答案。
- 避免可能适用于各种内容的泛型查询。
- 在查询中提供尽可能多的上下文。
- queryString 应为单个句子。
- 构造 queryString 时,避免在上下文丰富的关键字中出现拼写错误。
将以下最佳做法应用于具有 filterExpression) 的筛选查询 (查询:
- 如果要在 SharePoint 或 OneDrive 中使用 路径 参数进行筛选,请不要使用共享链接或从地址栏复制 URL。 请改为转到 SharePoint 或 OneDrive online 中文件夹或文件的位置,然后选择三个点以打开“更多作”。 在窗格中向下滚动并选择 “详细信息”。 在此处,可以向下滚动左侧导航窗格以查找并复制路径。
已知限制
以下是检索 API 的当前限制和其他限制:
- 您需要 Files.Read.All 和 Sites.Read.All 权限才能使用检索 API 检索 SharePoint 内容。
- 你需要 Files.Read.All 和 Sites.Read.All 权限才能使用检索 API 检索 OneDrive 内容。
- 你需要 ExternalItem.Read.All 权限才能使用检索 API 检索 Copilot 连接器内容。
- 检索 API 针对上下文调用进行优化。
- queryString 请求参数的限制为 1,500 个字符。
- 必须使用 dataSource 请求参数一次从一个数据源检索。 不支持交错结果。
- 如果 filterExpression 请求参数的 KQL 语法不正确,则查询将成功执行,且没有范围。
- filterExpression 中并非所有 SharePoint 和 OneDrive 属性都受支持。 有关支持的属性列表,请参阅 API 参考。
- maximumNumberOfResults 请求参数的最大值为 25。
- 响应有效负载中的 relevanceScore 测量 queryString 与提取之间的余弦相似性,并将其规范化为 0-1 范围。
- 从 Copilot 连接器检索时,可能会返回没有 relevanceScore 的 提取。
- 每个用户每小时最多支持 200 个请求。
- 从表中的文本检索仅限于 OneDrive 和 SharePoint 中的.doc、.docx 和 .pptx 文件。
- 不支持从非文本内容(包括图像和图表)进行检索。
- 不支持 .docx、.pptx 和 .pdf 扩展名大于 512 MB 的文件的结果。 不支持任何其他扩展名大于 150 MB 的文件的结果。
- 如果从 SharePoint 或 OneDrive 检索,则语义检索和混合检索仅支持 .doc、.docx、.pptx、.pdf、.aspx和 .one 文件扩展名。 所有其他文件扩展名仅支持词法检索。
- 检索 API 受 Microsoft 365 Copilot 语义索引的所有限制的约束。
- 如果检索响应有效负载中的 “检索 ”为空,则未找到相关结果。