サポートされているベクトルストアでナレッジベースのベクトルインデックスを設定する - Amazon Bedrock

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

サポートされているベクトルストアでナレッジベースのベクトルインデックスを設定する

次のデータを保存するフィールドを作成して、サポートされているベクトルインデックスを設定してデータソースのインデックスを作成します。

  • 選択した埋め込みモデルによってデータソースのテキストから生成されたベクトル。

  • データソース内のファイルから抽出されたテキストチャンク。

  • Amazon Bedrock が管理するナレッジベースに関連するメタデータ。

  • (Amazon Aurora データベースを使用していて、フィルタリング を設定する場合) ソースファイルに関連付けるメタデータ。他のベクトルストアでフィルタリングを設定する場合は、フィルタリングのためにこれらのフィールドを設定する必要はありません。

ベクトルインデックスの作成に使用するサービスに対応するタブを選択します。

注記

Amazon Bedrock で Amazon OpenSearch Serverless にベクトルインデックスを自動的に作成する場合は、この前提条件をスキップして に進みますナレッジベースを作成する。ベクトルインデックスを設定する方法については、選択した方法に対応するタブを選択し、ステップに従います。

Amazon OpenSearch Serverless
  1. の Amazon OpenSearch Serverless でアクセス許可を設定し、ベクトル検索コレクションを作成するには AWS Management Console、「Amazon OpenSearch Service デベロッパーガイド」の「ベクトル検索コレクションの使用」のステップ 1 と 2 に従います。コレクションを設定するときは、次の考慮事項に注意してください。

    1. 選択した名前と説明をコレクションに付けます。

    2. コレクションをプライベートにするには、「セキュリティ」セクションの「スタンダード作成」を選択します。次に、ネットワークアクセス設定セクションで、アクセスタイプとして VPC を選択し、VPC エンドポイントを選択します。 Amazon OpenSearch Serverless コレクションの VPC エンドポイントの設定の詳細については、Amazon OpenSearch Service デベロッパーガイドの「インターフェイスエンドポイント (AWS PrivateLink) を使用して Amazon OpenSearch Serverless にアクセスする」を参照してください。

  2. コレクションが作成されたら、ナレッジベースを作成するときの のコレクション ARN を書き留めます。

  3. 左側のナビゲーションペインで、サーバーレス でコレクションを選択します。次に、ベクトル検索コレクションを選択します。

  4. インデックスタブを選択します。次に、ベクトルインデックスの作成 を選択します。

  5. 「ベクトルインデックスの詳細」セクションで、ベクトルインデックス名フィールドにインデックスの名前を入力します。

  6. 「ベクトルフィールド」セクションで、「ベクトルフィールドを追加」を選択します。Amazon Bedrock は、データソースのベクトル埋め込みをこのフィールドに保存します。次の設定を指定します。

    • ベクトルフィールド名 – フィールドの名前を指定します (例: embeddings)。

    • エンジン — 検索に使用されるベクトルエンジン。faiss を選択します。

    • ディメンション - ベクトルのディメンション (次元) の数。ベクトルに含めるディメンションの数を確認するには、次の表を参照してください。

      モデル ディメンション
      Titan G1 埋め込み - テキスト 1,536
      Cohere Embed 英語 1,024
      Cohere Embed 多言語 1,024
    • 距離メトリクス - ベクトル間の類似性を測定するために使用されるメトリクス。ユークリッド語 を使用することをお勧めします。

  7. メタデータ管理セクションを展開し、2 つのフィールドを追加して、ナレッジベースがベクトルで取得できる追加のメタデータを保存するようにベクトルインデックスを設定します。次の表は、各フィールドに対して指定するフィールドと値を示しています。

    フィールドの説明 マッピングフィールド データ型 フィルタリング可能
    Amazon Bedrock はデータから未加工のテキストをチャンク化し、このフィールドにチャンクを保存します。 選択した名前 (例: text 文字列 True
    Amazon Bedrock は、ナレッジベースに関連するメタデータをこのフィールドに保存します。 選択した名前 (例: bedrock-metadata 文字列 False
  8. ナレッジベースの作成時に、ベクトルインデックス名、ベクトルフィールド名、メタデータ管理マッピングフィールド名に選択した名前を書き留めます。次に [作成] を選択します。

ベクトルインデックスを作成したら、ナレッジベース の作成に進むことができます。次の表は、メモした各情報を入力する場所をまとめたものです。

フィールド ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
コレクション ARN コレクション ARN collectionARN ベクトル検索コレクションの Amazon リソースネーム (ARN)。
ベクトルインデックス名 ベクトルインデックス名 vectorIndexName ベクトルインデックスの名前。
ベクトルフィールド名 ベクトルフィールド vectorField データソースのベクトル埋め込みを保存するフィールドの名前。
メタデータ管理 (最初のマッピングフィールド) テキストフィールド textField データソースから raw テキストを保存するフィールドの名前。
メタデータ管理 (2 番目のマッピングフィールド) Bedrock マネージドメタデータフィールド metadataField Amazon Bedrock が管理するメタデータを保存するフィールドの名前。

Amazon OpenSearch Serverless でのベクトルストアの設定に関する詳細なドキュメントについては、「Amazon OpenSearch Service デベロッパーガイド」の「ベクトル検索コレクションの使用」を参照してください。

Amazon Aurora
  1. ナレッジベース として使用する Aurora PostgreSQL の準備の手順に従って、Amazon Aurora データベース (DB) クラスター、スキーマ、およびテーブルを作成します。テーブルを作成するときは、次の列とデータ型を使用してテーブルを設定します。次の表に示す列名の代わりに、好みの列名を使用できます。ナレッジベースの設定時に指定できるように、使用した列名をメモしておきます。

    列名 データ型 ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
    id UUID プライマリキー プライマリキー primaryKeyField 各レコードに固有の識別子が含まれます。
    埋め込み ベクトル ベクトルフィールド vectorField データソースのベクトル埋め込みが含まれます。
    チャンク テキスト テキストフィールド textField データソースからの未加工テキストのチャンクが含まれます。
    metadata JSON Bedrock マネージドメタデータフィールド metadataField ソースアトリビューションを実行し、データインジェストとクエリを可能にするために必要なメタデータが含まれています。
  2. (オプション) をフィルタリングするためにメタデータをファイルに追加した場合は、ファイル内のメタデータ属性ごとに列を作成し、データ型 (テキスト、数値、またはブール値) を指定する必要があります。例えば、 属性がデータソースgenreに存在する場合は、 という名前の列を追加genreし、 をデータ型として指定textします。取り込み中、これらの列には対応する属性値が入力されます。

  3. 「Amazon Aurora と によるパスワード管理」の手順に従って、Aurora DB クラスターの AWS Secrets Manager AWS Secrets Manager シークレットを設定します。

  4. DB クラスターを作成しシークレットを設定したら、次の情報をメモします。

    ナレッジベース設定 (コンソール) のフィールド ナレッジベース設定 (API) のフィールド 説明
    Amazon Aurora DB クラスターの ARN resourceArn DB クラスターの ARN。
    データベース名 databaseName データベースの名前
    テーブル名 tableName DB クラスター内のテーブル名
    シークレット ARN credentialsSecretArn DB クラスターの AWS Secrets Manager キーの ARN
Pinecone
注記

を使用する場合はPinecone、ベクトルストアサービスをユーザー AWS に提供するために、ユーザーに代わって指定されたサードパーティーソースへのアクセスを許可することに同意します。お客様は、サードパーティーサービスからのデータの使用および転送に適用されるいかなるサードパーティー規約をも遵守する必要があります。

でのベクトルストアの設定に関する詳細なドキュメントについてはPinecone、「Amazon Bedrock のナレッジベースとしての Pinecone」を参照してください。

ベクトルストアを設定する際は、次の情報をメモしておきます。この情報は、ナレッジベースを作成するときに入力することになります。

  • 接続文字列 — インデックス管理ページのエンドポイント URL。

  • 名前空間 – (オプション) データベースに新しいデータを書き込むために使用される名前空間。詳細については、「Using namespaces」を参照してください。

Pinecone インデックスの作成時に指定する必要がある追加の設定があります。

  • 名前 - ベクトルインデックスの名前。任意の有効な名前を選択します。ここで選択した名前は、後でナレッジベースを作成するときに [ベクトルインデックス名] フィールドに入力します。

  • ディメンション - ベクトルのディメンション (次元) の数。ベクトルに含めるディメンションの数については、次の表を参照してください。

    モデル ディメンション
    Titan G1 埋め込み - テキスト 1,536
    Cohere Embed 英語 1,024
    Cohere Embed 多言語 1,024
  • 距離メトリクス - ベクトル間の類似性を測定するために使用されるメトリクス。ユースケースに合わせてさまざまなメトリクスを試してみることをお勧めします。コサイン類似度 から始めることをお勧めします。

Pinecone インデックスにアクセスするには、 を通じて Amazon Bedrock に Pinecone API キーを提供する必要があります AWS Secrets Manager。

Pinecone 設定のシークレットを設定するには
  1. AWS Secrets Manager シークレットを作成する」の手順に従って、 キーを に設定apiKeyし、 値を API キーとして設定してPineconeインデックスにアクセスします。

  2. この API キーを見つけるには、Pinecone コンソールを開いて [API キー] を選択します。

  3. シークレットを作成したら、作成したシークレットの ARN をメモしておきます。

  4. ナレッジベースを含むベクトルストアの AWS Secrets Manager シークレットを復号化するアクセス許可」の手順に従って、KMS キーの ARN を復号化する権限をサービスロールにアタッチします。

  5. この ARN は、後でナレッジベースを作成するときに、[認証情報シークレット ARN] フィールドに入力します。

Redis Enterprise Cloud
注記

を使用する場合はRedis Enterprise Cloud、ベクトルストアサービスを提供するために、指定されたサードパーティーソース AWS へのアクセスをユーザーに代わって許可することに同意します。お客様は、サードパーティーサービスからのデータの使用および転送に適用されるサードパーティー条件を遵守する責任があります。

でのベクトルストアの設定に関する詳細なドキュメントについてはRedis Enterprise Cloud、「Amazon Bedrock Redis Enterprise Cloudとの統合」を参照してください。

ベクトルストアを設定する際は、次の情報をメモしておきます。この情報は、ナレッジベースを作成するときに入力することになります。

  • エンドポイント URL — データベースのパブリックエンドポイント URL。

  • ベクトルインデックス名 – データベースのベクトルインデックスの名前。

  • ベクトルフィールド — ベクトル埋め込みが保存されるフィールドの名前。ベクトルに含めるディメンションの数については、次の表を参照してください。

    モデル ディメンション
    Titan G1 埋め込み - テキスト 1,536
    Cohere Embed 英語 1,024
    Cohere Embed 多言語 1,024
  • テキストフィールド – Amazon Bedrock が未加工テキストのチャンクを保存するフィールドの名前。

  • Bedrock が管理するメタデータフィールド – Amazon Bedrock がナレッジベースに関連するメタデータを保存するフィールドの名前。

Redis Enterprise Cloud クラスターにアクセスするには、 を通じて Amazon Bedrock にRedis Enterprise Cloudセキュリティ設定を提供する必要があります AWS Secrets Manager。

Redis Enterprise Cloud 設定のシークレットを設定するには
  1. Transport Layer Security (TLS)」の手順に従って、Amazon Bedrock でデータベースを使用するように TLS を有効にします。

  2. AWS Secrets Manager シークレットを作成する」の手順に従います。シークレットの設定から適切な値を使用してRedis Enterprise Cloud、次のキーを設定します。

    • username – Redis Enterprise Cloud データベースにアクセスするためのユーザー名。自身のユーザー名を確認するには、Redis コンソール でデータベースの [セキュリティ] セクションを参照してください。

    • password – Redis Enterprise Cloud データベースにアクセスするためのパスワード。自身のパスワードを確認するには、Redis コンソール でデータベースの [セキュリティ] セクションを参照してください。

    • serverCertificate - Redis Cloud 認証機関からの証明書の内容。「Download CA certificates」の手順に従って、Redis 管理コンソールを使ってサーバー証明書をダウンロードします。

    • clientPrivateKey - Redis Cloud 認証機関からの証明書のプライベートキー。「Download CA certificates」の手順に従って、Redis 管理コンソールを使ってサーバー証明書をダウンロードします。

    • clientCertificate - Redis Cloud 認証機関からの証明書のパブリックキー。「Download CA certificates」の手順に従って、Redis 管理コンソールを使ってサーバー証明書をダウンロードします。

  3. シークレットを作成したら、そのシークレットの ARN を書き留めます。この ARN は、後でナレッジベースを作成するときに、[認証情報シークレット ARN] フィールドに入力します。

MongoDB Atlas
注記

MongoDB Atlas を使用する場合は、ベクトルストアサービスを提供するために、指定されたサードパーティーソース AWS へのアクセスをユーザーに代わって許可することに同意します。お客様は、サードパーティーサービスからのデータの使用および転送に適用されるいかなるサードパーティー規約をも遵守する必要があります。

MongoDB Atlas でのベクトルストアの設定に関する詳細なドキュメントについては、MongoDB Atlas as a Knowledge Base for Amazon Bedrock」を参照してください。

ベクトルストアを設定するときは、ナレッジベースの作成時に追加する次の情報を書き留めます。

  • エンドポイント URL — MongoDB Atlas クラスターのエンドポイント URL。

  • データベース名 – MongoDB Atlas クラスター内のデータベースの名前。

  • コレクション名 – データベース内のコレクションの名前。

  • 認証情報シークレット ARN – MongoDB Atlas クラスター内のデータベースユーザーのユーザー名とパスワードを含む、AWS Secrets Manager で作成したシークレットの Amazon リソースネーム (ARN)。

  • (オプション) 認証情報シークレット ARN のカスタマーマネージド KMS キー – 認証情報シークレット ARN を暗号化した場合は、Amazon Bedrock が復号できるように KMS キーを指定します。

フィールドマッピングには、MongoDB Atlas インデックスの作成時に指定する必要がある追加の設定があります。

  • ベクトルインデックス名 – コレクション上の MongoDB Atlas ベクトル検索インデックスの名前。

  • ベクトルフィールド名 – Amazon Bedrock がベクトル埋め込みを保存するフィールドの名前。

  • テキストフィールド名 – Amazon Bedrock が生のチャンクテキストを保存するフィールドの名前。

  • メタデータフィールド名 – Amazon Bedrock がソース属性メタデータを保存するフィールドの名前。

(オプション) Amazon Bedrock を AWS 経由で MongoDB Atlas クラスターに接続するには PrivateLink、「Amazon Bedrock を使用した MongoDB Atlas での RAG ワークフロー」を参照してください。