为 Bedrock 设置 Redis
展示如何为 Amazon Bedrock 设置 Redis 数据库。
您需要在将 Redis 云数据库设置为 Amazon Bedrock 中的向量数据库之前,先设置您的 Redis 云数据库。为此,您需要
设置完数据库后,您可以使用数据库信息在 创建知识库 时将其设置为您的知识库数据库。
注册并创建数据库
要为 Bedrock 设置 Redis Cloud 实例,您需要
- 如果您还没有帐户,请 注册 Redis Cloud。
- 创建一个 数据库 用于您的 Bedrock 知识库。
使用 AWS Marketplace 注册 Redis Cloud
-
从 Bedrock 选择 Redis Cloud AWS Marketplace 链接,您将被带到 Redis Cloud 计划列表。
-
订阅 Redis Cloud 列表,找到“设置您的帐户”按钮,然后选择它以开始将您的 Redis Cloud 帐户与您的 AWS Marketplace 帐户关联。
-
登录 Redis Cloud 管理控制台。
-
选择要与您的 AWS Marketplace 帐户关联的 Redis 帐户,并确认您的付款方式将更改,并且连接无法撤消。
-
使用“关联帐户”按钮确认您的选择。
-
将您的 Redis 帐户与您的 AWS Marketplace 帐户关联后,帐户面板的左上角会出现一条消息。
此外,AWS Marketplace 会被报告为所选的付款方式。
创建数据库
-
在 管理控制台 中,选择“新建数据库”。
-
当“新建数据库”页面出现时,从用例面板中选择“向量搜索”。
-
选择“Pro”以创建 Pro 计划。
-
选择“Amazon Web Services”作为云供应商,选择一个区域,并输入您的订阅名称。
-
在“版本”部分,选择“Redis 7.2”。
-
在“高级选项”部分,选择“多 AZ”以确保 高可用性。
-
完成后,选择“继续”。
-
“大小”选项卡可帮助您指定订阅的数据库需求。
选择“添加”按钮以创建数据库。
-
在“新建数据库”对话框中,为您的数据库命名。
我们已经为您选择“搜索和查询”和“JSON”。“搜索和查询”为您的数据库启用向量数据库功能。如果您需要,可以删除“JSON”。
-
根据 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),并使用客户端身份验证。
-
从 管理控制台 菜单中选择“数据库”,然后从列表中选择您的数据库。
-
从数据库的“配置”屏幕中,选择“编辑数据库”按钮。
-
在“安全”部分,使用“传输层安全 (TLS)”切换按钮启用 TLS。
-
选择“下载服务器证书”以下载 Redis Cloud 证书捆绑包
redis_ca.pem
。 -
选择“双向 TLS(需要客户端身份验证)”复选框以要求客户端身份验证。
-
选择“添加客户端证书”以添加证书。
-
为您的客户端提供 X.509 客户端证书 或 PEM 格式的链,或者选择“生成”以创建一个。
-
要应用您的更改并启用 TLS,请选择“保存数据库”按钮。
将数据库凭据存储在 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 中创建向量索引,请执行以下操作
-
如果您还没有,请 下载并安装 Redis Insight。
-
在 Redis Cloud 管理控制台 中,在您数据库的“配置”选项卡中,选择您数据库旁边的“连接”按钮以打开连接向导。
-
在连接向导中,在“Redis Insight 桌面”下,选择“公共端点”。选择“使用 Redis Insight 打开”以使用 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 中 创建知识库。