

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

# 将您创建的向量存储用于知识库的先决条件
<a name="knowledge-base-setup"></a>

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

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

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

您可以设置自己的受支持向量存储，以便为数据的向量嵌入表示编制索引。您需要为以下数据创建字段：
+ 您选择的嵌入模型根据数据来源中的文本生成的向量的字段。
+ 从数据来源中的文件提取的文本块的字段。
+ Amazon Bedrock 管理的源文件元数据的字段。
+ （如果您使用的是 Amazon Aurora 数据库，并希望设置[元数据筛选](kb-test-config.md)）与源文件关联的元数据的字段。如果您计划在其他向量存储中设置筛选，则无需为这些字段设置筛选。

您可以使用 KMS 密钥来加密第三方向量存储。有关更多信息，请参阅 [Encryption of knowledge base resources](https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-kb.html)。

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

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

------
#### [ Amazon OpenSearch Serverless ]

1. 要在 Amazon OpenSearch Serverless 中配置权限并创建矢量搜索集合 AWS 管理控制台，请按照《亚马逊 OpenSearch 服务开发者指南》中[使用矢量搜索集合](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html)中的步骤 1 和步骤 2 进行操作。设置集合时，请注意以下事项：

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

   1. 要将您的集合设置为私有，请在**安全性**部分选择**标准创建**。然后，在**网络访问设置**部分，选择 **VPC** 作为**访问类型**，然后选择一个 VPC 端点。有关为亚马逊 OpenSearch 无服务器集合设置 VPC 终端节点的更多信息，请参阅《[亚马逊 OpenSearch 服务开发者指南》中的使用接口终端节点 (AWS PrivateLink) 访问亚马逊 OpenSearch 无服务器](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html)。

1. 集合创建完后，记下创建知识库时的**集合 ARN**。

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

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

1. 在**向量索引详细信息**部分的**向量索引名称**字段中，输入索引名称。

1. 在**向量字段**部分，选择**添加向量字段**。Amazon Bedrock 会将您的数据来源的向量嵌入数据存储在此字段中。提供以下配置：
   + **向量字段名称** - 提供字段的名称（例如 **embeddings**）。
   + **引擎** - 用于搜索的向量引擎。选择 **faiss**。
   + **维度** – 向量中的维度数。请参阅下表确定向量应包含的维度数：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)
   + **距离指标** – 用于衡量向量之间相似性的指标。我们建议将**欧几里得**用于浮点型向量嵌入。

1. 展开**元数据管理**部分并添加两个用于配置向量索引的字段，以存储知识库可通过向量检索的其他元数据。下表介绍了需要为每个字段指定的字段和值：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)

1. 记下创建知识库时为向量索引名称、向量字段名称和元数据管理映射字段名称选择的名称。然后选择**创建**。

创建向量索引后，您可以继续执行[创建知识库](knowledge-base-create.md)。下表汇总了您将输入您记下的每条信息的位置。


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

有关在 Amazon OpenSearch Serverless 中设置矢量库的更多详细文档，请参阅《亚马逊 OpenSearch 服务开发者指南》中的[使用矢量搜索集合](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html)。

------
#### [ Amazon OpenSearch Service Managed Clusters ]

**重要**  
在 OpenSearch 托管集群中使用任何域资源之前，您需要配置某些 IAM 访问权限和策略。有关更多信息，请参阅 [在 Amazon Bedrock 知识库中使用 OpenSearch 托管集群所需的先决条件和权限权限配置概述](kb-osm-permissions-prereq.md)。
如果您遇到数据提取失败，则可能表示 OpenSearch 域容量不足。要解决此问题，请通过预调配更高的 IOPS 和提高吞吐量设置来增加域的容量。有关更多信息，请参阅 [Amazon OpenSearch 服务最佳运营实践](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html)。

