将您创建的向量存储用于知识库的先决条件 - Amazon Bedrock

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

将您创建的向量存储用于知识库的先决条件

要存储文档转换为的向量嵌入,请使用向量存储。Amazon Bedrock 知识库支持某些向量存储的快速创建流程,因此,如果您希望 Amazon Bedrock 在其中一个向量存储中自动为您创建向量索引,请跳过此先决条件步骤,直接前往在 Amazon Bedrock 知识库中通过连接到数据来源创建知识库这一步骤。

如果要存储二进制向量嵌入而不是标准浮点型(float32)向量嵌入,则必须使用支持二进制向量的向量存储。

注意

Amazon OpenSearch Serverless 和亚马逊 OpenSearch 托管集群是唯一支持存储二进制向量的矢量存储。

您可以设置自己的受支持向量存储,以便为数据的向量嵌入表示编制索引。您需要为以下数据创建字段:

  • 您选择的嵌入模型根据数据来源中的文本生成的向量的字段。

  • 从数据来源中的文件提取的文本块的字段。

  • Amazon Bedrock 管理的源文件元数据的字段。

  • (如果您使用的是 Amazon Aurora 数据库,并希望设置元数据筛选)与源文件关联的元数据的字段。如果您计划在其他向量存储中设置筛选,则无需为这些字段设置筛选。

您可以使用 KMS 密钥来加密第三方向量存储。有关更多信息,请参阅 Encryption of knowledge base resources

选择与将用于创建向量索引的向量存储服务对应的选项卡。

注意

您对嵌入模型和向量维度的选择可能会影响对可用向量存储的选择。如果您无法使用首选向量存储,请选择兼容选项,即嵌入模型和向量维度。

