ナレッジベースの独自のベクトルストアの前提条件 - Amazon Bedrock

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

ナレッジベースの独自のベクトルストアの前提条件

ベクトルストアは、データのベクトル埋め込み表現を保持します。テキストはベクトル埋め込みに変換され、元のドキュメントへのマッピングを維持しながらベクトルインデックスに書き込まれます。ベクトル埋め込みにより、テキストを数学的に比較できます。

Amazon Bedrock で Amazon OpenSearch Serverless にベクトルインデックスを自動的に作成する場合は、この前提条件をスキップして に進みますAmazon Bedrock ナレッジベースを作成する

独自のサポートされているベクトルストアを設定して、データのベクトル埋め込み表現のインデックスを作成できます。次のデータのフィールドを作成します。

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

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

  • Amazon Bedrock が管理するソースファイルメタデータのフィールド。

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

サードパーティーのベクトルストアは KMSキーで暗号化できます。詳細については、「ナレッジベースリソースの暗号化」を参照してください。

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

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 Serverless にアクセスする」(AWS PrivateLink Amazon OpenSearch Service デベロッパーガイドの )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

にアクセスするには Pinecone インデックス、 を指定する必要があります Pinecone API を介した Amazon Bedrock への キー AWS Secrets Manager.

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

  2. API キーを検索するには、Pinecone コンソールを開き、APIキー を選択します。

  3. シークレットを作成したら、KMSキーARNの を書き留めます。

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

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

Redis Enterprise Cloud
注記

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

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

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

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

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

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

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

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

にアクセスするには Redis Enterprise Cloud クラスター、 を指定する必要があります Redis Enterprise Cloud を介した Amazon Bedrock への セキュリティ設定 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。後でナレッジベースを作成するときに、認証情報シークレットARNARNフィールドに を入力します。

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)。

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

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

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

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

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

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

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