本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建托管式知识库
当您创建托管知识库时,Amazon Bedrock 会为您 AgentCore 管理存储、索引和检索基础设施。默认情况下,使用服务管理的嵌入模型,无需选择或配置模型。您可以选择改为提供自己的 Bedrock 嵌入模型。您也可以选择提供 KMS 密钥以加密托管矢量存储。
创建知识库后,将其连接到数据源并开始提取。有关连接数据源的详细信息,请参阅连接数据源。要同步数据源,请使用 StartIngestionJob API。有关更多信息,请参阅 将您的数据与 Amazon Bedrock 知识库同步。
要学习如何创建托管知识库,请选择首选方法的选项卡:
- Console
-
创建托管知识库
-
登录 AWS 管理控制台 并导航至亚马逊 Bedrock AgentCore > Built-in 工具 > 知识库。
-
选择 “创建托管知识库” 。
-
(可选)展开 “知识库详细信息” 部分的其他配置以配置以下内容:
-
在 “数据源” 下,提供数据源名称。
-
从下拉列表中选择您的数据源类型:亚马逊 S3、Confluence、自定义、谷歌云端硬盘或网络爬虫。 OneDrive SharePoint
-
为所选数据源类型配置数据源连接设置。
-
(可选)扩展内容解析和分块以配置以下内容:
-
默认情况下,解析策略设置为托管解析器。
-
从下拉列表中选择文本分块策略:
-
(可选)展开高级配置以配置高级索引。在 “内容索引” 下,默认索引来自常见文档的基于文本的内容。为其他模式启用高级索引:
-
文档中的视觉内容:处理独立图像文件(.png、.jpg、.jpeg、.jpe、.tif、.tif、.gif、.gif、.bmp、.webp、.svg、.jp2、.heic)和.pdf、.docx、.ppt、.ppt、.ppt、.ppt、.pptx 文件中的嵌入式视觉对象。
-
音频文件:处理 .mp3、.wav、.m4a、.flac、.ogg 文件。
-
视频文件:处理 .mp4、.mov、.m4v 文件。
(可选)设置最大文件大小 (MB) 并配置文档删除保护措施。
-
(可选)配置日志传输以将知识库摄取日志发送到日 CloudWatch 志、Amazon S3 或 Firehose 等目的地。
-
选择 “创建知识库” 。
-
等待知识库和数据源创建(2-5 分钟)。如果您使用客户管理的密钥创建托管知识库,则创建可能需要更长的时间。
- API
-
以下是使用带有 AWS CLI 或支持的 SDK(例如 Python)的 API 创建托管知识库和配置数据源的示例。致电后 CreateKnowledgeBase,您CreateDataSource致电创建包含连接信息的数据源dataSourceConfiguration。
要了解可以通过添加可选的 vectorIngestionConfiguration 字段来应用于摄取的定制设置,请参阅自定义数据来源的摄取。
AWS Command Line Interface
第 1 步:创建知识库
使用托管嵌入模型(默认):
aws bedrock-agent create-knowledge-base \
--name "my-managed-kb" \
--role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \
--description "My managed knowledge base" \
--knowledge-base-configuration file://kb-config.json
kb-config.json
{
"type": "MANAGED",
"managedKnowledgeBaseConfiguration": {
"embeddingModelType": "MANAGED"
}
}
使用自定义嵌入模型(客户提供的基岩模型):
aws bedrock-agent create-knowledge-base \
--name "my-custom-embed-kb" \
--role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \
--description "My managed knowledge base with custom embedding" \
--knowledge-base-configuration file://kb-config.json
kb-config.json
{
"type": "MANAGED",
"managedKnowledgeBaseConfiguration": {
"embeddingModelType": "CUSTOM",
"embeddingModelArn": "arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v2:0",
"embeddingModelConfiguration": {
"bedrockEmbeddingModelConfiguration": {
"dimensions": 1024
}
}
}
}
省略embeddingModelType时,默认为MANAGED。使用时MANAGED,不得指定embeddingModelArn或embeddingModelConfiguration。使用时CUSTOM,这两个字段都是必填字段。
步骤 2:创建数据源
aws bedrock-agent create-data-source \
--name "S3-connector" \
--description "S3 data source connector for Amazon Bedrock to use content in S3" \
--knowledge-base-id "your-knowledge-base-id" \
--data-source-configuration file://bedrock-s3-managed-connector-configuration.json \
--data-deletion-policy "DELETE" \
--vector-ingestion-configuration '{"parsingConfiguration":{"parsingStrategy":"SMART_PARSING"}}'
bedrock-s3-managed-connector-configuration.json
{
"type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR",
"managedKnowledgeBaseConnectorConfiguration": {
"mediaExtractionConfiguration": {
"imageExtractionConfiguration": {
"imageExtractionStatus": "ENABLED"
}
},
"connectorParameters": {
"type": "S3",
"version": "1",
"connectionConfiguration": {
"bucketName": "your-test-s3-bucket",
"bucketOwnerAccountId": "123456789012"
},
"deletionProtectionConfiguration": {
"enableDeletionProtection": false
}
}
}
}
嵌入模型选项
托管知识库支持两种嵌入模型类型:
创建知识库后,您无法更改嵌入模型类型。要在托管嵌入和自定义嵌入之间切换,必须创建一个新的知识库。
如果您使用自定义嵌入模型创建知识库,则托管重排器不适用于该知识库。要使用托管重排器,请使用默认的托管嵌入模型创建知识库。
支持的数据源连接器
托管知识库支持以下数据源连接器:
-
Amazon S3
-
Confluence
-
微软 SharePoint
-
Google Drive
-
微软 OneDrive
-
网络爬虫
-
自定义连接器
有关配置数据源连接器的信息,请参阅连接数据源。