为 Bedrock 设置 Redis

展示如何为 Amazon Bedrock 设置 Redis 数据库。

您需要在将 Redis 云数据库设置为 Amazon Bedrock 中的向量数据库之前,先设置您的 Redis 云数据库。为此,您需要

  1. 注册 Redis 云并创建一个数据库
  2. 为数据库启用传输层安全 (TLS) 并保存证书
  3. 将数据库凭据存储在 AWS 密钥管理服务中
  4. 在您的数据库中创建一个向量索引,以便 Bedrock 使用

设置完数据库后,您可以使用数据库信息在 创建知识库 时将其设置为您的知识库数据库。

注册并创建数据库

要为 Bedrock 设置 Redis Cloud 实例,您需要

  1. 如果您还没有帐户,请 注册 Redis Cloud
  2. 创建一个 数据库 用于您的 Bedrock 知识库。

使用 AWS Marketplace 注册 Redis Cloud

  1. 从 Bedrock 选择 Redis Cloud AWS Marketplace 链接,您将被带到 Redis Cloud 计划列表。

    The Redis Cloud listing on AWS Marketplace
  2. 订阅 Redis Cloud 列表,找到“设置您的帐户”按钮,然后选择它以开始将您的 Redis Cloud 帐户与您的 AWS Marketplace 帐户关联。

    Use the Set Up Your Account button after subscribing to Redis Cloud with your AWS Marketplace account.
  3. 登录 Redis Cloud 管理控制台

  4. 选择要与您的 AWS Marketplace 帐户关联的 Redis 帐户,并确认您的付款方式将更改,并且连接无法撤消。

    Use the AWS Marketplace dialog to map your Redis Cloud account to your AWS Marketplace account.
  5. 使用“关联帐户”按钮确认您的选择。

  6. 将您的 Redis 帐户与您的 AWS Marketplace 帐户关联后,帐户面板的左上角会出现一条消息。

    The AWS Marketplace badge appears when your Redis Cloud account is mapped to an AWS Marketplace account.

    此外,AWS Marketplace 会被报告为所选的付款方式。

创建数据库

  1. 管理控制台 中,选择“新建数据库”。

    The New Database button creates a new database.
  2. 当“新建数据库”页面出现时,从用例面板中选择“向量搜索”。

    The Redis Use case panel
  3. 选择“Pro”以创建 Pro 计划。

    The Subscription selection panel with Pro selected.
  4. 选择“Amazon Web Services”作为云供应商,选择一个区域,并输入您的订阅名称。

    The General settings of the Setup tab.
  5. 在“版本”部分,选择“Redis 7.2”。

    Version selection between Redis 6.2 and 7.2
  6. 在“高级选项”部分,选择“多 AZ”以确保 高可用性

    The Multi-AZ toggle set to on.
  7. 完成后,选择“继续”。

    Select the Continue button to continue to the next step.
  8. “大小”选项卡可帮助您指定订阅的数据库需求。

    The Sizing tab when creating a new Flexible subscription.

    选择“添加”按钮以创建数据库。

    Use the Add button to define a new database for your subscription.
  9. 在“新建数据库”对话框中,为您的数据库命名。

    The New Database dialog with basic settings.

    我们已经为您选择“搜索和查询”和“JSON”。“搜索和查询”为您的数据库启用向量数据库功能。如果您需要,可以删除“JSON”。

  10. 根据 Bedrock 将从您的 Simple Storage Service (S3) 存储桶 中提取的数据量设置数据库的内存限制。参见 找出您的 S3 存储桶的大小 了解您的 S3 存储桶中存储了多少知识库数据,并从下表中选择最接近的大小(向上取整)。

    S3 中文档的总大小 无复制的数据库大小 带复制的数据库大小
    10,000 kb 135 Mb 270 Mb
    100,000 kb 1.35 Gb 2.7 Gb
    1,000,000 kb 13.5 Gb 27 Gb
    10,000,000 kb 135 Gb 270 Gb

    有关大小调整的更多信息,请参见 Bedrock 集成博客文章

  11. 完成后,选择“保存数据库”以创建您的数据库。

    Select the Save Database button to define your new database.
  12. 选择“继续”以转到“审查和创建”选项卡。

  13. 审查您的订阅。您无需输入付款方式,因为它会自动分配到您的 AWS Marketplace 帐户。

  14. 选择“确认并支付”以创建您的新数据库。

    Select Confirm & pay to create your new database.

    请注意,数据库是在后台创建的。在它们正在配置期间,不允许您进行更改。(此过程通常需要 10-15 分钟。)

    使用“数据库列表”检查订阅的状态。您的数据库准备好使用后,您也会收到电子邮件。

启用 TLS 并获取证书