1. 要在中的 OpenSearch 集群中创建域和向量索引 AWS 管理控制台，请按照《*Amazon Service 开发者指南》中创建和管理 OpenSearch OpenSearch 服务*[域](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html)中描述的步骤进行操作。

   设置域时，请注意以下事项：

   1. 为域提供所选名称。

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

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

   1. 对于**版本**，如果您使用的是二进制向量嵌入，则 Amazon Bedrock 知识库需要引擎版本 2.16 或更高版本。此外，需要版本 2.13 或更高版本才能创建 k-nn 索引。有关更多信息，请参阅《*亚马逊 OpenSearch 服务开发者*指南》中的 [K-NN 搜索](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/knn.html)。

   1. 建议您使用**双栈模式**。

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

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

1. 创建域后，单击该域以记下创建知识库时需使用的**域 ARN** 和**域端点**。

1. 创建域后，您可以通过在 OpenSearch 仪表板上运行以下命令或使用 curl 命令来创建向量索引。有关详情，请参阅 [OpenSearch 文档](https://opensearch.org/docs/latest/search-plugins/knn/knn-index/)。

   运行命令时：
   + 提供向量字段的名称（例如 **embeddings**）。
   + 确保用于搜索的向量为 **faiss**。**nmslib** 不受支持。
   + 有关向量中的维度数，请参阅下表以确定向量应包含的维度数：
**注意**  
Titan V2 嵌入 - 文本模型支持多个维度。它也可以是 256 或 512。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)
   + 您可以添加两个用于配置向量索引的字段，以存储知识库可通过向量检索的其他元数据。下表描述了这两个字段以及要为每个字段指定的值。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)

   ```
   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"            
               }
           }
       }
   }
   ```

1. 记下域 ARN 和端点，以及您为向量索引名称、向量字段名称和元数据管理映射字段名称选择的名称，以便在创建知识库时使用。

创建向量索引后，您可以继续执行[创建知识库](knowledge-base-create.md)。下表汇总了您将输入您记下的每条信息的位置。


| 字段 | 知识库设置中的相应字段（控制台） | 知识库设置中的相应字段 (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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)。

**注意**  
你可以为所有 AWS 区域同时提供 Amazon Bedrock 和 Amazon S3 矢量的 Amazon S3 矢量创建知识库。有关 Amazon S3 Vectors 的区域可用性的信息，请参阅《Amazon S3 用户指南》**中的 [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)。
在 Amazon Bedrock 知识库中使用非常高的令牌计数和分层分块时，由于父子区块关系和分层上下文作为不可筛选的元数据存储在 Amazon S3 Vectors 中，您可能会超过元数据大小的最大限制。有关每个向量的元数据大小限制的更多信息，请参阅 *Amazon S3 用户指南*中的[限制和限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html)。有关分块策略的信息，请参阅[知识库的内容分块是如何运作的](kb-chunking.md)。
<a name="metadata-support"></a>
**元数据支持**  
您可以将元数据作为键值对附加到每个向量。默认情况下，元数据是可筛选的，可用于相似度搜索查询，以按日期、类别或用户首选项等条件进行筛选。

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

将 Amazon S3 矢量与 Amazon Bedrock 知识库配合使用时，每个向量最多可以附加 1 KB 的自定义元数据（包括可筛选和不可筛选的元数据）和 35 个元数据密钥。有关每个向量的元数据大小限制的更多信息，请参阅 *Amazon S3 用户指南*中的[限制和限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html)。

如果元数据超过这些限制，则在填充向量索引时，摄取任务将引发异常。有关更多信息，请参阅《Amazon S3 用户指南》**中的 [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)。

**所需的权限**  
确保您的 IAM 策略允许 Amazon Bedrock 访问 S3 向量存储桶中的向量索引。有关所需权限的更多信息，请参阅 [为 Amazon Bedrock 知识库创建服务角色](kb-permissions.md)。

**创建 S3 向量存储桶和索引**  
要将 Amazon S3 Vectors 用于知识库，您需要创建 S3 向量存储桶和向量索引。您可以使用 Amazon S3 控制台或 S AWS DK 创建矢量存储桶和索引。 AWS CLI有关详细说明，请参阅《Amazon S3 用户指南》**中的[创建向量索引](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-index-create.html)。

