AWS CloudFormation を使用してセマンティック検索用のリモート推論を設定する - Amazon OpenSearch サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudFormation を使用してセマンティック検索用のリモート推論を設定する

OpenSearch バージョン 2.9 以降では、セマンティック検索でリモート推論を使用して、独自の機械学習 (ML) モデルをホストできます。リモート推論では、ML Commons プラグインを使用して、 Amazon SageMaker AI や Amazon などの ML サービスでモデル推論をリモートでホストし BedRock、ML コネクタを使用して Amazon OpenSearch Service に接続できます。

リモート推論のセットアップを容易にするために、Amazon OpenSearch Service は コンソールに AWS CloudFormation テンプレートを提供します。 CloudFormation は、インフラストラクチャ AWS をコードとして扱うことで、 およびサードパーティーのリソースをモデル化、プロビジョニング、管理 AWS のサービス できる です。

OpenSearch CloudFormation テンプレートはモデルプロビジョニングプロセスを自動化するため、 OpenSearch サービスドメインでモデルを簡単に作成し、モデル ID を使用してデータを取り込んでニューラル検索クエリを実行できます。

OpenSearch サービスバージョン 2.12 以降でニューラルスパースエンコーダーを使用する場合は、リモートデプロイではなく、トークナイザモデルをローカルで使用することをお勧めします。詳細については、 OpenSearch ドキュメントの「スパースエンコーディングモデル」を参照してください。

前提条件

OpenSearch サービスで CloudFormation テンプレートを使用するには、次の前提条件を満たします。

OpenSearch サービスドメインをセットアップする

CloudFormation テンプレートを使用する前に、バージョン 2.9 以降できめ細かなアクセスコントロールが有効になっている Amazon OpenSearch Service ドメインを設定する必要があります。 OpenSearch サービスバックエンドロールを作成して、コネクタを作成するアクセス許可を ML Commons プラグインに付与します。

CloudFormation テンプレートは、デフォルトの名前 で Lambda IAMロールを作成します。LambdaInvokeOpenSearchMLCommonsRole別の名前を選択した場合は上書きできます。テンプレートがこのIAMロールを作成したら、Lambda 関数に OpenSearch サービスドメインを呼び出すアクセス許可を付与する必要があります。これを行うには、次の手順を使用して、 という名前のロールをサービスバックエンドロールにマッピングします。 ml_full_access OpenSearch

  1. OpenSearch サービスドメインの OpenSearch Dashboards プラグインに移動します。Dashboards エンドポイントは、 OpenSearch サービスコンソールのドメインダッシュボードにあります。

  2. メインメニューから [セキュリティ]、[ロール] を選択し、[ml_full_access] ロールを選択します。

  3. [マッピングされたユーザー][マッピングの管理] を選択します。

  4. バックエンドロールで、ドメインを呼び出すアクセス許可を必要とする Lambda ロールARNの を追加します。

    arn:aws:iam::account-id:role/role-name
  5. [マップ] を選択し、ユーザーまたはロールが [マッピングされたユーザー] の下に表示されていることを確認します。

ロールをマッピングしたら、ドメインのセキュリティ設定に移動し、Lambda IAMロールを OpenSearch サービスアクセスポリシーに追加します。

AWS アカウントでアクセス許可を有効にする

には、 CloudFormation および Lambda へのアクセス許可と、 SageMaker ランタイムまたは Amazon のいずれかのテンプレートで AWS のサービス 選択したアクセス許可 AWS アカウント が必要です BedRock。

Amazon Bedrock を使用している場合、モデルも登録する必要があります。モデルを登録するには、「Amazon Bedrock ユーザーガイド」の「モデルアクセス」を参照してください。

独自の Amazon S3 バケットを使用してモデルアーティファクトを提供する場合は、ロールを S3 アクセスポリシーに追加 CloudFormation IAMする必要があります。詳細については、「 IAMユーザーガイド」のIAM「ID アクセス許可の追加と削除」を参照してください。