为了使您的数据库完全安全,您必须为您的数据库启用 传输层安全 (TLS),并使用客户端身份验证。

  1. 管理控制台 菜单中选择“数据库”,然后从列表中选择您的数据库。

  2. 从数据库的“配置”屏幕中,选择“编辑数据库”按钮。

    The Edit database button lets you change selected database properties.
  3. 在“安全”部分,使用“传输层安全 (TLS)”切换按钮启用 TLS。

    Use the Transport Layer Security toggle to enable TLS.
  4. 选择“下载服务器证书”以下载 Redis Cloud 证书捆绑包 redis_ca.pem

    Use the Download server certificate button to download the Redis Cloud CA certificates.
  5. 选择“双向 TLS(需要客户端身份验证)”复选框以要求客户端身份验证。

  6. 选择“添加客户端证书”以添加证书。

    The Add client certificate button.
  7. 为您的客户端提供 X.509 客户端证书 或 PEM 格式的链,或者选择“生成”以创建一个。

    Provide or generate a certificate for Mutual TLS.
    • 如果您从 Redis Cloud 控制台生成证书,则在生成证书后将出现“下载证书”按钮。选择它以下载证书。

      The Download certificate button.

      下载内容包括

      • redis-db-<database_id>.crt – 证书的公钥。

      • redis-db-<database_id>.key – 证书的私钥。

      注意
      您必须此时使用按钮下载证书。在您的更改应用后,将不再提供用于下载公钥和私钥的完整捆绑包。
    • 如果您提供客户端证书,您将在保存更改之前看到证书详细信息。

      The Download certificate button.
  8. 要应用您的更改并启用 TLS,请选择“保存数据库”按钮。

    Use the Save database button to save database changes.

将数据库凭据存储在 AWS 密钥管理服务中

AWS 管理控制台 中,使用“服务”菜单查找并选择“安全、身份和合规性”>“Secret Manager”。创建类型为“其他类型 Secret”的 Secret,并包含以下键值字段

  • username:数据库用户名
  • password:数据库密码
  • serverCertificate服务器证书redis_ca.pem)的内容
  • clientCertificate:客户端证书(redis_user.crt)的内容
  • clientPrivateKey:客户端私钥(redis_user_private.key)的内容

存储此 Secret 后,您可以在 Secret 详细信息页面上查看并复制 Amazon 资源名称 (ARN)

在您的数据库中创建向量索引

设置完 Redis Cloud 数据库后,使用 FT.CREATE 创建包含向量字段的搜索索引,作为 Amazon Bedrock 的知识库。您可以使用“Redis Insight”或 redis-cli 完成此操作。

Redis Insight

Redis Insight 是一款免费的 Redis GUI,允许您可视化和优化 Redis 中的数据。

要在 Redis Insight 中创建向量索引,请执行以下操作

  1. 如果您还没有,请 下载并安装 Redis Insight

  2. 在 Redis Cloud 管理控制台 中,在您数据库的“配置”选项卡中,选择您数据库旁边的“连接”按钮以打开连接向导。

    Connect button.
  3. 在连接向导中,在“Redis Insight 桌面”下,选择“公共端点”。选择“使用 Redis Insight 打开”以使用 Redis Insight 连接到数据库。

  4. 选择“使用 TLS”。在“CA 证书”部分,选择“添加新的 CA 证书”。在“名称”字段中为证书命名,并将 redis_ca.pem 的内容输入“证书”字段。

    The Redis Insight Add CA Certificate section.
  5. 选择“需要 TLS 客户端身份验证”。在“客户端证书”部分,选择“添加新证书”。在“名称”字段中为证书命名。将 redis_user.crt 的内容输入“证书”字段,并将 redis_user_private.key 的内容输入“私钥”字段。

    The Redis Insight Add Client Certificate section.
  6. 选择“添加 Redis 数据库”以连接到数据库。

  7. 选择您的数据库别名以连接到您的数据库。选择“工作台”图标以进入工作台。

    The Redis Insight workbench icon.
  8. 输入 FT.CREATE 命令以创建索引。

    FT.CREATE <index_name>                    
        ON HASH                
        SCHEMA
            "<text_field>" TEXT
            "<metadata_field>" TEXT                   
            "<vector_field>"  VECTOR FLAT     
                6                          
                "TYPE" "FLOAT32"            
                "DIM" 1536                   
                "DISTANCE_METRIC" "COSINE"  
    

    替换以下字段

    • <index_name> 用向量索引名称替换
    • <text_field> 用文本字段名称替换
    • <metadata_field> 用元数据字段名称替换
    • <vector_field> 用向量字段名称替换
  9. 选择“运行”以创建索引。

    The Redis Insight run button.

redis-cli

redis-cli 命令行实用程序允许您直接从命令行连接并运行 Redis 命令。要使用 redis-cli,您可以 安装 Redis

公共端点和端口详细信息可从“数据库”列表或数据库的“配置”屏幕中获得。选择“连接”以查看如何使用 redis-cli 连接到您的数据库。

redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem \
    --cert redis_user.crt --key redis_user_private.key

使用 redis-cli 连接后,使用 FT.CREATE 创建索引。

FT.CREATE <index_name>                    
    ON HASH                
    SCHEMA
        "<text_field>" TEXT
        "<metadata_field>" TEXT                   
        "<vector_field>"  VECTOR FLAT     
            6                          
            "TYPE" "FLOAT32"            
            "DIM" 1536                   
            "DISTANCE_METRIC" "COSINE"  

替换以下字段

  • <index_name> 用向量索引名称替换
  • <text_field> 用文本字段名称替换
  • <metadata_field> 用元数据字段名称替换
  • <vector_field> 用向量字段名称替换

后续步骤

设置好 Redis 数据库后,您可以使用它在 Amazon Bedrock 中 创建知识库

RATE THIS PAGE
Back to top ↑