连接 Microsoft SharePoint 获取你的亚马逊 Bedrock 知识库 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

连接 Microsoft SharePoint 获取你的亚马逊 Bedrock 知识库

注意

Microsoft SharePoint 数据源连接器处于预览版,可能会发生变化。

Microsoft SharePoint 是一项基于 Web 的协作服务,用于处理文档、网页、网站、列表等。您可以使用适用于亚马逊 Bedrock 的AWS 管理控制台或 CreateDataSourceAPI(参见 Amazon Bedrock 支持的软件开发工具包和)连接到您的 SharePoint 实例,以获取您的 Amazon Bedrock 知识库。 AWS CLI

Amazon Bedrock 支持连接到 SharePoint 在线实例。目前不支持搜寻 OneNote 文档。目前,只有 Amazon OpenSearch Serverless 矢量存储可用于此数据源。

支持的特征

  • 自动检测主要文档字段

  • 包含/排除内容过滤器

  • 对已添加、更新、删除的内容进行增量内容同步

  • OAuth 2.0 身份验证

先决条件

在中 SharePoint,请确保你

  • 记下您的 SharePoint 在线网站网址/网址。例如,https://yourdomain.sharepoint.com/sites/mysite。你的网址必须以 https 开头并包含 sh arepoint .com 你的网站网址必须是实际 SharePoint 网站,而不是 sh arepoint.com/ 或 sites/mysite/home.aspx

  • 记下您的 SharePoint 在线实例 URL/URL 的域名。

  • (对于 OAuth 2.0 身份验证)复制你的微软 365 租户 ID。你可以在 Azure Active Directory 门户的 “属性” 或 OAuth 应用程序中找到你的租户 ID。

    请记下管理员 SharePoint 帐户的用户名和密码,并在注册应用程序时复制客户端 ID 和客户端密钥值。

    注意

    有关示例应用程序,请参阅微软学习网站上的在微软 Entra ID(以前称为 Azure Active Directory)中注册客户端应用程序

  • 注册应用程序 SharePoint 时,需要某些读取权限才能连接。

    • SharePoint: AllSites .Read(委托)-读取所有网站集中的项目

  • 你可能需要使用管理员用户在 Azure 门户中关闭 “安全默认设置”。有关在 Azure 门户中管理安全默认设置的更多信息,请参阅 Microsoft 关于如何启用/禁用安全默认设置的文档

  • 您可能需要关闭账户中的多重身份验证 (MFA),以免阻止 Amazon Bedrock 抓取 SharePoint 您的内容。 SharePoint

在您的 AWS 账户中,请确保

  • 将您的身份验证凭证存储在AWS Secrets Manager 密钥中,如果使用 API,请记下该密钥的 Amazon 资源名称 (ARN)。按照此页面上的 Connection 配置说明添加密钥中必须包含的键值对。

  • 在知识库的 AWS Identity and Access Management (IAM) 角色/权限策略中包含连接数据源的必要权限。有关将此数据源添加到知识库 IAM 角色所需的权限的信息,请参阅访问数据源的权限

注意

如果您使用控制台,则可以 AWS Secrets Manager 前往添加您的密钥或选择现有密钥作为数据源配置步骤的一部分。作为创建知识库的控制台步骤的一部分,可以为您创建具有所有所需权限的 IAM 角色。配置数据源和其他配置后,具有所有必需权限的 IAM 角色将应用于您的特定知识库。

我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们不建议您跨数据源重复使用凭证和机密。

连接配置

要连接到您的 SharePoint 实例,您必须提供必要的配置信息,以便 Amazon Bedrock 可以访问和抓取您的数据。您还必须遵循先决条件 .

本节包含此数据源的配置示例。

有关自动检测文档字段、包含/排除筛选器、增量同步、秘密身份验证凭据及其工作原理的更多信息,请选择以下选项:

数据源连接器会自动检测并抓取文档或内容的所有主要元数据字段。例如,数据源连接器可以抓取与您的文档等效的文档正文、文档标题、文档创建或修改日期或其他可能适用于您的文档的核心字段。

重要

如果您的内容包含敏感信息,则 Amazon Bedrock 可以使用敏感信息进行响应。