Amazon SageMaker AI テンプレート

Amazon SageMaker AI CloudFormation テンプレートは、ニューラルプラグインとセマンティック検索をセットアップするために複数の AWS リソースを定義します。

まず、Amazon テンプレートを使用したテキスト埋め込みモデルとの統合 SageMakerを使用して、 SageMaker ランタイムにテキスト埋め込みモデルをサーバーとしてデプロイします。モデルエンドポイントを指定しない場合、 は SageMaker 、ランタイムが Amazon S3 からモデルアーティファクトをダウンロードしてサーバーにデプロイできるようにする IAMロール CloudFormation を作成します。エンドポイントを指定すると、 は Lambda 関数が OpenSearch サービスドメインにアクセスできるようにする IAMロール CloudFormation を作成します。ロールが既に存在する場合は、ロールを更新して再利用します。エンドポイントは ML Commons プラグインで ML コネクタに使用されるリモートモデルを提供します。

次に、[Amazon Sagemaker を使用したスパースエンコーダーとの統合] テンプレートを使用して、ドメインがリモート推論コネクタをセットアップした Lambda 関数を作成します。 OpenSearch サービスでコネクタが作成されると、リモート推論は SageMaker ランタイムのリモートモデルを使用してセマンティック検索を実行できます。テンプレートはドメイン内のモデル ID を返すので、検索を開始できます。

Amazon SageMaker AI CloudFormation テンプレートを使用するには
  1. https://console.aws.amazon.com/aos/ホームで Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインから、[統合] を選択します。

  3. 各 Amazon SageMaker AI テンプレートで、ドメインの設定パブリックドメインの設定を選択します。

  4. CloudFormation コンソールのプロンプトに従ってスタックをプロビジョニングし、モデルを設定します。

注記

OpenSearch サービスには、VPCドメインを設定するための個別のテンプレートも用意されています。このテンプレートを使用する場合は、Lambda 関数の VPC ID を指定する必要があります。

Amazon Bedrock テンプレート

Amazon SageMaker AI CloudFormation テンプレートと同様に、Amazon Bedrock CloudFormation テンプレートは、 OpenSearch サービスと Amazon Bedrock の間にコネクタを作成するために必要な AWS リソースをプロビジョニングします。

まず、テンプレートは、将来の Lambda 関数が OpenSearch サービスドメインにアクセスできるようにする IAMロールを作成します。次に、テンプレートは、ドメインで ML Commons プラグインを使用してコネクタを作成する Lambda 関数を作成します。 OpenSearch サービスがコネクタを作成すると、リモート推論のセットアップが完了し、Amazon Bedrock APIオペレーションを使用してセマンティック検索を実行できます。

Amazon Bedrock は独自の ML モデルをホストするため、 SageMaker ランタイムにモデルをデプロイする必要はありません。代わりに、テンプレートは Amazon BedRock 用の事前定義されたエンドポイントを使用し、エンドポイントのプロビジョニング手順をスキップします。

Amazon Bedrock CloudFormation テンプレートを使用するには
  1. https://console.aws.amazon.com/aos/ホームで Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインから、[統合] を選択します。

  3. [Amazon Bedrock を介して Amazon Titan Text Embeddings モデルと統合] で、[ドメインを設定][パブリックドメインを設定] を選択します。

  4. プロンプトの指示に従ってモデルをセットアップします。

注記

OpenSearch サービスには、VPCドメインを設定するための個別のテンプレートも用意されています。このテンプレートを使用する場合は、Lambda 関数の VPC ID を指定する必要があります。

さらに、 OpenSearch Service には、Cohere モデルと Amazon Titan マルチモーダル埋め込みモデルに接続するための次の Amazon Bedrock テンプレートが用意されています。

  • Integration with Cohere Embed through Amazon Bedrock

  • Integrate with Amazon Bedrock Titan Multi-modal