Amazon Bedrock ナレッジベースとデータを同期する - Amazon Bedrock

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

Amazon Bedrock ナレッジベースとデータを同期する

ナレッジベースを作成したら、データを取り込むか同期して、クエリできるようにします。取り込み時には、指定したベクトル埋め込みモデルと設定に基づいて、データソースの未加工データがベクトル埋め込みに変換されます。

取り込みの開始前に、データソースが次の条件を満たしていることを確認してください。

  • データソースの接続情報が設定されている。データソースリポジトリのデータをクローリングするようにデータソースコネクタを設定する場合は、サポート対象のデータソースコネクタをご確認ください。データソースの設定は、ナレッジベースの作成過程で行います。

  • 選択したベクトル埋め込みモデルとベクトルストアが設定されている。サポート対象のベクトル埋め込みモデルナレッジベース用のベクトルストアをご確認ください。ベクトル埋め込みの設定は、ナレッジベースの作成過程で行います。

  • ファイルがサポート対象の形式である。詳細については、「Support document formats」を参照してください。

  • ファイルのサイズが、「 AWS 全般のリファレンス」の「Amazon Bedrock エンドポイントとクォータ」で指定されている取り込みジョブのファイルサイズを超えていない。

  • データソースにメタデータファイルが含まれている場合は、メタデータファイルが無視されないように、次の条件を確認してください。

    • .metadata.json ファイルが、関連付けられているソースファイルと同じファイル名と拡張子を共有している。

    • ナレッジベースのベクトルインデックスが Amazon OpenSearch Serverless ベクトルストアにある場合は、ベクトルインデックスがfaissエンジンで設定されていることを確認します。ベクトルインデックスが nmslib エンジンで設定されている場合は、次のいずれかを行う必要があります。

    • ナレッジベースのベクトルインデックスが Amazon Aurora データベースクラスターにある場合は、メタデータファイル内の各メタデータプロパティに対応する列がインデックス用のテーブルに含まれていることを、取り込みの開始前に確認してください。

データソースからファイルを追加、変更、または削除するたびに、ナレッジベースでファイルのインデックスが再作成されるように、データソースを同期する必要があります。同期は増分処理であるため、前回の同期以降に追加、変更、または削除されたドキュメントだけが処理されます。

ナレッジベースにデータを取り込んで最新のデータと同期する方法については、任意の方法のタブを選択し、以下のステップに従います。

Console
データをナレッジベースに取り込み、最新のデータと同期するには
  1. で Amazon Bedrock コンソールを開きますhttps://console.aws.amazon.com/bedrock/

  2. 左側のナビゲーションペインの [ナレッジベース] でナレッジベースを選択します。

  3. [データソース] セクションで [同期] を選択して、データの取り込み (データインジェスト) または最新データの同期を開始します。同期中のデータソースを停止するには、[停止] を選択します。停止できるのは、同期中のデータソースだけです。[同期] をもう一度選択すると、残りのデータを取り込むことができます。

  4. データインジェストが正常に完了すると、緑色の成功バナーが表示されます。

    注記

    データ同期が完了したら、新しく同期されたデータのベクトル埋め込みがナレッジベースに反映され、Amazon Aurora () 以外のベクトルストアを使用している場合はクエリに使用可能になるまでに数分かかることがありますRDS。

  5. データソースを選択して、そのデータソースの [同期履歴] を表示することができます。[警告を表示] を選択すると、データインジェストジョブが失敗した理由を確認できます。

API

データをナレッジベースに取り込み、最新のデータと同期するには、Agents for Amazon Bedrock ビルドタイムエンドポイントStartIngestionJob リクエストを送信します。knowledgeBaseIddataSourceId を指定します。StopIngestionJob リクエストを送信して、現在実行中のデータ取り込みジョブを停止することもできます。dataSourceIdingestionJobId、および knowledgeBaseId を指定します。停止できるのは、実行中のデータインジェストジョブのみです。準備ができたら、StartIngestionJob リクエストを再送信して、残りのデータを取り込むことができます。

Agents for Amazon Bedrock ビルドタイムエンドポイントを使用してGetIngestionJob、リクエストのレスポンスでingestionJobId返された を使用して、取り込みジョブのステータスを追跡します。また、knowledgeBaseIddataSourceId も指定します。

  • 取り込みジョブが完了すると、レスポンス内の statusCOMPLETE になります。

    注記

    データ取り込みが完了すると、Amazon Aurora () 以外のベクトルストアを使用する場合、新しく取り込まれたデータのベクトル埋め込みがクエリのためにベクトルストアで使用できるようになるまでに数分かかることがありますRDS。

  • レスポンス内の statistics オブジェクトは、データソース内のドキュメントの取り込みが成功したかどうかに関する情報を返します。

Agents for Amazon Bedrock ビルドタイムエンドポイントListIngestionJobsリクエストを送信することで、データソースのすべての取り込みジョブに関する情報を表示することもできます。dataSourceId と、データの取り込み先のナレッジベースの knowledgeBaseId を指定してください。

  • 検索するステータスを filters オブジェクトで指定して、結果をフィルタリングします。

  • sortBy オブジェクトを指定して、ジョブの開始時間またはジョブのステータスでソートします。昇順または降順で並べ替えることができます。

  • レスポンスで返す結果の最大数を maxResults フィールドで設定します。設定した数よりも多くの結果があった場合、レスポンスは nextToken を返します。これを別の ListIngestionJobs リクエストで送信すると、ジョブの次のバッチを確認できます。