本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于 AWS CloudFormation 为语义搜索设置远程推理
从 2.9 OpenSearch 版开始,您可以使用带有语义搜索
为了简化远程推理的设置,Amazon S OpenSearch ervice 在控制台中提供了一个AWS CloudFormation模板。 CloudFormation 是一 AWS 服务 款允许您通过将基础设施视为代码来建模、配置 AWS 和管理第三方资源的工具。
该 OpenSearch CloudFormation 模板可自动执行模型配置过程,因此您可以轻松地在 OpenSearch 服务域中创建模型,然后使用模型 ID 来摄取数据并运行神经搜索查询。
在 Serv OpenSearch ice 2.12 及更高版本中使用神经稀疏编码器时,我们建议您在本地使用分词器模型,而不是远程部署。有关更多信息,请参阅 OpenSearch 文档中的稀疏编码模型
先决条件
要在 S OpenSearch ervice 中使用 CloudFormation 模板,请完成以下先决条件。
设置 OpenSearch 服务域
在使用 CloudFormation 模板之前,您必须设置一个版本 2.9 或更高版本的 Amazon Serv OpenSearch ice 域并启用精细访问控制。创建 OpenSearch 服务后端角色以授予 ML Commons 插件为您创建连接器的权限。
该 CloudFormation 模板使用默认名称为您创建一个 Lambda IAM 角色LambdaInvokeOpenSearchMLCommonsRole
,如果您想选择其他名称,则可以覆盖该角色。模板创建此IAM角色后,您需要授予 Lambda 函数调用您的 OpenSearch 服务域的权限。为此,请按照以下步骤ml_full_access
将名为的角色映射到您的 OpenSearch 服务后端角色:
-
导航到您的 OpenSearch 服务域的 OpenSearch 仪表板插件。您可以在 OpenSearch 服务控制台的域控制面板上找到控制面板终端节点。
-
从主菜单中选择安全、角色,然后选择 ml_full_access 角色。
-
选择映射的用户、管理映射。
-
在 “后端角色” ARN 下,添加需要权限才能调用您的域的 Lambda 角色。
arn:aws:iam::
account-id
:role/role-name
-
选择映射并确认在映射的用户下显示的用户或角色。
映射角色后,导航到您的域的安全配置,然后将 Lambda IAM 角色添加到您的 OpenSearch 服务访问策略中。
启用您的 AWS 账户权限
您 AWS 账户 必须拥有访问 CloudFormation 和 Lambda 的权限,以及 AWS 服务 您为模板选择的任何内容(Runtime SageMaker 或 Amazon)的权限。 BedRock
如果您使用的是 Amazon Bedrock,则还必须注册您的模型。要注册您的模型,请参阅 Amazon BedRock 用户指南中的模型访问权限。
如果您使用自己的 Amazon S3 存储桶来提供模型项目,则必须将该 CloudFormation IAM角色添加到 S3 访问策略中。有关更多信息,请参阅《IAM用户指南》中的添加和删除IAM身份权限。
Amazon SageMaker AI 模板
Amazon SageMaker AI CloudFormation 模板定义了多种 AWS 资源,以便为您设置神经插件和语义搜索。
首先,使用通过 Amazon SageMaker 模板与文本嵌入模型集成,在 SageMaker 运行时中将文本嵌入模型部署为服务器。如果您不提供模型终端节点,则 CloudFormation 创建一个IAM角色以允许 SageMaker Runtime 从 Amazon S3 下载模型工件并将其部署到服务器。如果您提供终端节点,则 CloudFormation 会创建一个允许 Lambda 函数访问 OpenSearch 服务域的IAM角色,或者,如果该角色已经存在,则更新和重复使用该角色。该端点通过 ML Commons 插件为用于 ML 连接器的远程模型提供服务。
然后使用通过 Amazon Sagemaker 与稀疏编码器集成模板,来创建一个让您的域设置远程推理连接器的 Lambda 函数。在 S OpenSearch ervice 中创建连接器后,远程推理可以在 Runtime 中 SageMaker 使用远程模型运行语义搜索。该模板会将域中的模型 ID 返回给您,以便您可以开始搜索。
使用 Amazon SageMaker AI CloudFormation 模板
-
在https://console.aws.amazon.com/aos/家
中打开亚马逊 OpenSearch 服务控制台。 -
在左侧导航窗格中,选择集成。
-
在每个 Amazon SageMaker AI 模板下,选择配置域、配置公共域。
-
按照 CloudFormation 控制台中的提示配置堆栈并设置模型。
注意
OpenSearch 服务还提供了一个单独的模板来配置VPC域。如果您使用此模板,则需要提供 Lambda 函数的 VPC ID。
Amazon Bedrock 模板
与亚马逊 A SageMaker I CloudFormation 模板类似,Amazon Bedrock CloudFormation 模板预配置了在 OpenSearch 服务和亚马逊 Bedrock 之间创建连接器所需的 AWS 资源。
首先,该模板创建一个IAM角色,允许 future Lambda 函数访问您的 OpenSearch 服务域。然后,该模板会创建一个让该域使用 ML Commons 插件创建连接器的 Lambda 函数。在 S OpenSearch ervice 创建连接器后,远程推理设置就完成了,您可以使用 Amazon Bedro API ck 操作运行语义搜索。
请注意,由于 Amazon Bedrock 托管自己的机器学习模型,因此您无需将模型部署到 SageMaker 运行时。相反,该模板使用了一个为 Amazon BedroCk 预先确定的端点,并跳过了端点预置步骤。
使用 Amazon Bedrock 模板 CloudFormation
-
在https://console.aws.amazon.com/aos/家
中打开亚马逊 OpenSearch 服务控制台。 -
在左侧导航窗格中,选择集成。
-
在通过 Amazon Bedrock 与 Amazon Titan 文本嵌入模型集成下,选择配置域、配置公有域。
-
按照提示设置模型。
注意
OpenSearch 服务还提供了一个单独的模板来配置VPC域。如果您使用此模板,则需要提供 Lambda 函数的 VPC ID。
此外, OpenSearch 服务还提供以下 Amazon Bedrock 模板,用于连接 Cohere 模型和 Amazon Titan 多式联运嵌入模型:
-
Integration with Cohere Embed through Amazon Bedrock
-
Integrate with Amazon Bedrock Titan Multi-modal