View a markdown version of this page

同步数据来源 - Amazon Bedrock

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

同步数据来源

创建完知识库后,需要摄取或同步数据,以便查询数据。摄取会将数据源中的原始数据转换为矢量嵌入。

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

  • 您已经为数据来源配置了连接信息。请参见连接数据源。在创建知识库的过程中,您可以配置数据来源。

  • 您已经配置了所选的矢量嵌入模型。查看支持的矢量嵌入模型。在创建知识库的过程中,您可以配置向量嵌入。

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

  • 这些文件不超过 AWS 一般参考中的服务配额和配额中指定的摄取任务文件大小。

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

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

Console
将数据摄取到知识库中并同步最新数据
  1. 登录 AWS 管理控制台 并导航至亚马逊 Bedrock AgentCore > Built-in 工具 > 知识库

  2. 选择您的知识库。

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

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

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

API

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

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

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

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

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

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

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

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

为数据源设置同步计划

您可以设置同步计划,让 Amazon Bedrock 以循环频率自动同步数据源,而不是在每次内容更改时手动开始同步。定期同步有助于使您的知识库保持最新状态,无需手动操作。您可以在连接数据源时设置同步计划,以后可以通过编辑数据源来更改同步计划。

您可以选择以下频率之一:

On-demand

仅当您手动启动同步时,内容才会同步。不进行自动调度。这是默认频率。

每天

内容每天在自动安排的时间同步一次,具体时间可能会有所不同。

Weekly

内容每周同步一次,在您指定的一周中的某一天,按自动安排的时间同步。

每月

内容每月同步一次,在您指定的当月某一天,按自动安排的时间同步。从 1 到 28 中选择特定的日期,或选择月底。

要为数据源设置同步计划,请选择首选方法的选项卡,然后按照以下步骤操作:

Console

连接数据源或编辑现有数据源时,找到 “同步计划” 部分并选择频率

  • 如果您选择 “每周”,请选择一周中运行同步的日期。

  • 如果选择 “每月”,请选择该月的特定日期 (1—28),或选择月底。

有关连接数据源的更多信息,请参阅连接数据源

API

要设置与 API、 AWS 软件开发工具包或的同步计划,请在向适用于 Amazon Bedrock 的代理构建时终端节点发送CreateDataSourceUpdateDataSource请求时,在managedKnowledgeBaseConnectorConfiguration(内dataSourceConfiguration)中添加一个syncSchedule对象。 AWS CLI要使用按需同步,请省略syncSchedule

在中syncSchedule,仅指定以下频率字段之一:

  • daily— 一个空对象 ({})。内容每天在系统选择的非高峰时间同步一次。

  • weekly— 具有必填dayOfWeek字段的对象。有效值为 SUNDAYMONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAY

  • monthly— 具有必填dayOfMonth字段的对象。在中dayOfMonth,仅指定以下选项之一:

    • dayNumber— 一个月中的特定日期,从128

    • lastDayOfMonth— 一个在每个月的最后一个日历日运行同步的空对象 ({})。

以下示例显示了计划dataSourceConfiguration在星期一进行每周同步的:

"dataSourceConfiguration": { "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "CONNECTOR_TYPE", "version": "1" }, "syncSchedule": { "weekly": { "dayOfWeek": "MONDAY" } } } }

要在每月 15 日同步,请将该syncSchedule值替换为以下值:

"syncSchedule": { "monthly": { "dayOfMonth": { "dayNumber": 15 } } }

设置时间表后,Amazon Bedrock 会按照您选择的频率自动运行同步。您仍然可以随时开始手动同步。要跟踪计划和手动同步作业,请在数据源详细信息页面上查看同步历史记录。有关更多信息,请参阅查看您的 Amazon Bedrock 知识库的数据源信息。