ナレッジベース用に作成したベクトルストアを使用するための前提条件 - Amazon Bedrock

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

ナレッジベース用に作成したベクトルストアを使用するための前提条件

ドキュメントが変換されるベクトル埋め込みを保存するには、ベクトルストアを使用します。Amazon Bedrock ナレッジベースは、一部のベクトルストアのクイック作成フローをサポートしているため、Amazon Bedrock がこれらのベクトルストアのいずれかでベクトルインデックスを自動的に作成する場合は、この前提条件をスキップして に進みますAmazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する

標準の浮動小数点 (float32) ベクトル埋め込みの代わりにバイナリベクトル埋め込みを保存する場合は、バイナリベクトルをサポートするベクトルストアを使用する必要があります。

注記

Amazon OpenSearch Serverless クラスターと Amazon OpenSearch Managed クラスターは、バイナリベクトルの保存をサポートする唯一のベクトルストアです。

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

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

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

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

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

KMS キーを使用して、サードパーティーのベクトルストアを暗号化できます。詳細については、「Encryption of knowledge base resources」を参照してください。

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

注記

埋め込みモデルとベクトルディメンションの選択は、使用可能なベクトルストアの選択に影響する可能性があります。任意のベクトルストアを使用できない場合は、埋め込みモデルとベクトルディメンションの互換性のあるオプションを選択します。

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 デベロッパーガイド」の「Access Amazon OpenSearch Serverless using an interface endpoint (AWS PrivateLink)」を参照してください。

  2. コレクションを作成したら、ナレッジベースを作成するときに備えて [コレクション ARN] を書き留めます。

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

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

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

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

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

    • エンジン – 検索に使用するベクトルエンジン。[faiss] を選択します。

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

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

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

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

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

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

Amazon OpenSearch Serverless でのベクトルストアの設定に関する詳細なドキュメントについては、「Amazon OpenSearch Service デベロッパーガイド」の「Working with vector search collections」を参照してください。

