本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建托管知识库
当您创建托管知识库时,Amazon Bedrock 会为您 AgentCore 管理存储、索引和检索基础设施。默认情况下,使用服务管理的嵌入模型,无需选择或配置模型。您可以选择提供自己的 Bedrock 嵌入模型。您也可以选择提供 KMS 密钥来加密托管矢量存储。
创建知识库后,将其连接到数据源并开始摄取。有关连接数据源的详细信息,请参阅 Connect 数据源。要同步数据源,请使用 StartIngestionJob API。有关更多信息,请参阅 将您的数据与 Amazon Bedrock 知识库同步。
要了解如何创建托管知识库,请选择首选方法的选项卡:
- Console
-
创建托管知识库
-
登录 AWS 管理控制台 并导航至 Amazon Bedrock AgentCore > Built-in 工具 > 知识库。
-
选择 “创建托管知识库”。
-
(可选)展开知识库详细信息部分的其他配置以配置以下内容:
-
在 “数据源” 下,提供数据源名称。
-
从下拉列表中选择您的数据源类型:Amazon S3、Confluence、自定义、Google 云端硬盘、 OneDrive SharePoint、或 Web Crawler。
-
为您选定的数据源类型配置数据源连接设置。
-
(可选)展开内容解析和分块以配置以下内容:
-
默认情况下,解析策略设置为托管解析器。
-
从下拉列表中选择文本分块策略:
-
(可选)展开高级配置以配置高级索引。在 “内容索引” 下,默认索引来自普通文档的基于文本的内容。为其他模式启用高级索引:
-
文档中的视觉内容:处理.pdf、.docx、.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"
}
}
使用自定义嵌入模型(客户提供的 Bedrock 模型):
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
-
网络爬虫
-
自定义连接器
有关配置数据源连接器的信息,请参阅 Connect 数据源。