在 [Amazon S3 控制台](https://console.aws.amazon.com/s3/vector-buckets#)中创建向量存储桶和索引时，请注意以下事项。

1. 在创建 S3 向量存储桶时，请注意以下事项。
   + 提供唯一的**向量存储桶名称**。
   + （可选）Amazon S3 将自动通过**使用 Amazon S3 托管密钥的服务器端加密（SSE-S3）**对数据进行加密。您可以选择是使用此默认加密，还是使用密钥**管理服务密 AWS 钥进行服务器端加密 (SSE-KMS**)。
**注意**  
创建向量存储桶后，无法更改加密类型。

     有关 step-by-step说明，请参阅[使用 AWS KMS 密钥进行加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html)。

1. 创建 S3 向量存储桶后，记下向量存储桶的 **Amazon 资源名称（ARN）**以便在创建知识库时使用。

1. 选择您创建的向量存储桶，然后创建向量索引。在创建向量索引时，请注意以下事项。
   + **向量索引名称** - 提供字段的名称（例如 **embeddings**）。
   + **维度** – 向量中的维度数。维度必须是介于 1 和 4096 之间的值。请参阅下表以根据所选嵌入模型确定向量应包含的维度数：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)
   + 
**注意**  
Amazon S3 Vectors 仅支持浮点型嵌入。不支持二进制嵌入。

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

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

   可以配置最多 10 个不可筛选的元数据键。选择**添加键**，然后将 `AMAZON_BEDROCK_TEXT` 和 `AMAZON_BEDROCK_METADATA` 作为键添加。

1. 在**加密**下，选择**指定加密类型**。您可以选择**使用用于加密的存储桶设置**或覆盖向量索引的加密设置。如果您覆盖存储桶级别的设置，则可以选择将矢量索引的加密类型指定为**使用 AWS 密钥管理服务密钥的服务器端加密 (SSE-KMS) 或使用 **Amazon S3 托管密钥的默认服务器端加密** (SSE-S3)**。有关为矢量索引设置加密配置的更多信息，请参阅 [Amazon S3 矢量中的数据保护和加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-data-encryption.html)。

1. 在 “**标签（可选）**” 下，您可以将标签添加为键值对，以帮助使用 B AWS illing and Billing and Cost Management 跟踪和组织向量索引成本。输入 **Key (键)** 和 **Value (值)**。要添加另一个标签，请选择 **Add Tag (添加标签)**。您可以为一个向量索引输入最多 50 个标签。有关更多信息，请参阅[在 Amazon S3 向量索引中使用标签](https://docs.aws.amazon.com/console/s3/vector-index-create-with-tag)。

1. 创建向量索引并记下向量索引的 **Amazon 资源名称（ARN）**以便在创建知识库时使用。

**为 S3 向量存储桶创建知识库**  
收集这些信息后，可以继续[创建知识库](knowledge-base-create.md)。在使用 S3 向量存储桶创建知识库时，您需要提供向量存储桶的 ARN 和向量索引。向量索引将存储从数据来源生成的嵌入。下表汇总了您将输入您每条信息的位置：


| 字段 | 知识库设置中的相应字段（控制台） | 知识库设置中的相应字段 (API) | 说明 | 
| --- | --- | --- | --- | 
| 向量存储桶 ARN | S3 向量存储桶 ARN | vectorBucketArn | S3 向量存储桶的 Amazon 资源名称（ARN）。 | 
| 向量索引 ARN | S3 向量索引 ARN | vectorIndexARN | S3 向量存储桶的向量索引的 Amazon 资源名称（ARN）。 | 

------
#### [ Amazon Aurora (RDS) ]

1. 按照[使用 Aurora PostgreSQL 作为知识库](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html)中的步骤创建 Amazon Aurora 数据库（DB）集群、架构和表。创建表时，请使用以下列和数据类型对表进行配置。您可以使用自己喜欢的列名来代替下表中列出的列名。记下您选择的列名，以便在知识库设置期间提供这些名称。

   您必须先提供这些字段，然后再创建知识库。这些字段在创建知识库后无法更新。
**重要**  
Aurora 集群必须与 AWS 账户 为 Amazon Bedrock 创建知识库的集群所在的集群相同。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)