您可以包含或排除对某些内容的抓取。例如,您可以指定排除前缀/正则表达式模式,以跳过对文件名中包含 “private” 的任何文件的抓取。您也可以指定包含前缀/正则表达式模式以包含某些内容实体或内容类型。如果您指定了 “包含” 和 “排除” 筛选器,并且两者都与文档匹配,则排除过滤器优先,并且不会对文档进行抓取。

您可以对以下内容类型应用包含/排除过滤器:

  • Page: 主页标题

  • Event: 活动名称

  • File: 附件和所有文档文件的文件名及其扩展名

目前不支持搜寻 OneNote 文档。

每次您的数据源与知识库同步时,数据源连接器都会抓取新内容、修改内容和已删除内容。 Amazon Bedrock 可以使用数据源的机制来跟踪内容更改并抓取自上次同步以来更改的内容。首次将数据源与知识库同步时,默认情况下会抓取所有内容。

要将您的数据源与知识库同步,请使用 StartIngestionJobAPI 或在控制台中选择您的知识库,然后在数据源概述部分中选择同步

重要

您从数据源同步的所有数据都可供bedrock:Retrieve有权检索数据的任何人使用。这也可以包括任何具有受控数据源权限的数据。有关更多信息,请参阅知识库权限

(对于 OAuth 2.0 身份验证)您在中的秘密身份验证凭据 AWS Secrets Manager 应包括以下键值对:

  • username: SharePoint 管理员用户名

  • password: SharePoint 管理员密码

  • clientId: 应用程序客户端 ID

  • clientSecret: 应用程序客户端密钥

注意

您的密钥 AWS Secrets Manager 必须使用知识库的相同区域。

Console

