为 Bedrock 设置 Redis
展示如何为 Amazon Bedrock 设置 Redis 数据库。
在将 Redis Cloud 数据库设置为 Amazon Bedrock 中的矢量数据库之前,您需要先进行设置。为此,您需要
- 注册 Redis Cloud 并创建数据库
- 为数据库启用传输层安全 (TLS) 并保存证书
- 将数据库凭据存储在 AWS Secrets Manager 中
- 在数据库中创建矢量索引供 Bedrock 使用
设置数据库后,您可以在创建知识库时,使用数据库信息将其设置为您的知识库数据库。
注册并创建数据库
要为 Bedrock 设置 Redis Cloud 实例,您需要
- 注册 Redis Cloud,如果您还没有帐户。
- 创建一个数据库用于您的 Bedrock 知识库。
使用 AWS Marketplace 注册 Redis Cloud
-
选择来自 Bedrock 的 Redis Cloud AWS Marketplace 链接,以转到 Redis Cloud 计划列表。
-
订阅 Redis Cloud 列表,找到设置您的帐户按钮,然后选择它以开始将您的 Redis Cloud 帐户与您的 AWS Marketplace 帐户进行映射。
-
选择要映射到您的 AWS Marketplace 帐户的 Redis 帐户,并确认您的付款方式将更改且此连接无法撤销。
-
使用映射帐户按钮确认您的选择。
-
一旦您的 Redis 帐户映射到您的 AWS Marketplace 帐户,帐户面板的左上角将出现一条消息。
此外,AWS Marketplace 将显示为选定的付款方式。
创建数据库
-
在Redis Cloud 控制台中,选择新建数据库。
-
当新建数据库页面出现时,选择Pro以创建 Pro 计划。
-
选择Pro后,数据库设置部分将出现。对于本指南,请继续使用轻松创建以更快地开始。
如果您想自己选择所有配置选项,请选择自定义设置。有关更多详细信息,请参阅创建 Redis Cloud Pro 数据库。
-
Redis 会为您生成一个数据库名称。如果您想更改它,可以在数据库名称字段中进行。
-
选择 Amazon Web Services 作为云提供商并选择一个区域。
-
在优化数据库设置部分中
-
开启高可用性。
-
根据 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 集成博客文章。
-
-
选择查看所有设置以查看我们为您选择的数据库设置。
如果您想更改这些设置,请选择切换到自定义设置。
-
您无需输入付款方式,因为它已自动分配给您的 AWS Marketplace 帐户。选择确认并付款以创建您的新数据库。
请注意,数据库在后台创建。在预置过程中,您不允许进行更改。(此过程通常需要 10-15 分钟。)
使用数据库列表查看您的订阅状态。数据库准备就绪后,您还将收到一封电子邮件。
启用 TLS 并获取证书
为了使您的数据库完全安全,您必须为数据库启用传输层安全 (TLS) 并使用客户端身份验证。
-
从Redis Cloud 控制台菜单中选择数据库,然后从列表中选择您的数据库。
-
在数据库的配置屏幕上,选择编辑按钮
-
在安全部分,使用传输层安全 (TLS)开关启用 TLS
-
选择下载服务器证书下载 Redis Cloud 证书捆绑包
redis_ca.pem
-
选择相互 TLS (需要客户端身份验证)复选框以要求客户端身份验证。
-
选择添加客户端证书以添加证书。
-
提供您的客户端的X.509 客户端证书或 PEM 格式的证书链,或者选择生成来创建一个
-
要应用更改并启用 TLS,请选择保存数据库按钮
将数据库凭据存储在 AWS Secrets Manager 中
在AWS 管理控制台中,使用服务菜单找到并选择 安全、身份和合规性 > Secrets Manager。创建一个密钥,类型为其他类型的密钥,包含以下键/值字段
username
:数据库用户名password
:数据库密码serverCertificate
:服务器证书 (redis_ca.pem
) 的内容clientCertificate
:客户端证书 (redis_user.crt
) 的内容clientPrivateKey
:客户端私钥 (redis_user_private.key
) 的内容
存储此密钥后,您可以在密钥详细信息页面上查看和复制您的密钥的Amazon Resource Name (ARN)。
在数据库中创建矢量索引
设置好 Redis Cloud 数据库后,使用FT.CREATE命令创建一个带有矢量字段的搜索索引,作为您用于 Amazon Bedrock 的知识库。您可以使用 Redis Insight 或 redis-cli
来完成此操作。
Redis Insight
Redis Insight 是一个免费的 Redis GUI 工具,允许您可视化和优化 Redis 中的数据。
要在 Redis Insight 中创建矢量索引
-
下载并安装 Redis Insight,如果您还没有安装。
-
在Redis Cloud 控制台中,在数据库的配置标签页中,选择数据库旁的连接按钮以打开连接向导。
-
在连接向导中,在 Redis Insight Desktop 下,选择公共端点。选择使用 Redis Insight 打开以连接到数据库。
-
选择使用 TLS。在 CA 证书部分,选择添加新的 CA 证书。在名称字段中为证书命名,然后在证书字段中输入
redis_ca.pem
的内容。 -
选择需要 TLS 客户端身份验证。在客户端证书部分,选择添加新证书。在名称字段中为证书命名。在证书字段中输入
redis_user.crt
的内容,并在私钥字段中输入redis_user_private.key
的内容。 -
选择添加 Redis 数据库以连接到数据库。
-
选择您的数据库别名以连接到数据库。选择工作台图标以进入工作台。
-
输入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-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 中创建知识库。