将您的数据与 Amazon Bedrock 知识库同步 - Amazon Bedrock

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

将您的数据与 Amazon Bedrock 知识库同步

创建完知识库后,需要摄取或同步数据,以便查询数据。摄取根据您指定的向量嵌入模型和配置,将数据来源中的原始数据转换为向量嵌入。

在开始摄取之前,请检查您的数据来源是否满足以下条件:

  • 您已经为数据来源配置了连接信息。要配置数据来源连接器以从数据来源存储库中抓取数据,请参阅 Supported data source connectors。在创建知识库的过程中,您可以配置数据来源。

  • 您已经配置了所选的向量嵌入模型和向量存储。请参阅 supported vector embeddings modelsvector stores for knowledge bases。在创建知识库的过程中,您可以配置向量嵌入。

  • 文件采用受支持的格式。有关更多信息,请参阅支持的文档格式

  • 这些文件不超过 AWS 一般参考中的 Amazon Bedrock endpoints and quotas 中指定的摄取作业文件大小

  • 如果您的数据来源包含元数据文件,请检查以下条件以确保元数据文件不会被忽略:

    • 每个 .metadata.json 文件都与其关联的源文件共享相同的文件名和扩展名。

    • 如果知识库的向量索引位于 Amazon OpenSearch Serverless 矢量存储中,请检查该faiss引擎是否配置了矢量索引。如果向量索引是使用 nmslib 引擎配置,则您必须执行以下操作之一:

    • 如果知识库的向量索引位于 Amazon Aurora 数据库集群中,请在开始摄取之前,检查您的索引是否包含元数据文件中每个元数据属性的列。

每次在数据来源中添加、修改或删除文件时,您都必须同步数据来源,以便将其重新索引到知识库中。同步是增量式的,因此 Amazon Bedrock 仅处理自上次同步以来添加、修改或删除的文档。

要了解如何将数据提取到知识库中并与最新数据同步,请选择首选方法对应的选项卡,然后按照以下步骤操作:

Console
将您的数据提取到知识库中并同步最新数据
  1. 打开 Amazon Bedrock 控制台,网址为https://console.aws.amazon.com/bedrock/

  2. 从左侧导航窗格中选择知识库,然后选择您的知识库。

  3. 数据来源部分中,选择同步以开始数据摄取或同步最新数据。要停止当前正在同步的数据来源,请选择停止。数据来源当前必须处于同步状态才能停止同步该数据来源。您可以再次选择同步以摄取其余数据。

  4. 数据摄取完成后,如果成功则会显示绿色成功横幅。

    注意

    数据同步完成后,如果您使用的是 Amazon Aurora () 以外的矢量存储,则可能需要几分钟时间才能将新同步数据的矢量嵌入反映到您的知识库中,并可供查询。RDS

  5. 您可以选择一个数据来源,查看其同步历史记录。选择查看警告以查看数据摄取作业失败的原因。

API

要将您的数据提取到知识库中并与最新数据同步,请向 Amazon Bedrock 构建时终端节点的代理发送StartIngestionJob请求。指定 knowledgeBaseIddataSourceId。您还可以通过发送请求来停止当前正在运行的数据摄取任务。StopIngestionJob指定 dataSourceIdingestionJobIdknowledgeBaseId。数据摄取作业必须当前正在运行才能停止数据提取。准备就绪后,您可以再次发送 StartIngestionJob 请求以提取其余数据。

Amazon Bedrock 代理构建时终端节点的GetIngestionJob请求中使用响应中ingestionJobId返回的内容来跟踪摄取任务的状态。此外,请指定 knowledgeBaseIddataSourceId

  • 提取作业完成后,响应中的 statusCOMPLETE

    注意

    数据摄取完成后,如果您使用 Amazon Aurora () 以外的矢量存储,则可能需要几分钟时间才能在矢量存储中显示新摄取数据的矢量嵌入以供查询。RDS

  • 响应中的 statistics 对象会返回有关数据来源中文档的提取是否成功的信息。

您还可以使用适用于 Amazon Bedrock 的代理构建时终端节点发送ListIngestionJobs请求,从而查看数据源的所有摄取任务的信息。指定要将数据摄取到的知识库的 dataSourceIdknowledgeBaseId

  • 通过在 filters 对象中指定要搜索的状态来筛选结果。

  • 通过指定 sortBy 对象,按作业启动时间或作业状态进行排序。您可以按升序或降序进行排序。

  • maxResults 字段中设置要在响应中返回的结果数量上限。如果结果数超过您设置的值,响应会返回 nextToken,您可以再发送一个 ListIngestionJobs 请求并在其中包含它,以查看下一批作业。