翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation を使用してセマンティック検索用のリモート推論をセットアップする
OpenSearch バージョン 2.9 以降では、セマンティック検索
リモート推論を簡単にセットアップできるように、Amazon OpenSearch Service ではコンソールで AWS CloudFormation テンプレートが提供されます。CloudFormation は、インフラストラクチャ AWS のサービス をコードとして扱うことで、 AWS およびサードパーティーのリソースをモデル化、プロビジョニング、管理できる です。
OpenSearch CloudFormation テンプレートはモデルのプロビジョニングプロセスを自動化するため、OpenSearch Service ドメインでモデルを簡単に作成し、モデル ID を使用してデータを取り込み、ニューラル検索クエリを実行できます。
OpenSearch Service バージョン 2.12 以降でニューラルスパースエンコーダーを使用する場合は、リモートでデプロイするのではなく、ローカルでトークナイザモデルを使用することをお勧めします。詳細については、OpenSearch ドキュメントの「Sparse encoding models
前提条件
CloudFormation テンプレートを OpenSearch Service で使用するには、次の前提条件を満たす必要があります。
OpenSearch Service ドメインをセットアップする
CloudFormation テンプレートを使用するには、バージョン 2.9 以降の Amazon OpenSearch Service ドメインをセットアップし、詳細なアクセスコントロールを有効にする必要があります。OpenSearch Service バックエンドロールを作成して、コネクタを作成するアクセス許可を ML Commons プラグインに付与します。
CloudFormation テンプレートは、デフォルト名 LambdaInvokeOpenSearchMLCommonsRole
で Lambda IAM ロールを作成します。別の名前使用する場合は、デフォルト名をオーバーライドできます。この IAM ロールがテンプレートによって作成されたら、OpenSearch Service ドメインを呼び出すアクセス許可を Lambda 関数に付与する必要があります。そのためには、以下の手順に従って、ml_full_access
という名前のロールを OpenSearch Service バックエンドロールにマッピングします。
-
OpenSearch Service ドメインの OpenSearch Dashboards プラグインに移動します。OpenSearch Service コンソールのドメインダッシュボードに Dashboards エンドポイントがあります。
-
メインメニューから [セキュリティ]、[ロール] を選択し、[ml_full_access] ロールを選択します。
-
[マッピングされたユーザー]、[マッピングの管理] を選択します。
-
[バックエンドロール] で、ドメインを呼び出すアクセス許可を必要とする Lambda ロールの ARN を追加します。
arn:aws:iam::
account-id
:role/role-name
-
[マップ] を選択し、ユーザーまたはロールが [マッピングされたユーザー] の下に表示されていることを確認します。
ロールをマッピングしたら、ドメインのセキュリティ設定に移動し、Lambda IAM ロールを OpenSearch Service アクセスポリシーに追加します。
AWS アカウントでアクセス許可を有効にする
には、テンプレートに AWS のサービス 選択した SageMaker ランタイムまたは Amazon BedRock のいずれかとともに、CloudFormation と Lambda へのアクセス許可 AWS アカウント が必要です。
Amazon Bedrock を使用している場合、モデルも登録する必要があります。モデルを登録するには、「Amazon Bedrock ユーザーガイド」の「モデルアクセス」を参照してください。
独自の Amazon S3 バケットを使用してモデルアーティファクトを提供する場合は、CloudFormation IAM ロールを S3 アクセスポリシーに追加する必要があります。詳細については、「 IAM ユーザーガイド」の「IAM ID アクセス許可の追加および削除」を参照してください。
Amazon SageMaker AI テンプレート
Amazon SageMaker AI CloudFormation テンプレートは、ニューラルプラグインとセマンティック検索をセットアップするために複数の AWS リソースを定義します。
まず、[Amazon SageMaker を介したテキスト埋め込みモデルとの統合] テンプレートを使用して、SageMaker ランタイムにテキスト埋め込みモデルをサーバーとしてデプロイします。モデルエンドポイントを提供しない場合、CloudFormation は SageMaker ランタイムが Amazon S3 からモデルアーティファクトをダウンロードしてサーバーにデプロイすることを許可する IAM ロールを作成します。エンドポイントを提供する場合、CloudFormation は、Lambda 関数が OpenSearch Service ドメインにアクセスすることを許可する IAM ロールを作成します。ロールが既に存在する場合は、ロールを更新して再利用します。エンドポイントは ML Commons プラグインで ML コネクタに使用されるリモートモデルを提供します。
次に、[Amazon Sagemaker を使用したスパースエンコーダーとの統合] テンプレートを使用して、ドメインがリモート推論コネクタをセットアップした Lambda 関数を作成します。OpenSearch Service でコネクタを作成すると、リモート推論は SageMaker ランタイムのリモートモデルを使用してセマンティック検索を実行できます。テンプレートはドメイン内のモデル ID を返すので、検索を開始できます。
Amazon SageMaker AI CloudFormation テンプレートを使用するには
-
https://console.aws.amazon.com/aos/home
で Amazon OpenSearch Service コンソールを開きます。 -
左側のナビゲーションペインから、[統合] を選択します。
-
各 Amazon SageMaker AI テンプレートで、Configure domain、Configure public domain を選択します。
-
CloudFormation コンソールのプロンプトに従って、スタックをプロビジョニングし、モデルを設定します。
注記
OpenSearch Service は VPC ベースの OpenSearch ドメインを設定するための個別のテンプレートも提供します。このテンプレートを使用する場合は、Lambda 関数の VPC ID を指定する必要があります。
Amazon Bedrock テンプレート
Amazon SageMaker AI CloudFormation テンプレートと同様に、Amazon Bedrock CloudFormation テンプレートは OpenSearch Service と Amazon Bedrock 間のコネクタの作成に必要な AWS リソースをプロビジョニングします。
まず、テンプレートは、将来の Lambda 関数が OpenSearch Service ドメインにアクセスすることを許可する IAM ロールを作成します。次に、テンプレートは、ドメインで ML Commons プラグインを使用してコネクタを作成する Lambda 関数を作成します。OpenSearch Service がコネクタを作成すると、リモート推論のセットアップが完了し、Amazon Bedrock API オペレーションを使用してセマンティック検索を実行できるようになります。
Amazon Bedrock は独自の ML モデルをホストしているため、SageMaker ランタイムにモデルをデプロイする必要はありません。代わりに、テンプレートは Amazon BedRock 用の事前定義されたエンドポイントを使用し、エンドポイントのプロビジョニング手順をスキップします。
Amazon Bedrock CloudFormation テンプレートを使用するには
-
https://console.aws.amazon.com/aos/home
で Amazon OpenSearch Service コンソールを開きます。 -
左側のナビゲーションペインから、[統合] を選択します。
-
[Amazon Bedrock を介して Amazon Titan Text Embeddings モデルと統合] で、[ドメインを設定]、[パブリックドメインを設定] を選択します。
-
プロンプトの指示に従ってモデルをセットアップします。
注記
OpenSearch Service は VPC ベースの OpenSearch ドメインを設定するための個別のテンプレートも提供します。このテンプレートを使用する場合は、Lambda 関数の VPC ID を指定する必要があります。
さらに、OpenSearch Service では、Cohere モデルと Amazon Titan Multimodal Embeddings モデルに接続するための次の Amazon Bedrock テンプレートが用意されています。
-
Integration with Cohere Embed through Amazon Bedrock
-
Integrate with Amazon Bedrock Titan Multi-modal