View a markdown version of this page

创建托管知识库 - Amazon Bedrock

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

创建托管知识库

当您创建托管知识库时,Amazon Bedrock 会为您 AgentCore 管理存储、索引和检索基础设施。默认情况下,使用服务管理的嵌入模型,无需选择或配置模型。您可以选择提供自己的 Bedrock 嵌入模型。您也可以选择提供 KMS 密钥来加密托管矢量存储。

创建知识库后,将其连接到数据源并开始摄取。有关连接数据源的详细信息,请参阅 Connect 数据源。要同步数据源,请使用 StartIngestionJob API。有关更多信息,请参阅 将您的数据与 Amazon Bedrock 知识库同步

要了解如何创建托管知识库,请选择首选方法的选项卡:

Console
创建托管知识库
  1. 登录 AWS 管理控制台 并导航至 Amazon Bedrock AgentCore > Built-in 工具 > 知识库

  2. 选择 “创建托管知识库”。

  3. (可选)展开知识库详细信息部分的其他配置以配置以下内容:

    • 添加描述。

    • 选择嵌入模型类型:

      • 托管(默认):使用服务管理的嵌入模型。无需选择或配置型号。

      • 自定义:选择基岩嵌入模型。选择模型以打开模型选择器,其中显示了可用的提供商(Amazon、Cohere)和型号。

    • 配置 IAM 权限:选择创建并使用新的服务角色(推荐)或选择现有角色。

    • 为托管矢量存储配置 AWS KMS 加密(默认情况下为AWS 托管密钥,或选择自定义 KMS 密钥)。

  4. 在 “数据源” 下,提供数据源名称。

  5. 从下拉列表中选择您的数据源类型:Amazon S3、Confluence、自定义、Google 云端硬盘、 OneDrive SharePoint、或 Web Crawler。

  6. 为您选定的数据源类型配置数据源连接设置。

  7. (可选)展开内容解析和分块以配置以下内容:

    • 默认情况下,解析策略设置为托管解析器

    • 从下拉列表中选择文本分块策略:

      • 默认分块(推荐):将文本拆分为固定大小的块。

      • Fixed-size chunking:将文本拆分为你设定的近似标记大小。

      • 不分块:适用于预处理或预拆分的文档。

  8. (可选)展开高级配置以配置高级索引。在 “内容索引” 下,默认索引来自普通文档的基于文本的内容。为其他模式启用高级索引:

    • 文档中的视觉内容:处理.pdf、.docx、.ppt、.pptx 文件中的嵌入式视觉对象。

    • 音频文件:处理.mp3、.wav、.m4a、.flac、.ogg 文件。

    • 视频文件:处理.mp4、.mov、.m4v 文件。

    (可选)设置最大文件大小 (MB) 并配置文档删除保护。

  9. (可选)配置日志传输,将知识库摄取日志发送到日 CloudWatch 志、Amazon S3 或 Firehose 等目的地。

  10. 选择 “创建知识库”。

  11. 等待知识库和数据源创建完成(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,不得指定embeddingModelArnembeddingModelConfiguration。使用时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 } } } }

嵌入模型选项

托管知识库支持两种嵌入模型类型:

  • 托管嵌入(默认)-自动使用服务管理的嵌入模型。您无需选择模型、配置尺寸或管理 Bedrock 嵌入服务限制。该服务以透明的方式处理模型选择、托管和扩展。

  • 自定义嵌入 — 您可以提供自己的基岩嵌入模型 ARN。使用自定义嵌入模型时,必须指定模型尺寸 (1024) 和 float32 嵌入数据类型。支持以下基岩嵌入模型:

    • Amazon Titan 文本嵌入 V2

    • Cohere 嵌入英语 v3

    • Cohere 嵌入多语言 v3

    • Cohere Embed v4

    • Amazon Nova 多模式嵌入式

注意

创建知识库后,您无法更改嵌入模型类型。要在托管嵌入和自定义嵌入之间切换,必须创建新的知识库。

重要

如果您使用自定义嵌入模型创建知识库,则该知识库无法使用托管重新排名。要使用托管重新排名,请使用默认的托管嵌入模型创建知识库。

支持的数据源连接器

托管知识库支持以下数据源连接器:

  • Amazon S3

  • Confluence

  • 微软 SharePoint

  • Google Drive

  • 微软 OneDrive

  • 网络爬虫

  • 自定义连接器

有关配置数据源连接器的信息,请参阅 Connect 数据源