Amazon OpenSearch Service Managed Clusters
重要
  1. の OpenSearch クラスターでドメインとベクトルインデックスを作成するには AWS Management Console、「Amazon OpenSearch Service デベロッパーガイド」のOpenSearch Service ドメインの作成と管理」で説明されているステップに従います。 OpenSearch

    ドメインを設定するときは、次の考慮事項に注意してください。

    1. ドメインに任意の名前を付けます。

    2. ドメインの作成をすばやく開始するには、Easy create オプションを使用することをお勧めします。

      注記

      このオプションは、スループットが低いドメインを提供します。より高いスループットを必要とするワークロードが大きい場合は、標準作成オプションを選択します。必要に応じて、後で容量を調整できます。このオプションを使用すると、最小容量から始めて、必要に応じて後で変更できます。

    3. Network では、パブリックアクセスを選択する必要があります。VPC の背後にある OpenSearch ドメインは、ナレッジベースではサポートされていません。

    4. Version の場合、バイナリベクトル埋め込みを使用している場合、Amazon Bedrock ナレッジベースには Engine バージョン 2.16 以降が必要です。さらに、k-nn インデックスを作成するには 2.13 以降のバージョンが必要です。詳細については、Amazon OpenSearch Service デベロッパーガイド「K-NN 検索」を参照してください。

    5. デュアルスタックモードを使用することをお勧めします。

    6. きめ細かなアクセスコントロールを有効にしてドメイン内のデータを保護し、ナレッジベースサービスロールに OpenSearch ドメインへのアクセスを許可してリクエストを行うアクセス許可をさらに制御することをお勧めします。

    7. 他のすべての設定をデフォルト値のままにし、Create を選択してドメインを作成します。

  2. ドメインが作成されたら、それをクリックして、ナレッジベースの作成時に のドメイン ARNドメインエンドポイントを書き留めます。

  3. ドメインを作成したら、OpenSearch ダッシュボードで次のコマンドを実行するか、curl コマンドを使用してベクトルインデックスを作成できます。詳細については、「OpenSearch ドキュメント」を参照してください。

    コマンドを実行する場合:

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

    • 検索に使用されるベクトルが faiss であることを確認します。 nmslib はサポートされていません。

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

      注記

      Titan V2 埋め込み - テキストモデルは複数のディメンションをサポートしています。また、256 または 512 にすることもできます。

      モデル ディメンション
      Titan G1 埋め込み - テキスト 1,536
      Titan V2 埋め込み - テキスト 1,024、512、256
      Cohere Embed 英語 1,024
      Cohere Embed 多言語 1,024
    • 2 つのフィールドを追加して、ナレッジベースがベクトルで取得できる追加のメタデータを保存するようにベクトルインデックスを設定できます。次の表は、それぞれに指定するフィールドと値を示しています。

      フィールドの説明 フィールドのマッピング
      Amazon Bedrock はデータから未加工テキストをチャンク化し、チャンクをこのフィールドに保存します。 オブジェクトとして指定します。例: AMAZON_BEDROCK_TEXT_CHUNK
      Amazon Bedrock は、ナレッジベースに関連するメタデータをこのフィールドに保存します。 オブジェクトとして指定します。例: AMAZON_BEDROCK_METADATA
    PUT /<index-name> { "settings": { "index": { "knn": true } }, "mappings": { "properties": { "<vector-name>": { "type": "knn_vector", "dimension": <embedding-dimension>, "data_type": "binary", # Only needed for binary embeddings "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings "method": { "name": "hnsw", "engine": "faiss", "parameters": { "ef_construction": 128, "m": 24 } } }, "AMAZON_BEDROCK_METADATA": { "type": "text", "index": "false" }, "AMAZON_BEDROCK_TEXT_CHUNK": { "type": "text", "index": "true" } } } }
  4. ドメイン ARN とエンドポイント、およびナレッジベースの作成時にベクトルインデックス名、ベクトルフィールド名、メタデータ管理マッピングフィールド名に選択した名前を書き留めます。

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

フィールド ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
ドメイン ARN ドメイン ARN domainARN OpenSearch ドメインの Amazon リソースネーム (ARN)。
ドメインエンドポイント ドメインエンドポイント domainEndpoint OpenSearch ドメインに接続するエンドポイント。
ベクトルインデックス名 ベクトルインデックス名 vectorIndexName ベクトルインデックスの名前。
ベクトルフィールド名 ベクトルフィールド vectorField データソースのベクトル埋め込みを保存するフィールドの名前。
メタデータ管理 (最初のマッピングフィールド) テキストフィールド textField データソースから未加工のテキストを保存するフィールドの名前。
メタデータ管理 (2 番目のマッピングフィールド) Bedrock が管理するメタデータフィールド metadataField Amazon Bedrock が管理するメタデータを保存するフィールドの名前。
Amazon S3 Vectors

Amazon S3 Vectors は、ベクトルデータの保存とクエリに使用できるコスト効率の高いベクトルストレージを Amazon S3 に提供します。1 秒未満のクエリパフォーマンスで、大きなベクトルデータセットの耐久性と伸縮性に優れたストレージを提供します。Amazon S3 Vectors は、低頻度のクエリワークロードに最適であり、検索拡張生成 (RAG) およびセマンティック検索アプリケーションで使用するとコストを削減できます。

重要

Amazon S3 Vectors と Amazon Bedrock ナレッジベースの統合はプレビューリリースであり、変更される可能性があります。

Amazon S3 Vectors には S3 ベクトルバケットが導入されており、セマンティックの意味と類似性に基づいてクエリを実行できます。インフラストラクチャをプロビジョニングすることなく、ベクトルデータを大規模に保存、アクセス、クエリしながら、1 秒未満のクエリ応答時間を提供し、コストを削減するために使用できます。ベクトルバケット内では、ベクトルインデックス内でベクトルデータを整理できます。ベクトルバケットは複数のベクトルインデックスを持つことができ、各ベクトルインデックスは数百万のベクトルを保持できます。詳細については、Amazon S3ユーザーガイド」の「Amazon S3 ベクトル」を参照してください。 Amazon S3

注記

Amazon Bedrock と Amazon S3 Vectors の両方が利用可能なすべての AWS リージョンでAmazon S3のナレッジベースを作成できます。Amazon S3 ベクトルのリージョンでの可用性については、Amazon S3ユーザーガイド」の「Amazon S3 ベクトル」を参照してください。 Amazon S3

メタデータのサポート

ベクトルインデックスを作成した後、インデックスにベクトルデータを追加するときに、各ベクトルにキーと値のペアとしてメタデータをアタッチできます。デフォルトでは、ベクトルにアタッチされたすべてのメタデータはフィルタリング可能で、類似度検索クエリのフィルターとして使用できます。フィルタリング可能なメタデータを使用して、日付、カテゴリ、ユーザー設定などの一連の条件に基づいて受信クエリをフィルタリングできます。

ベクトルインデックスの作成時にフィルタリングできないようにメタデータを設定することもできます。Amazon S3 ベクトルインデックスは、文字列、ブール型、数値型をサポートしています。ベクトルごとに最大 40 KB のメタデータをサポートできます。この 40 KB のメタデータ内では、フィルタリング可能なメタデータはベクトルごとに最大 2 KB になります。フィルタリング可能なメタデータスペースは、ナレッジベースの作成後に埋め込みを保存するために使用できます。

メタデータがこれらの制限のいずれかを超えると、ベクトルインデックスの作成時にエラーが発生します。詳細については、Amazon S3ユーザーガイド」の「Amazon S3 ベクトル」を参照してください。 Amazon S3

必要なアクセス許可

IAM ポリシーで、Amazon Bedrock が S3 ベクトルバケット内のベクトルインデックスにアクセスすることを許可していることを確認します。必要な許可の詳細については、「Amazon Bedrock ナレッジベースのサービスロールを作成する」を参照してください。

S3 ベクトルバケットとインデックスを作成する

ナレッジベースで Amazon S3 Vectors を使用するには、S3 ベクトルバケットとベクトルインデックスを作成する必要があります。Amazon S3 コンソール、または AWS SDK を使用して AWS CLI、ベクトルバケットとインデックスを作成できます。詳細な手順については、Amazon S3 ユーザーガイド」の「ベクトルインデックスの作成」を参照してください。

Amazon S3 コンソールでベクトルバケットとインデックスを作成するときは、次の考慮事項に注意してください。

  1. S3 ベクトルバケットを作成するときは、次の考慮事項に注意してください。

    • 一意のベクトルバケット名を指定します。

    • (オプション) Amazon S3 は、Amazon S3 マネージドキー (SSE-SAmazon S3によるデフォルトのサーバー側の暗号化を使用して、データを自動的に暗号化します。このデフォルトの暗号化を使用するか、代わりに AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS) を使用するかを選択できます。

      注記

      ベクトルバケットが作成されると、暗号化タイプを変更することはできません。

      step-by-stepの手順については、AWS 「KMS キーによる暗号化」を参照してください。

  2. S3 ベクトルバケットを作成したら、ナレッジベースの作成時に のベクトルバケットの Amazon リソースネーム (ARN) を書き留めます。

  3. 作成したベクトルバケットを選択し、ベクトルインデックスを作成します。ベクトルインデックスを作成するときは、次の考慮事項に注意してください。

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

    • ディメンション – ベクトル内のディメンションの数。ディメンションは 1~4096 の値である必要があります。次の表を参照して、埋め込みモデルの選択に基づいてベクトルに含めるディメンションの数を確認してください。

      モデル ディメンション
      Titan G1 埋め込み - テキスト 1,536
      Titan V2 埋め込み - テキスト 1,024、512、256
      Cohere Embed 英語 1,024
      Cohere Embed 多言語 1,024
    • 注記

      Amazon S3 Vectors は浮動小数点埋め込みのみをサポートします。バイナリ埋め込みはサポートされていません。

      距離メトリクス - ベクトル間の類似性を測定するために使用されるメトリクス。Cosine または Euclidean を使用できます。

  4. 追加設定を展開し、フィルタリング不可能なメタデータフィールドにフィルタリング不可能なメタデータを指定します。

    注記

    テキストチャンクが 2 KB のメタデータ領域を超えることが予想される場合は、フィルタリングできないメタデータキーAMAZON_BEDROCK_TEXTとしてテキストフィールドを追加することをお勧めします。ナレッジベースは、このフィールドを使用してテキストチャンクを保存します。

    最大 10 個のフィルタリング不可能なメタデータキーを設定できます。キーを追加 を選択し、キーAMAZON_BEDROCK_TEXTとして を追加します。

  5. ベクトルインデックスを作成し、ナレッジベースの作成時に のベクトルインデックスの Amazon リソースネーム (ARN) を書き留めます。

S3 ベクトルバケットのナレッジベースを作成する

この情報を収集したら、ナレッジベースの作成に進むことができます。S3 ベクトルバケットを使用してナレッジベースを作成するときは、ベクトルバケットの ARN とベクトルインデックスを指定する必要があります。ベクトルインデックスには、データソースから生成された埋め込みが保存されます。次の表は、各情報を入力する場所をまとめたものです。

フィールド ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
ベクトルバケット ARN S3 ベクトルバケット ARN vectorBucketArn S3 ベクトルバケットの Amazon リソースネーム (ARN)。
ベクトルインデックス ARN S3 ベクトルインデックス ARN vectorIndexARN S3 ベクトルバケットのベクトルインデックスの Amazon リソースネーム (ARN)。
Amazon Aurora (RDS)
  1. Using Aurora PostgreSQL as a knowledge base」の手順に従って、Amazon Aurora データベース (DB) クラスターを作成します。テーブルを作成するときは、次の列とデータ型で設定します。上の表に掲載されている名前の代わりに、希望する列名を使用できます。ナレッジベースの設定時に指定できるように、使用した列名をメモしておきます。

    ナレッジベースを作成する前に、これらのフィールドを指定する必要があります。ナレッジベースが作成されると、それらは更新されません。

    重要

    Aurora クラスターは、Amazon Bedrock のナレッジベースが作成されるクラスター AWS アカウント と同じ に存在する必要があります。

    列名 データ型 ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
    id UUID プライマリキー プライマリキー primaryKeyField 各レコードに固有の識別子が含まれます。
    埋め込み ベクトル ベクトルフィールド vectorField データソースのベクトル埋め込みが含まれます。
    チャンク テキスト テキストフィールド textField データソースからの未加工テキストのチャンクが含まれます。
    metadata JSON Bedrock が管理するメタデータフィールド metadataField ソース属性を実行し、データインジェストとクエリを有効にするために必要なメタデータが含まれています
    custom_metadata JSONB カスタムメタデータフィールド customMetadataField Amazon Bedrock がデータソースからメタデータファイルのすべての情報を書き込む列を示すオプションフィールド。
  2. テキストフィールドと埋め込みフィールドの列ベクトルとテキストにインデックスを作成する必要があります。カスタムメタデータフィールドを使用している場合は、この列に GIN インデックスも作成する必要があります。GIN インデックスを使用して、メタデータフィルタリングのために jsonb ドキュメント内のキーと値のペアを効率的に検索できます。詳細については、PostgreSQL ドキュメント「jsonb indexing」を参照してください。

    列名 でインデックスを作成する 必須?
    ベクトル CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops); はい
    text CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('simple', chunks)); はい
    カスタムメタデータ CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (custom_metadata); カスタムメタデータ列を作成している場合にのみ。
  3. (オプション) フィルタリングのためにファイルにメタデータを追加した場合は、カスタムメタデータフィールドに列名を指定して、すべてのメタデータを 1 つの列に保存することをお勧めします。データ取り込み中、この列にはデータソースのメタデータファイル内のすべての情報が入力されます。このフィールドを指定する場合は、この列に GIN インデックスを作成する必要があります。

    注記

    数値メタデータに対して範囲フィルターを頻繁に使用する場合は、パフォーマンスを最適化するために、特定のキーのインデックスを作成します。たとえば、 などのフィルターを使用する場合は"lessThan": { "key": "year", "value": 1989 }yearキーに式インデックスを作成します。詳細については、PostgreSQL ドキュメントの「式のインデックス」を参照してください。

    CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision

    または、このフィールド名を指定しない場合、ファイル内のメタデータ属性ごとに列を作成し、データ型 (テキスト、数値、またはブール値) を指定できます。たとえば、 属性がデータソースgenreに存在する場合は、 という名前の列を追加genreし、 をデータ型textとして指定します。データ取り込み中、これらの個別の列には対応する属性値が入力されます。

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

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

    ナレッジベース設定 (コンソール) のフィールド ナレッジベース設定 (API) のフィールド 説明
    Amazon Aurora DB クラスターの ARN resourceArn DB クラスターの ARN。
    データベース名 databaseName データベースの名前
    テーブル名 tableName DB クラスター内のテーブル名
    シークレット ARN credentialsSecretArn DB クラスターの AWS Secrets Manager キーの ARN
Neptune Analytics graphs (GraphRAG)
  1. の Neptune Analytics でグラフとベクトルストアを作成するには AWS Management Console、「Neptune Analytics ユーザーガイド」の「Neptune Analytics のベクトルインデックス作成」で説明されているステップに従います。

    注記

    Neptune GraphRAG を使用するには、ベクトル検索インデックスを含む空の Neptune Analytics グラフを作成します。ベクトル検索インデックスは、グラフの作成時にのみ作成できます。コンソールで Neptune Analytics グラフを作成するときは、プロセスの最後にあるベクトル検索設定でインデックスディメンションを指定します。

    グラフを作成するときは、次の考慮事項に注意してください。

    1. グラフに任意の名前を付けます。

    2. データソースで、空のグラフの作成を選択し、割り当てる m-NCUsの数を指定します。各 m-NCU には、約 1 GiB のメモリ容量と、対応するコンピューティングとネットワークがあります。

      注記

      グラフの容量は後で変更できます。必要に応じて、最小のインスタンスから開始し、後で別のインスタンスを選択することをお勧めします。

    3. デフォルトのネットワーク接続設定のままにすることができます。Amazon Bedrock は、ナレッジベースを関連付ける Neptune Analytics グラフへのネットワーク接続を作成します。グラフにパブリック接続やプライベートエンドポイントを設定する必要はありません。

    4. 「ベクトル検索設定」で「ベクトルディメンションを使用する」を選択し、各ベクトルのディメンション数を指定します。

      注記

      各ベクトルのディメンションの数は、埋め込みモデルのベクトルディメンションと一致する必要があります。ベクトルに含めるディメンションの数を決定するには、次の表を参照してください。

      モデル ディメンション
      Titan G1 埋め込み - テキスト 1,536
      Titan V2 埋め込み - テキスト 1,024、512、256
      Cohere Embed 英語 1,024
      Cohere Embed 多言語 1,024
    5. 他のすべての設定をデフォルトのままにして、グラフを作成します。

  2. グラフを作成したら、それをクリックして、ナレッジベースの作成時の のリソース ARNベクトルのディメンションを書き留めます。Amazon Bedrock で埋め込みモデルを選択するときは、Neptune Analytics グラフで設定したベクトルディメンションと同じディメンションのモデルを選択してください。

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

フィールド ナレッジベース設定 (コンソール) の対応するフィールド ナレッジベース設定 (API) の対応するフィールド 説明
グラフ ARN Neptune 分析グラフ ARN graphARN Neptune Analytics グラフの Amazon リソースネーム (ARN)。
メタデータ管理 (最初のマッピングフィールド) テキストフィールド名 textField データソースから未加工のテキストを保存するフィールドの名前。このフィールドには、テキストなどの任意の値を指定できます。
メタデータ管理 (2 番目のマッピングフィールド) Bedrock が管理するメタデータフィールド metadataField Amazon Bedrock が管理するメタデータを保存するフィールドの名前。メタデータなど、このフィールドには任意の値を指定できます。
Pinecone
注記

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

Pinecone でベクトルストアを設定する方法の詳細については、「Pinecone as a knowledge base for Amazon Bedrock」を参照してください。

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

  • エンドポイント URL – インデックス管理ページのエンドポイント URL。

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

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

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

Pinecone インデックスを作成するときに必要となる追加の設定は以下のとおりです。

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

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

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

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

  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 でのベクトルストアの設定に関する詳細なドキュメントについては、「Integrating Redis Enterprise Cloud with Amazon Bedrock」を参照してください。

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

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

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

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

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

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

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

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 でのベクトルストアの設定に関する詳細なドキュメントについては、「Launch a Fully Managed RAG Workflow with MongoDB Atlas and 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 がソース属性メタデータを保存するフィールドの名前。

  • (オプション) テキスト検索インデックス名 – コレクション上の MongoDB Atlas Search インデックスの名前。

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