1. 您必须在向量列和文本列上为文本和嵌入字段创建索引。如果您使用的是自定义元数据字段，则还必须在此列上创建 GIN 索引。GIN 索引可用于高效地搜索 jsonb 文档中的键值对以进行元数据筛选。有关更多信息，请参阅 *PostgreSQL 文档*中的 [jsonb 索引](https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING)。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)
**注意**  
为了提高混合搜索的准确性和英语内容的延迟，可以考虑使用 “英语” 词典而不是 “简单” 词典：  

   ```
   CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks));
   ```

1. （可选）如果您[向文件添加了要筛选的元数据](kb-test-config.md)，我们建议您在自定义元数据字段中提供列名，以便将所有元数据存储在一个列中。在[数据摄取](kb-data-source-sync-ingest.md)期间，此列中将填入数据来源中的元数据文件包含的所有信息。如果您选择提供该字段，则必须在此列上创建 GIN 索引。
**注意**  
如果您经常对数值型元数据使用范围筛选条件，要优化性能，请为特定键创建索引。例如，如果您使用 `"lessThan": { "key": "year", "value": 1989 }` 等筛选条件，则在 `year` 键上创建表达式索引。有关更多信息，请参阅 *PostgreSQL 文档*中的[表达式索引](https://www.postgresql.org/docs/current/indexes-expressional.html)。  

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

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

1. 按照使用 A [mazon Aurora 进行 AWS Secrets Manager 密码管理中的步骤为您的 Aurora 数据库集群配置密钥和 AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)。

1. 创建数据库集群并设置密钥后，记下以下信息。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)

------
#### [ Neptune Analytics graphs (GraphRAG) ]

1. 要通过 AWS 管理控制台在 Neptune Analytics 中创建图表和向量存储，请按照《Neptune Analytics 用户指南》**中的 [Neptune Analytics 中的向量索引](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html)中描述的步骤操作。
**注意**  
要使用 Neptune GraphRAG，请创建一个带向量搜索索引的空 Neptune Analytics 图表。向量搜索索引只能在创建图表时创建。[在控制台中创建 Neptune Analytics 图表](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/create-graph-using-console.html)时，您可以在此过程即将结束时，在**向量搜索设置**下指定索引维度。

   创建图表时，请注意以下事项：

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

   1. 在 “**数据源**” 下，选择 “**创建空图**”，然后指定NCUs 要分配的 m-的数量。每个 m-NCU 拥有约 1 GiB 的内存容量，以及相应的计算和联网能力。
**注意**  
图表的容量稍后可进行修改。我们建议您从最小实例开始，之后再根据需要选择其他实例。

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

   1. 在**向量搜索设置**下，选择**使用向量维度**，并指定每个向量中的维度数。
**注意**  
每个向量中的维度数必须与嵌入模型中的向量维度相匹配。请参阅下表确定向量应包含的维度数：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)

   1. 将所有其他设置保留为默认值并创建图表。

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

创建向量索引后，您可以继续执行[创建知识库](knowledge-base-create.md)。下表汇总了您将输入您记下的每条信息的位置。