以下是用于连接 Amazon Bedrock 知识库的 “ SharePoint 在线” 的配置示例。您可以在控制台中将数据源配置为知识库创建步骤的一部分。

  1. AWS Management Console 使用具有 Amazon Bedrock 权限的 IAM 角色登录,然后通过 https://console.aws.amazon.com/bedrock/ 打开亚马逊 Bedrock 控制台。

  2. 在左侧导航窗格中,选择知识库

  3. 知识库部分,选择创建知识库

  4. 提供知识库详细信息。

    1. 提供知识库名称和可选描述。

    2. 为创建知识库所需的必要访问权限提供 AWS Identity and Access Management 角色。

      注意

      作为创建知识库的控制台步骤的一部分,可以为您创建具有所有所需权限的 IAM 角色。完成创建知识库的步骤后,具有所有必需权限的 IAM 角色将应用于您的特定知识库。

    3. 创建要分配给知识库的任何标签。

    转到下一节以配置您的数据源。

  5. 选择 SharePoint 作为您的数据源并提供连接配置的详细信息。

    1. 提供数据源名称和可选描述。

    2. 提供您的 SharePoint 网站网址/网址。例如,对于 SharePoint 在线,https://yourdomain.sharepoint.com/sites/mysite。你的网址必须以 https 开头并包含 sh arepoint .com 你的网站网址必须是实际 SharePoint 网站,而不是 sh arepoint.com/ 或 sites/mysite/home.aspx

    3. 提供您的 SharePoint 实例的域名。

    检查高级设置。您可以选择更改默认的选定设置。

  6. 在高级设置中设置您的临时数据加密密钥和数据删除策略。

    对于 KMS key 设置,您可以选择自定义密钥或使用默认提供的数据加密密钥。

    在将数据转换为嵌入式数据时,默认使用 AWS 拥有和管理的密钥 Amazon Bedrock 加密您的临时数据。您可以使用自己的 KMS 密钥。有关更多信息,请参阅 加密数据提取期间的临时数据存储

    对于数据删除策略设置,您可以选择以下任一选项:

    • 删除:删除知识库或数据源资源后,从矢量存储中删除属于该数据源的所有数据。请注意,底层向量存储本身不会被删除,只会删除数据。如果删除了 AWS 帐户,则会忽略此标志。

    • 保留:删除知识库或数据源资源后,保留矢量存储中的所有数据。

    继续配置您的数据源。

  7. 提供身份验证信息以连接到您的 SharePoint 实例:

    1. 对于 OAuth 2.0 身份验证,请提供租户 ID。你可以在 Azure Active Directory 门户的 “属性” 或 OAuth 应用程序中找到你的租户 ID。

    2. 对于 OAuth 2.0 身份验证,请转 AWS Secrets Manager 至添加您的密钥身份验证凭据,然后选择刷新按钮以应用密钥。您的密钥必须包含 SharePoint 管理员用户名和密码,以及您注册的应用程序客户端 ID 和客户端密钥。有关示例应用程序,请参阅微软学习网站上的在微软 Entra ID(以前称为 Azure Active Directory)中注册客户端应用程序

    继续配置您的数据源。

  8. 选择使用过滤器/正则表达式模式来包含或排除某些内容。否则,所有标准内容都会被抓取。

    继续配置您的数据源。

  9. 选择默认或自定义的分块和解析配置。

    1. 如果您选择自定义设置,请选择以下分块选项之一:

      • 固定大小的分块:内容分成您设置的近似标记大小的文本块。您可以设置区块中不得超过的最大令牌数量以及连续区块之间的重叠百分比。

      • 默认分块:内容拆分为最多 300 个标记的文本块。如果单个文档或内容包含的标记少于 300 个,则不会进一步拆分该文档。

      • 分层分块:将内容组织成父子区块的嵌套结构。您可以设置最大父区块令牌大小和最大子区块令牌大小。您还可以在每个父区块和每个子区块的父区块之间设置重叠标记的绝对数量。

      • 语义分块:将内容组织成语义相似的文本块或句子组。您可以设置要组合在一起的目标/当前句子周围的最大句子数(缓冲区大小)。您还可以设置断点百分位数阈值,用于将文本分成有意义的块。

      • 不分块:每个文档都被视为单个文本块。您可能需要通过将文档拆分成单独的文件来对其进行预处理。

      注意

      创建数据源后,您无法更改分块策略。

    2. 您可以选择使用 Amazon Bedrock基础模型来解析文档,以解析比标准文本更多的文本。例如,您可以解析文档中的表格数据,同时保持其结构不变。查看Amazon Bedrock 定价,了解有关基础模型成本的信息。

    3. 您可以选择使用 AWS Lambda 函数来自定义分块策略以及如何处理和提取文档元数据属性/字段。为 Lambda 函数的输入和输出提供 Amazon S3 存储桶位置。

    转到下一节来配置您的矢量存储。

  10. 选择用于将数据转换为矢量嵌入的模型。

    创建矢量存储 Amazon Bedrock 以允许存储、更新和管理嵌入内容。您可以快速创建新的矢量存储库,也可以从已创建的支持的矢量存储中进行选择。目前,只有 Amazon OpenSearch Serverless 矢量存储可用于此数据源。如果您创建新的矢量存储,则会为您设置包含必填字段的 Amazon OpenSearch Serverless 矢量搜索集合和索引。如果从支持的矢量存储中进行选择,则必须映射矢量字段名称和元数据字段名称。

    转到下一部分,查看您的知识库配置。

  11. 查看知识库的详细信息。在继续创建知识库之前,您可以编辑任何部分。

    注意

    创建知识库所需的时间取决于您采集的数据量和您的特定配置。知识库创建完成后,知识库的状态将更改为 “就”。

    知识库准备就绪或完成创建后,无论何时您想让内容保持最新状态,都可以首次同步数据源。在控制台中选择您的知识库,然后在数据源概述部分中选择同步

API

以下是用于连接 Amazon Bedrock 知识库的 “ SharePoint 在线” 的配置示例。您可以使用带有 AWS CLI 或支持的软件开发工具包(例如 Python)的 API 来配置数据源。调用后 CreateKnowledgeBase,您可以调CreateDataSource用创建数据源,其中包含您的连接信息dataSourceConfiguration。请记住,还要在中指定您的分块策略/方法,vectorIngestionConfiguration并在中指定您的数据删除政策。dataDeletionPolicy

AWS Command Line Interface

aws bedrock create-data-source \ --name "SharePoint Online connector" \ --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' sharepoint-bedrock-connector-configuration.json { "sharePointConfiguration": { "sourceConfiguration": { "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de", "hostType": "ONLINE", "domain": "yourdomain", "siteUrls": [ "https://yourdomain.sharepoint.com/sites/mysite" ], "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "File", "inclusionFilters": [ ".*\\.pdf" ], "exclusionFilters": [ ".*private.*\\.pdf" ] } ] } } } }, "type": "SHAREPOINT" }