Amazon OpenSearch Serverless
  1. 要在 Amazon OpenSearch Serverless 中配置权限并创建矢量搜索集合AWS 管理控制台,请按照《亚马逊 OpenSearch 服务开发者指南》中使用矢量搜索集合中的步骤 1 和步骤 2 进行操作。设置集合时,请注意以下事项:

    1. 为集合指定您选择的名称和描述。

    2. 要将您的集合设置为私有,请在安全性部分选择标准创建。然后,在网络访问设置部分,选择 VPC 作为访问类型,然后选择一个 VPC 端点。有关为亚马逊 OpenSearch 无服务器集合设置 VPC 终端节点的更多信息,请参阅《亚马逊 OpenSearch 服务开发者指南》中的使用接口终端节点 (AWS PrivateLink) 访问亚马逊 OpenSearch 无服务器

  2. 集合创建完后,记下创建知识库时的集合 ARN

  3. 在左侧导航窗格中,选择无服务器下的集合。然后选择向量搜索集合。

  4. 选择索引选项卡。然后选择创建向量索引

  5. 向量索引详细信息部分的向量索引名称字段中,输入索引名称。

  6. 向量字段部分,选择添加向量字段。Amazon Bedrock 会将您的数据来源的向量嵌入数据存储在此字段中。提供以下配置:

    • 向量字段名称 - 提供字段的名称(例如 embeddings)。

    • 引擎 - 用于搜索的向量引擎。选择 faiss

    • 维度 – 向量中的维度数。请参阅下表确定向量应包含的维度数:

      模型 Dimensions
      Titan G1 嵌入 - 文本 1,536
      Titan V2 嵌入 - 文本 1024、512 和 256
      Cohere Embed(英文版) 1024
      Cohere Embed(多语版) 1024
    • 距离指标 – 用于衡量向量之间相似性的指标。我们建议将欧几里得用于浮点型向量嵌入。

  7. 展开元数据管理部分并添加两个用于配置向量索引的字段,以存储知识库可通过向量检索的其他元数据。下表介绍了需要为每个字段指定的字段和值:

    字段描述 映射字段 数据类型 可筛选
    Amazon Bedrock 会对数据中的原始文本进行分块,然后将这些文本块存储在此字段中。 您选择的名称(例如 text 字符串 True
    Amazon Bedrock 会将与知识库相关的元数据存储在此字段中。 您选择的名称(例如 bedrock-metadata 字符串 False
  8. 记下创建知识库时为向量索引名称、向量字段名称和元数据管理映射字段名称选择的名称。然后选择创建

创建向量索引后,您可以继续执行创建知识库。下表汇总了您将输入您记下的每条信息的位置。

字段 知识库设置中的相应字段(控制台) 知识库设置中的相应字段 (API) 说明
集合 ARN 集合 ARN collectionARN 向量搜索集合的 Amazon 资源名称(ARN)。
向量索引名称 向量索引名称 vectorIndexName 向量索引的名称。
向量字段名称 向量字段 vectorField 用于为数据来源存储向量嵌入数据的字段的名称。
元数据管理(第一个映射字段) 文本字段 textField 用于存储来自数据来源的原始文本的字段的名称。
元数据管理(第二个映射字段) Bedrock 托管的元数据字段 metadataField 用于存储 Amazon Bedrock 管理的元数据的字段的名称。

有关在 Amazon OpenSearch Serverless 中设置矢量库的更多详细文档,请参阅《亚马逊 OpenSearch 服务开发者指南》中的使用矢量搜索集合

Amazon OpenSearch Service Managed Clusters
重要
  1. 要在中的 OpenSearch 集群中创建域和向量索引AWS 管理控制台,请按照《Amazon Service 开发者指南》中创建和管理 OpenSearch OpenSearch 服务中描述的步骤进行操作。

    设置域时,请注意以下事项:

    1. 为域提供所选名称。

    2. 建议您使用快捷创建选项来快速开始创建您的域。

      注意

      此选项会为您提供一个吞吐量较低的域。如果您有需要更高吞吐量的更大规模工作负载,请选择标准创建选项。稍后可根据需要调整容量。利用此选项,您可以从最低容量开始,之后可根据需要对容量进行修改。

    3. 对于 “网络”,必须选择 “公共访问”。 OpenSearch 您的知识库不支持位于 VPC 之后的域。

    4. 对于版本,如果您使用的是二进制向量嵌入,则 Amazon Bedrock 知识库需要引擎版本 2.16 或更高版本。此外,需要版本 2.13 或更高版本才能创建 k-nn 索引。有关更多信息,请参阅《亚马逊 OpenSearch 服务开发者指南》中的 K-NN 搜索

    5. 建议您使用双栈模式

    6. 我们建议您启用精细访问控制以保护您域中的数据,并进一步控制授予知识库服务角色访问该 OpenSearch 域和发出请求的权限。

    7. 将所有其他设置保留为默认值,然后选择创建以创建您的域。

  2. 创建域后,单击该域以记下创建知识库时需使用的域 ARN域端点

  3. 创建域后,您可以通过在 OpenSearch 仪表板上运行以下命令或使用 curl 命令来创建向量索引。有关详情,请参阅 OpenSearch 文档

    运行命令时:

    • 提供向量字段的名称(例如 embeddings)。

    • 确保用于搜索的向量为 faissnmslib 不受支持。

    • 有关向量中的维度数,请参阅下表以确定向量应包含的维度数:

      注意

      Titan V2 嵌入 - 文本模型支持多个维度。它也可以是 256 或 512。

      模型 Dimensions
      Titan G1 嵌入 - 文本 1,536
      Titan V2 嵌入 - 文本 1024、512 和 256
      Cohere Embed(英文版) 1024
      Cohere Embed(多语版) 1024
    • 您可以添加两个用于配置向量索引的字段,以存储知识库可通过向量检索的其他元数据。下表描述了这两个字段以及要为每个字段指定的值。

      字段描述 映射字段
      Amazon Bedrock 会对数据中的原始文本进行分块,然后将这些文本块存储在此字段中。 指定为对象,例如 AMAZON_BEDROCK_TEXT_CHUNK
      Amazon Bedrock 会将与知识库相关的元数据存储在此字段中。 指定为对象,例如 AMAZON_BEDROCK_METADATA
    PUT /<index-name> { "settings": { "index": { "knn": true } }, "mappings": { "properties": { "<vector-name>": { "type": "knn_vector", "dimension": <embedding-dimension>, "data_type": "binary", # Only needed for binary embeddings "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings "method": { "name": "hnsw", "engine": "faiss", "parameters": { "ef_construction": 128, "m": 24 } } }, "AMAZON_BEDROCK_METADATA": { "type": "text", "index": "false" }, "AMAZON_BEDROCK_TEXT_CHUNK": { "type": "text", "index": "true" } } } }
  4. 记下域 ARN 和端点,以及您为向量索引名称、向量字段名称和元数据管理映射字段名称选择的名称,以便在创建知识库时使用。

创建向量索引后,您可以继续执行创建知识库。下表汇总了您将输入您记下的每条信息的位置。

字段 知识库设置中的相应字段(控制台) 知识库设置中的相应字段 (API) 说明
域 ARN 域 ARN domainARN 域名的亚马逊资源名称 (ARN)。 OpenSearch
域端点 域端点 domainEndpoint 要连接到 OpenSearch 域的终端节点。
向量索引名称 向量索引名称 vectorIndexName 向量索引的名称。
向量字段名称 向量字段 vectorField 用于为数据来源存储向量嵌入数据的字段的名称。
元数据管理(第一个映射字段) 文本字段 textField 用于存储来自数据来源的原始文本的字段的名称。
元数据管理(第二个映射字段) Bedrock 托管的元数据字段 metadataField 用于存储 Amazon Bedrock 管理的元数据的字段的名称。
Amazon S3 Vectors

Amazon S3 Vectors 在 Amazon S3 中提供了经济实用的向量存储,可用于存储和查询向量数据。它可为大型向量数据集提供持久且弹性的存储,并具备亚秒级的查询性能。Amazon S3 Vectors 最适合查询频率较低的工作负载,在检索增强生成(RAG)和语义搜索应用程序中使用时,有助于降低成本。

Amazon S3 向量引入了 S3 向量存储桶,其中包含您可以根据语义和相似性查询的向量索引。它可用于实现亚秒级的查询响应时间并降低成本,同时能大规模存储、访问和查询向量数据,且无需预调配任何基础设施。在向量存储桶中,可以在向量索引中组织向量数据。您的矢量存储桶可以有多个向量索引。有关更多信息,请参阅《Amazon S3 用户指南》中的 Amazon S3 Vectors

注意
  • 你可以为所有AWS 区域同时提供 Amazon Bedrock 和 Amazon S3 矢量的 Amazon S3 矢量创建知识库。有关 Amazon S3 Vectors 的区域可用性的信息,请参阅《Amazon S3 用户指南》中的 Amazon S3 Vectors

  • 在 Amazon Bedrock 知识库中使用非常高的令牌计数和分层分块时,由于父子区块关系和分层上下文作为不可筛选的元数据存储在 Amazon S3 Vectors 中,您可能会超过元数据大小的最大限制。有关每个向量的元数据大小限制的更多信息,请参阅 Amazon S3 用户指南中的限制和限制。有关分块策略的信息,请参阅知识库的内容分块是如何运作的

元数据支持

您可以将元数据作为键值对附加到每个向量。默认情况下,元数据是可筛选的,可用于相似度搜索查询,以按日期、类别或用户首选项等条件进行筛选。

您还可以在创建矢量索引时将元数据配置为不可筛选。Amazon S3 向量索引支持字符串、布尔值和数字类型。

将 Amazon S3 矢量与 Amazon Bedrock 知识库配合使用时,每个向量最多可以附加 1 KB 的自定义元数据(包括可筛选和不可筛选的元数据)和 35 个元数据密钥。有关每个向量的元数据大小限制的更多信息,请参阅 Amazon S3 用户指南中的限制和限制

如果元数据超过这些限制,则在填充向量索引时,摄取任务将引发异常。有关更多信息,请参阅《Amazon S3 用户指南》中的 Amazon S3 Vectors

所需的权限

确保您的 IAM 策略允许 Amazon Bedrock 访问 S3 向量存储桶中的向量索引。有关所需权限的更多信息,请参阅 为 Amazon Bedrock 知识库创建服务角色

创建 S3 向量存储桶和索引

要将 Amazon S3 Vectors 用于知识库,您需要创建 S3 向量存储桶和向量索引。您可以使用 Amazon S3 控制台或 S AWS DK 创建矢量存储桶和索引。AWS CLI有关详细说明,请参阅《Amazon S3 用户指南》中的创建向量索引

Amazon S3 控制台中创建向量存储桶和索引时,请注意以下事项。

  1. 在创建 S3 向量存储桶时,请注意以下事项。

    • 提供唯一的向量存储桶名称

    • (可选)Amazon S3 将自动通过使用 Amazon S3 托管密钥的服务器端加密(SSE-S3)对数据进行加密。您可以选择是使用此默认加密,还是使用密钥管理服务密AWS钥进行服务器端加密 (SSE-KMS)。

      注意

      创建向量存储桶后,无法更改加密类型。

      有关 step-by-step说明,请参阅使用 AWS KMS 密钥加密

  2. 创建 S3 向量存储桶后,记下向量存储桶的 Amazon 资源名称(ARN)以便在创建知识库时使用。

  3. 选择您创建的向量存储桶,然后创建向量索引。在创建向量索引时,请注意以下事项。

    • 向量索引名称 - 提供字段的名称(例如 embeddings)。

    • 维度 – 向量中的维度数。维度必须是介于 1 和 4096 之间的值。请参阅下表以根据所选嵌入模型确定向量应包含的维度数:

      模型 Dimensions
      Titan G1 嵌入 - 文本 1,536
      Titan V2 嵌入 - 文本 1024、512 和 256
      Cohere Embed(英文版) 1024
      Cohere Embed(多语版) 1024
    • 注意

      Amazon S3 Vectors 仅支持浮点型嵌入。不支持二进制嵌入。

      距离指标 – 用于衡量向量之间相似性的指标。您可以使用余弦欧几里得

  4. 展开其他设置,在不可筛选的元数据字段中提供任意不可筛选的元数据。

    可以配置最多 10 个不可筛选的元数据键。选择添加键,然后将 AMAZON_BEDROCK_TEXTAMAZON_BEDROCK_METADATA 作为键添加。

  5. 加密下,选择指定加密类型。您可以选择使用存储桶设置进行加密或覆盖矢量索引的加密设置。如果您覆盖存储桶级别的设置,则可以选择将矢量索引的加密类型指定为使用AWS密钥管理服务密钥的服务器端加密 (SSE-KMS) 或使用 Amazon S3 托管密钥的默认服务器端加密 (SSE-S3)。有关为矢量索引设置加密配置的更多信息,请参阅 Amazon S3 矢量中的数据保护和加密

  6. 在 “标签(可选)” 下,您可以将标签添加为键值对,以帮助使用 B AWS illing and Billing and Cost Management 跟踪和组织向量索引成本。输入 Key (键)Value (值)。要添加另一个标签,请选择 Add Tag (添加标签)。您最多可以为向量索引输入 50 个标签。有关更多信息,请参阅在 Amazon S3 向量索引中使用标签

  7. 创建向量索引并记下向量索引的 Amazon 资源名称(ARN)以便在创建知识库时使用。

为 S3 向量存储桶创建知识库

收集这些信息后,可以继续创建知识库。在使用 S3 向量存储桶创建知识库时,您需要提供向量存储桶的 ARN 和向量索引。向量索引将存储从数据来源生成的嵌入。下表汇总了您将输入您每条信息的位置:

字段 知识库设置中的相应字段(控制台) 知识库设置中的相应字段 (API) 说明
向量存储桶 ARN S3 向量存储桶 ARN vectorBucketArn S3 向量存储桶的 Amazon 资源名称(ARN)。
向量索引 ARN S3 向量索引 ARN vectorIndexARN S3 向量存储桶的向量索引的 Amazon 资源名称(ARN)。
Amazon Aurora (RDS)
  1. 按照使用 Aurora PostgreSQL 作为知识库中的步骤创建 Amazon Aurora 数据库(DB)集群、架构和表。创建表时,请使用以下列和数据类型对表进行配置。您可以使用自己喜欢的列名来代替下表中列出的列名。记下您选择的列名,以便在知识库设置期间提供这些名称。

    您必须先提供这些字段,然后再创建知识库。这些字段在创建知识库后无法更新。

    重要

    Aurora 集群必须与AWS 账户为 Amazon Bedrock 创建知识库的集群所在的集群相同。

    列名称 数据类型 知识库设置中的相应字段(控制台) 知识库设置中的相应字段 (API) 说明
    id UUID(主键) 主键 primaryKeyField 包含每条记录的唯一标识符。
    嵌入 向量 向量字段 vectorField 包含数据来源的向量嵌入。
    chunks 文本 文本字段 textField 包含来自数据来源的原始文本块。
    元数据 JSON Bedrock 托管的元数据字段 metadataField 包含执行来源归因以及启用数据摄取和查询所需的元数据
    custom_metadata JSONB 自定义元数据字段 customMetadataField 可选字段,指示 Amazon Bedrock 将在其中写入数据来源中所有元数据文件的所有信息的列。
  2. 您必须在向量列和文本列上为文本和嵌入字段创建索引。如果您使用的是自定义元数据字段,则还必须在此列上创建 GIN 索引。GIN 索引可用于高效地搜索 jsonb 文档中的键值对以进行元数据筛选。有关更多信息,请参阅 PostgreSQL 文档中的 jsonb 索引

    列名称 创建索引 必填?
    嵌入 CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
    chunks CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('simple', chunks));
    自定义元数据 CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (custom_metadata); 仅在您创建了自定义元数据列时。
    注意

    为了提高混合搜索的准确性和英语内容的延迟,可以考虑使用 “英语” 词典而不是 “简单” 词典:

    CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks));
  3. (可选)如果您向文件添加了要筛选的元数据,我们建议您在自定义元数据字段中提供列名,以便将所有元数据存储在一个列中。在数据摄取期间,此列中将填入数据来源中的元数据文件包含的所有信息。如果您选择提供该字段,则必须在此列上创建 GIN 索引。

    注意

    如果您经常对数值型元数据使用范围筛选条件,要优化性能,请为特定键创建索引。例如,如果您使用 "lessThan": { "key": "year", "value": 1989 } 等筛选条件,则在 year 键上创建表达式索引。有关更多信息,请参阅 PostgreSQL 文档中的表达式索引

    CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision

    或者,如果您未提供此字段名称,则可以为文件中的每个元数据属性创建一个列,并指定数据类型(文本、数字或布尔值)。例如,如果数据来源中存在属性 genre,您应添加名为 genre 的列,并指定 text 作为数据类型。在数据摄取期间,会在这些单独的列中填入相应的属性值。

  4. 按照使用 A mazon Aurora 进行AWS Secrets Manager密码管理中的步骤为您的 Aurora 数据库集群配置密钥和AWS Secrets Manager

  5. 创建数据库集群并设置密钥后,记下以下信息。

    知识库设置中的字段(控制台) 知识库设置中的字段 (API) 说明
    Amazon Aurora 数据库集群 ARN resourceArn 数据库集群的 ARN。
    数据库名称 databaseName 数据库的名称
    表名 tableName 数据库集群中的表的名称
    密钥 ARN credentialsSecretArn 您的数据库集群的AWS Secrets Manager密钥的 ARN
Neptune Analytics graphs (GraphRAG)
  1. 要通过 AWS 管理控制台在 Neptune Analytics 中创建图表和向量存储,请按照《Neptune Analytics 用户指南》中的 Neptune Analytics 中的向量索引中描述的步骤操作。

    注意

    要使用 Neptune GraphRAG,请创建一个带向量搜索索引的空 Neptune Analytics 图表。向量搜索索引只能在创建图表时创建。在控制台中创建 Neptune Analytics 图表时,您可以在此过程即将结束时,在向量搜索设置下指定索引维度。

    创建图表时,请注意以下事项:

    1. 为图表提供所选名称。

    2. 在 “数据源” 下,选择 “创建空图”,然后指定NCUs 要分配的 m-的数量。每个 m-NCU 拥有约 1 GiB 的内存容量,以及相应的计算和联网能力。

      注意

      图表的容量稍后可进行修改。我们建议您从最小实例开始,之后再根据需要选择其他实例。

    3. 您可以保留默认的网络连接设置。Amazon Bedrock 将创建与知识库所关联的 Neptune Analytics 图表的网络连接。您无需为图表配置公有连接或私有端点。

    4. 向量搜索设置下,选择使用向量维度,并指定每个向量中的维度数。

      注意

      每个向量中的维度数必须与嵌入模型中的向量维度相匹配。请参阅下表确定向量应包含的维度数:

      模型 Dimensions
      Titan G1 嵌入 - 文本 1,536
      Titan V2 嵌入 - 文本 1024、512 和 256
      Cohere Embed(英文版) 1024
      Cohere Embed(多语版) 1024
    5. 将所有其他设置保留为默认值并创建图表。

  2. 创建图表后,单击它以记下资源 ARN向量维度以便在创建知识库时使用。在 Amazon Bedrock 中选择嵌入模型时,请确保所选模型的维度与您在 Neptune Analytics 图表上配置的向量维度相同。

创建向量索引后,您可以继续执行创建知识库。下表汇总了您将输入您记下的每条信息的位置。

字段 知识库设置中的相应字段(控制台) 知识库设置中的相应字段 (API) 说明
图表 ARN Neptune Analytics 图表 ARN graphARN Neptune Analytics 图表的 Amazon 资源名称(ARN)。
元数据管理(第一个映射字段) 文本字段名称 textField 用于存储来自数据来源的原始文本的字段的名称。您可以为此字段提供任何值,例如文本
元数据管理(第二个映射字段) Bedrock 托管的元数据字段 metadataField 用于存储 Amazon Bedrock 管理的元数据的字段的名称。您可以为此字段提供任何值,例如元数据
Pinecone
注意

如果您使用Pinecone,则表示您AWS同意授权代表您访问指定的第三方来源,以便向您提供矢量存储服务。您有责任遵守适用于使用和传输第三方服务数据的任何第三方条款。

有关在 Pinecone 中设置向量存储的详细文档,请参阅 Pinecone as a knowledge base for Amazon Bedrock

请在设置向量存储时记下以下信息,创建知识库时需要填写这些信息:

  • 端点 URL – 您的索引管理页面的端点 URL。

  • 凭证密钥 ARN — 您在中创建的密钥的 Amazon 资源名称 (ARN)AWS Secrets Manager,其中包含数据库用户的用户名和密码。

  • (可选)凭证密钥 ARN 的客户自主管理型 KMS 密钥 - 如果您对凭证密钥 ARN 进行了加密,请提供 KMS 密钥,以便 Amazon Bedrock 对其进行解密。

  • 命名空间 –(可选)用于向数据库写入新数据的命名空间。有关更多信息,请参阅使用命名空间

创建 Pinecone 索引时,还必须提供其他配置:

  • 文本字段名称 – Amazon Bedrock 应将原始块文本存储到的字段的名称。

  • 元数据字段名称 – Amazon Bedrock 应将源属性元数据存储到的字段的名称。

要访问您的 Pinecone 索引,您必须通过 AWS Secrets Manager 向 Amazon Bedrock 提供您的 Pinecone API 密钥。

为 Pinecone 配置设置密钥
  1. 按照创建密钥中的步骤操作,将AWS Secrets Manager密钥设置为apiKey,将值设置为 API 密钥以访问您的Pinecone索引。

  2. 要查找您的 API 密钥,请打开 Pinecone 控制台并选择 API 密钥

  3. 创建密钥后,请记下 KMS 密钥的 ARN。

  4. 按照 解密包含知识库的矢量存储的AWS Secrets Manager密钥的权限 中的步骤,向您的服务角色授予解密 KMS 密钥 ARN 的权限。

  5. 稍后,当您创建知识库时,需要在凭证密钥 ARN 字段中输入该 ARN。

Redis 企业云
注意

如果您使用Redis Enterprise Cloud,则表示您AWS同意授权代表您访问指定的第三方来源,以便向您提供矢量存储服务。您有责任遵守适用于使用和传输第三方服务数据的任何第三方条款。

有关在 Redis Enterprise Cloud 中设置向量存储的详细文档,请参阅 Integrating Redis Enterprise Cloud with Amazon Bedrock

请在设置向量存储时记下以下信息,创建知识库时需要填写这些信息:

  • 端点 URL – 数据库的公有端点 URL。

  • 向量索引名称 – 数据库的向量索引的名称。

  • 向量字段 – 用于存储向量嵌入数据的字段的名称。请参阅下表确定向量应包含的维度数:

    模型 Dimensions
    Titan G1 嵌入 - 文本 1,536
    Titan V2 嵌入 - 文本 1024、512 和 256
    Cohere Embed(英文版) 1024
    Cohere Embed(多语版) 1024
  • 文本字段 – Amazon Bedrock 用来存储原始文本块的字段的名称。

  • Bedrock 托管的元数据字段 – Amazon Bedrock 用来存储知识库相关元数据的字段的名称。

要访问您的 Redis Enterprise Cloud 集群,您必须通过 AWS Secrets Manager 向 Amazon Bedrock 提供您的 Redis Enterprise Cloud 安全配置。

为 Redis Enterprise Cloud 配置设置密钥
  1. 按照 Transport Layer Security (TLS) (传输层安全性协议(TLS))中的步骤启用 TLS 以将您的数据库与 Amazon Bedrock 搭配使用。

  2. 按照创建AWS Secrets Manager密钥中的步骤操作。使用密钥中 Redis Enterprise Cloud 配置中的相应值设置以下密钥:

    • username – 用于访问 Redis Enterprise Cloud 数据库的用户名。要查找您的用户名,请在 Redis 控制台中查看数据库的安全部分。

    • password – 用于访问 Redis Enterprise Cloud 数据库的密码。要查找您的密码,请在 Redis 控制台中查看数据库的安全部分。

    • serverCertificate – 来自 Redis Cloud 证书颁发机构的证书的内容。按照下载证书中的步骤从 Redis 管理控制台下载服务器证书。

    • clientPrivateKey – 来自 Redis Cloud 证书颁发机构的证书的私钥。按照下载证书中的步骤从 Redis 管理控制台下载服务器证书。

    • clientCertificate – 来自 Redis Cloud 证书颁发机构的证书的公钥。按照下载证书中的步骤从 Redis 管理控制台下载服务器证书。

  3. 创建密钥后,请记下它的 ARN。稍后,当您创建知识库时,需要在凭证密钥 ARN 字段中输入该 ARN。

MongoDB Atlas
注意

如果您使用 MongoDB Atlas,则表示您同意AWS授权代表您访问指定的第三方来源,以便向您提供矢量存储服务。您有责任遵守适用于使用和传输第三方服务数据的任何第三方条款。

有关在 MongoDB Atlas 中设置向量存储的详细文档,请参阅使用 MongoDB Atlas 和 Amazon Bedrock 启动完全托管式 RAG 工作流

设置向量存储时,请记下以下信息,您在创建知识库时需要添加它们:

  • 端点 URL – MongoDB Atlas 集群的端点 URL。

  • 数据库名称 – MongoDB Atlas 集群中数据库的名称。

  • 集合名称 – 数据库中数据集的名称。

  • 凭证密钥 ARN — 您在中AWS Secrets Manager创建的密钥的亚马逊资源名称 (ARN),其中包含您的 MongoDB Atlas 集群中数据库用户的用户名和密码。密钥必须包含名为 usernamepassword 的键。

  • (可选)凭证密钥 ARN 的客户自主管理型 KMS 密钥 - 如果您对凭证密钥 ARN 进行了加密,请提供 KMS 密钥,以便 Amazon Bedrock 对其进行解密。

创建 MongoDB Atlas 索引时,还必须为字段映射提供其他配置:

  • 向量索引名称 – 集合中 MongoDB Atlas 向量搜索索引的名称。

  • 向量字段名称 – Amazon Bedrock 应将向量嵌入数据存储到的字段的名称。

  • 文本字段名称 – Amazon Bedrock 应将原始块文本存储到的字段的名称。

  • 元数据字段名称 – Amazon Bedrock 应将源属性元数据存储到的字段的名称。

  • (可选)文本搜索索引名称 – 有关集合的 MongoDB Atlas 搜索索引的名称。

重要

如果您计划在 MongoDB Atlas 知识库中使用元数据筛选,则必须在向量索引中手动配置筛选条件。默认情况下,元数据筛选不起作用,需要在 MongoDB Atlas 向量索引配置中进行额外设置。

(可选)要让 Amazon Bedrock 连接到你的 MongoDB Atlas 集群AWS PrivateLink,请参阅使用 Amazon Bedrock 使用 MongoDB Atlas 的 RAG 工作流程