| 字段 | 知识库设置中的相应字段（控制台） | 知识库设置中的相应字段 (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](https://docs.pinecone.io/docs/amazon-bedrock)。

请在设置向量存储时记下以下信息，创建知识库时需要填写这些信息：
+ **端点 URL** – 您的索引管理页面的端点 URL。
+ **凭证密钥 ARN** — 您在中创建的密钥的 Amazon 资源名称 (ARN) AWS Secrets Manager ，其中包含数据库用户的用户名和密码。
+ **（可选）凭证密钥 ARN 的客户自主管理型 KMS 密钥** - 如果您对凭证密钥 ARN 进行了加密，请提供 KMS 密钥，以便 Amazon Bedrock 对其进行解密。
+ **命名空间** –（可选）用于向数据库写入新数据的命名空间。有关更多信息，请参阅[使用命名空间](https://docs.pinecone.io/docs/namespaces)。

创建 Pinecone 索引时，还必须提供其他配置：
+ **文本字段名称** – Amazon Bedrock 应将原始块文本存储到的字段的名称。
+ **元数据字段名称** – Amazon Bedrock 应将源属性元数据存储到的字段的名称。

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

**为 Pinecone 配置设置密钥**

1. 按照[创建密钥中的步骤操作，将 AWS Secrets Manager 密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)钥设置为`apiKey`，将值设置为 API 密钥以访问您的Pinecone索引。

1. 要查找您的 API 密钥，请打开 [Pinecone 控制台](https://app.pinecone.io/)并选择 **API 密钥**。

1. 创建密钥后，请记下 KMS 密钥的 ARN。

1. 按照 [解密包含知识库的矢量存储的 AWS Secrets Manager 密钥的权限](encryption-kb.md#encryption-kb-3p) 中的步骤，向您的服务角色授予解密 KMS 密钥 ARN 的权限。

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

------
#### [ Redis 企业云 ]

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

有关在 Redis Enterprise Cloud 中设置向量存储的详细文档，请参阅 [Integrating Redis Enterprise Cloud with Amazon Bedrock](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/)。

请在设置向量存储时记下以下信息，创建知识库时需要填写这些信息：
+ **端点 URL** – 数据库的公有端点 URL。
+ **向量索引名称** – 数据库的向量索引的名称。
+ **向量字段** – 用于存储向量嵌入数据的字段的名称。请参阅下表确定向量应包含的维度数：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/knowledge-base-setup.html)
+ **文本字段** – 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）)](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/)中的步骤启用 TLS 以将您的数据库与 Amazon Bedrock 搭配使用。

1. 按照[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中的步骤操作。使用密钥中 Redis Enterprise Cloud 配置中的相应值设置以下密钥：
   + `username` – 用于访问 Redis Enterprise Cloud 数据库的用户名。要查找您的用户名，请在 [Redis 控制台](http://app.redislabs.com/)中查看数据库的**安全**部分。
   + `password` – 用于访问 Redis Enterprise Cloud 数据库的密码。要查找您的密码，请在 [Redis 控制台](http://app.redislabs.com/)中查看数据库的**安全**部分。
   + `serverCertificate` – 来自 Redis Cloud 证书颁发机构的证书的内容。按照[下载证书](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates)中的步骤从 Redis 管理控制台下载服务器证书。
   + `clientPrivateKey` – 来自 Redis Cloud 证书颁发机构的证书的私钥。按照[下载证书](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates)中的步骤从 Redis 管理控制台下载服务器证书。
   + `clientCertificate` – 来自 Redis Cloud 证书颁发机构的证书的公钥。按照[下载证书](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates)中的步骤从 Redis 管理控制台下载服务器证书。

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

------
#### [ MongoDB Atlas ]

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

有关在 MongoDB Atlas 中设置向量存储的详细文档，请参阅[使用 MongoDB Atlas 和 Amazon Bedrock 启动完全托管式 RAG 工作流](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/)。

设置向量存储时，请记下以下信息，您在创建知识库时需要添加它们：
+ **端点 URL** – MongoDB Atlas 集群的端点 URL。
+ **数据库名称** – MongoDB Atlas 集群中数据库的名称。
+ **集合名称** – 数据库中数据集的名称。
+ **凭证密钥 ARN** — 您在中 AWS Secrets Manager 创建的密钥的亚马逊资源名称 (ARN)，其中包含您的 MongoDB Atlas 集群中数据库用户的用户名和密码。密钥必须包含名为 `username` 和 `password` 的键。
+ **（可选）凭证密钥 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 工作流程](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/)。

------