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

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

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

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

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

  • データソースの接続情報を設定しました。データソースリポジトリからデータをクロールするようにデータソースコネクタを設定するには、「サポートされているデータソースコネクタ」を参照してください。ナレッジベースの作成の一環として、データソースを設定します。

  • 選択したベクトル埋め込みモデルとベクトルストアを設定しました。ナレッジベースについては、サポートされているベクトル埋め込みモデルとベクトルストアを参照してください。 https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.htmlナレッジベースの作成の一環として、ベクトル埋め込みを設定します。

  • ファイルはサポートされている形式です。詳細については、「 ドキュメント形式のサポート」を参照してください。

  • ファイルは、 の Amazon Bedrock エンドポイントとクォータで指定された取り込みジョブファイルサイズを超えないようにします AWS 全般のリファレンス。

  • データソースにメタデータファイルが含まれている場合は、次の条件をチェックして、メタデータファイルが無視されないことを確認します。

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

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

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

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

データをナレッジベースに取り込み、最新のデータと同期する方法については、選択した方法に対応するタブを選択し、ステップに従います。

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

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

  3. データソースセクションで、同期を選択して、データの取り込みまたは最新データの同期を開始します。現在同期中のデータソースを停止するには、停止 を選択します。データソースの同期を停止するには、データソースが現在同期している必要があります。同期を再度選択して、残りのデータを取り込むことができます。

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

    注記

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

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

API

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

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

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

    注記

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

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

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

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

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

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