本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
同步数据来源
创建完知识库后,需要摄取或同步数据,以便查询数据。摄取会将数据源中的原始数据转换为矢量嵌入。
在开始摄取之前,请检查您的数据来源是否满足以下条件:
-
您已经为数据来源配置了连接信息。请参见连接数据源。在创建知识库的过程中,您可以配置数据来源。
-
您已经配置了所选的矢量嵌入模型。查看支持的矢量嵌入模型。在创建知识库的过程中,您可以配置向量嵌入。
-
文件采用受支持的格式。有关更多信息,请参阅支持的文档格式。
-
这些文件不超过 AWS 一般参考中的服务配额和配额中指定的摄取任务文件大小。
每次在数据来源中添加、修改或删除文件时,您都必须同步数据来源,以便将其重新索引到知识库中。同步是增量式的,因此 Amazon Bedrock 仅处理自上次同步以来添加、修改或删除的文档。
要了解如何将数据摄取到知识库中并同步最新数据,请选择与您的首选方法对应的选项卡,然后按照以下步骤操作:
- Console
-
将数据摄取到知识库中并同步最新数据
-
登录 AWS 管理控制台 并导航至亚马逊 Bedrock AgentCore > Built-in 工具 > 知识库。
-
选择您的知识库。
-
在数据来源部分中,选择同步以开始数据摄取或同步最新数据。要停止当前正在同步的数据来源,请选择停止。数据来源当前必须处于同步状态才能停止同步该数据来源。您可以再次选择同步以摄取其余数据。
-
数据摄取完成后,如果成功则会显示绿色成功横幅。
-
您可以选择一个数据来源,查看其同步历史记录。选择查看警告以查看数据摄取作业失败的原因。
- API
-
要将您的数据摄入知识库并与最新数据同步,请向 Ag ents for Amazon Bedrock 构建时终端节点发送StartIngestionJob请求。指定 knowledgeBaseId 和 dataSourceId。您还可以通过发送StopIngestionJob请求来停止当前正在运行的数据摄取作业。指定 dataSourceId、ingestionJobId 和 knowledgeBaseId。数据摄取作业必须当前正在运行才能停止数据摄取。准备就绪后,您可以再次发送 StartIngestionJob 请求以摄取其余的数据。
使用向 Amazon Bedrock 的代理构建时终端节点发出的GetIngestionJob请求中ingestionJobId返回的响应来跟踪摄取任务的状态。此外,请指定 knowledgeBaseId 和 dataSourceId。
您还可以通过向 Amazon Bedrock 的代理构建时终端节点发送ListIngestionJobs请求,查看数据源的所有摄取任务的信息。指定要将数据摄取到的知识库的 dataSourceId 和 knowledgeBaseId。
-
通过在 filters 对象中指定要搜索的状态来筛选结果。
-
通过指定 sortBy 对象,按作业启动时间或作业状态进行排序。您可以按升序或降序进行排序。
-
在 maxResults 字段中设置要在响应中返回的结果数量上限。如果结果数超过您设置的值,响应会返回 nextToken,您可以再发送一个 ListIngestionJobs 请求并在其中包含它,以查看下一批作业。
为数据源设置同步计划
您可以设置同步计划,让 Amazon Bedrock 以循环频率自动同步数据源,而不是在每次内容更改时手动开始同步。定期同步有助于使您的知识库保持最新状态,无需手动操作。您可以在连接数据源时设置同步计划,以后可以通过编辑数据源来更改同步计划。
您可以选择以下频率之一:
- On-demand
-
仅当您手动启动同步时,内容才会同步。不进行自动调度。这是默认频率。
- 每天
-
内容每天在自动安排的时间同步一次,具体时间可能会有所不同。
- Weekly
-
内容每周同步一次,在您指定的一周中的某一天,按自动安排的时间同步。
- 每月
-
内容每月同步一次,在您指定的当月某一天,按自动安排的时间同步。从 1 到 28 中选择特定的日期,或选择月底。
要为数据源设置同步计划,请选择首选方法的选项卡,然后按照以下步骤操作:
- Console
-
连接数据源或编辑现有数据源时,找到 “同步计划” 部分并选择频率:
有关连接数据源的更多信息,请参阅连接数据源。
- API
-
要设置与 API、 AWS 软件开发工具包或的同步计划,请在向适用于 Amazon Bedrock 的代理构建时终端节点发送CreateDataSource或UpdateDataSource请求时,在managedKnowledgeBaseConnectorConfiguration(内dataSourceConfiguration)中添加一个syncSchedule对象。 AWS CLI要使用按需同步,请省略syncSchedule。
在中syncSchedule,仅指定以下频率字段之一:
-
daily— 一个空对象 ({})。内容每天在系统选择的非高峰时间同步一次。
-
weekly— 具有必填dayOfWeek字段的对象。有效值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY。
-
monthly— 具有必填dayOfMonth字段的对象。在中dayOfMonth,仅指定以下选项之一:
以下示例显示了计划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 知识库的数据源信息。