翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock ナレッジベースのウェブページをクロールする
Amazon Bedrock が提供するウェブクローラーは、Amazon Bedrock ナレッジベースでの使用のためにURLs選択した に接続してクロールします。選択した の設定されたスコープまたは制限に従ってウェブサイトページをクロールできますURLs。ウェブサイトページをクロールするには、 AWS Amazon Bedrock または の マネジメントコンソール CreateDataSource API (「Amazon Bedrock でサポートされる SDKsと」を参照してください。 AWS CLI).
データソースURLsとしてのウェブのクローリングはプレビューリリースであり、変更される可能性があります。
クロールするウェブサイトを選択するときは、Amazon 利用規定ポリシーおよびその他のすべての Amazon 規約に従う必要があります。Web Crawler は、独自のウェブページ、またはクロールする権限を持つウェブページのインデックス作成にのみ使用する必要があることに注意してください。
Web Crawler は、RFC9309 に従って robots.txt を尊重します。
クロールできるウェブページコンテンツアイテムの数とコンテンツアイテムあたりの MB には制限があります。ナレッジベースについては「クォータ」を参照してください。
サポートされている機能
Web Crawler は、シード から始まるHTMLページに接続してクロールしURL、同じ上位のプライマリドメインとパスのすべての子リンクをトラバースします。サポートされているドキュメントを参照するHTMLページがある場合、ウェブクローラーは、これらのドキュメントが同じ上位のプライマリドメイン内にあるかどうかにかかわらず、それらのドキュメントを取得します。クロール動作は、クロール設定を変更することで変更できます。「」を参照してください接続設定。
以下がサポートされています。
-
クロールURLsする複数の を選択する
-
「許可」や「禁止」などの標準の robots.txt ディレクティブを尊重する
-
の範囲をクロールURLsに制限し、オプションでフィルターパターンURLsに一致する を除外する
-
クロールのレートを制限する URLs
-
Amazon でのクロール中にURLs訪問した のステータスを表示する CloudWatch
前提条件
ウェブクローラーを使用するには、次の点を確認してください。
-
ソース をクロールする権限があることを確認しますURLs。
-
ソースに対応する robots.txt へのパスURLsが、 のクロールURLsをブロックしていないことを確認します。Web Crawler は、robots.txt の標準に準拠しています。disallow
ウェブサイトで robots.txt が見つからない場合は、デフォルトでは です。Web Crawler は、RFC9309 に従って robots.txt を尊重します。
-
JavaScript 動的に生成されたコンテンツのクローリングは現在サポートされていないため、ソースURLページが動的に生成されているかどうかを確認します。これは、ブラウザで次のように入力することで確認できます。view-source:https://examplesite.com/site/
。 body
要素に含まれるdiv
要素が 1 つだけで、a href
要素がほとんど、またはまったくない場合、ページは動的に生成される可能性があります。ブラウザ JavaScript で を無効にし、ウェブページを再ロードして、コンテンツが正しくレンダリングされ、目的のウェブページへのリンクが含まれているかどうかを観察できます。
-
CloudWatch Logs 配信を有効にして、ウェブコンテンツを取り込むためのデータ取り込みジョブのステータスと、特定の を取得URLsできない場合を表示します。
クロールするウェブサイトを選択するときは、Amazon 利用規定ポリシーおよびその他のすべての Amazon 規約に従う必要があります。Web Crawler は、独自のウェブページ、またはクロールする権限を持つウェブページのインデックス作成にのみ使用する必要があることに注意してください。
接続設定
クロールの同期スコープURLs、包含/除外フィルター、URLアクセス、増分同期、およびこれらの仕組みの詳細については、以下を選択してください。
シード URLsに対する各ページの の特定の関係に基づいてURL、 の範囲をクロールに制限できますURLs。クロールを高速化するには、シード のホストと初期URLパスが同じものURLsに制限できますURL。より広範なクロールを行うには、同じホストURLsでクロールするか、シード の任意のサブドメイン内でクロールするかを選択できますURL。
以下のオプションから選択できます。
-
デフォルト: クロールは、同じホストに属し、同じ初期URLパスを持つウェブページに制限します。例えば、シードがURLhttps://aws.amazon.com/bedrock/「」の場合、このパスと、このパスから拡張されたウェブページのみがhttps://aws.amazon.com/bedrock/「agents/」のようにクロールされます。例えば、URLs「」のようなhttps://aws.amazon.com/ec2/兄弟はクロールされません。
-
ホストのみ: クロールを同じホストに属するウェブページに制限します。例えば、シードが「」の場合URLhttps://aws.amazon.com/bedrock/、https://aws.amazon.com「/ec2」のように「」のウェブページもクロールhttps://aws.amazon.comされます。
-
サブドメイン: シード と同じプライマリドメインを持つウェブページのクローリングを含めますURL。例えば、シードがURLhttps://aws.amazon.com/bedrock/「」の場合、amazon.com」 (サブドメイン) を含むウェブページは、「」のようにクロールされますhttps://www.amazon.com。
過剰なウェブページをクロールしていないことを確認してください。フィルターやスコープの制限なしで、wikipedia.org などの大規模なウェブサイトをクロールすることはお勧めしません。大規模なウェブサイトをクロールするには非常に時間がかかります。
サポートされているファイルタイプは、スコープに関係なく、またファイルタイプに除外パターンがない場合、クロールされます。
スコープURLsに応じて、特定の を含めたり除外したりできます。サポートされているファイルタイプは、スコープや、ファイルタイプに除外パターンがない場合、クロールされます。包含フィルターと除外フィルターを指定し、どちらも に一致する場合URL、除外フィルターが優先され、ウェブコンテンツはクロールされません。
末尾に「.pdfURLs」またはPDFウェブページの添付ファイルを除外する正規表現フィルターパターンの例:「.*\.pdf$」
Web Crawler を使用して、クロールが許可されているウェブサイトのページをクロールできます。
クロールするウェブサイトを選択するときは、Amazon 利用規定ポリシーおよびその他のすべての Amazon 規約に従う必要があります。Web Crawler は、独自のウェブページ、またはクロールする権限を持つウェブページのインデックス作成にのみ使用する必要があることに注意してください。
Web Crawler は、RFC9309 に従って robots.txt を尊重します。
Web Crawler を実行するたびに、ソースからURLs到達可能で、スコープURLsとフィルターに一致するすべての のコンテンツを取得します。すべてのコンテンツの最初の同期後に増分同期を行うと、Amazon Bedrock はナレッジベースを新規および変更されたコンテンツで更新し、存在しなくなった古いコンテンツを削除します。時折、クローラーはコンテンツがウェブサイトから削除されたかどうかを判断できないことがあります。この場合、ナレッジベースで古いコンテンツを保持する側でエラーが発生します。
データソースをナレッジベースと同期するには、 を使用するStartIngestionJobAPIか、コンソールでナレッジベースを選択し、データソースの概要セクションで Sync を選択します。
データソースから同期するすべてのデータは、データを取得するbedrock:Retrieve
権限を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているすべてのデータを含めることもできます。詳細については、「ナレッジベースのアクセス許可」を参照してください。
- Console
-
次の手順では、Amazon Bedrock ナレッジベースのウェブクローラーを設定します。Web Crawler は、コンソールのナレッジベース作成ステップの一部として設定します。
-
にサインインする AWS Management Console IAM Amazon Bedrock のアクセス許可を持つ ロールを使用して、 で Amazon Bedrock コンソールを開きますhttps://console.aws.amazon.com/bedrock/。
-
左側のナビゲーションペインから、ナレッジベース を選択します。
-
ナレッジベース セクションで、ナレッジベースの作成 を選択します。
-
ナレッジベースの詳細を入力します。
-
ナレッジベース名とオプションの説明を入力します。
-
を指定する AWS Identity and Access Management ナレッジベースの作成に必要なアクセス許可の ロール。
- IAM ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可がすべて付与された ロールを作成できます。ナレッジベースを作成する手順を完了すると、 IAM 必要なすべてのアクセス許可を持つ ロールは、特定のナレッジベースに適用されます。
-
ナレッジベースに割り当てるタグを作成します。
次のセクションに進み、データソースを設定します。
-
データソースとして Web Crawler を選択し、設定の詳細を指定します。
(オプション) デフォルトのデータソース名を変更し、説明 を入力します。
-
クロールURLsする のソースURLsを指定します。ソースの追加 を選択するとURLs、最大 9 つURLsまで追加できます。ソース を指定することでURL、ドメインをクロールする権限があることを確認します。
-
詳細設定を確認します。オプションで、選択したデフォルトの設定を変更できます。
[ KMS key 設定では、カスタムキーを選択するか、デフォルトで提供されるデータ暗号化キーを使用できます。
データを埋め込みに変換する際、 Amazon Bedrock は、一時的なデータを キーで暗号化します。 AWS は、デフォルトで を所有および管理します。独自のKMSキーを使用できます。詳細については、「データインジェスト時の一時データストレージの暗号化」を参照してください。
データ削除ポリシー設定では、次のいずれかを選択できます。
-
削除: ナレッジベースまたはデータソースリソースの削除時にベクトル埋め込みに変換されるすべてのデータをデータソースから削除します。ベクトルストア自体は削除されず、データのみが削除されることに注意してください。の場合、このフラグは無視されます。 AWS アカウントが削除されます。
-
保持: ナレッジベースまたはデータソースリソースの削除時にベクトル埋め込みに変換されるデータソースからのすべてのデータを保持します。ナレッジベースまたはデータソースリソースを削除しても、ベクトルストア自体は削除されないことに注意してください。
-
ソース をクロールするスコープのオプションを選択しますURLs。
-
デフォルト: クロールは、同じホストに属し、同じ初期URLパスを持つウェブページに制限します。例えば、シードがURLhttps://aws.amazon.com/bedrock/「」の場合、このパスと、このパスから拡張されるウェブページのみがhttps://aws.amazon.com/bedrock/「agents/」のようにクロールされます。例えば、URLs「」のようなhttps://aws.amazon.com/ec2/兄弟はクロールされません。
-
ホストのみ: クロールを同じホストに属するウェブページに制限します。例えば、シードが「」の場合URLhttps://aws.amazon.com/bedrock/、https://aws.amazon.com「/ec2」のように「」のウェブページもクロールhttps://aws.amazon.comされます。
-
サブドメイン: シード と同じプライマリドメインを持つウェブページのクローリングを含めますURL。例えば、シードがURLhttps://aws.amazon.com/bedrock/「」の場合、amazon.com」 (サブドメイン) を含むウェブページは、「」のようにクロールされますhttps://www.amazon.com。
過剰なウェブページをクロールしていないことを確認してください。フィルターやスコープの制限なしで、wikipedia.org などの大規模なウェブサイトをクロールすることはお勧めしません。大規模なウェブサイトをクロールするには非常に時間がかかります。
サポートされているファイルタイプは、スコープに関係なく、またファイルタイプに除外パターンがない場合、クロールされます。
-
クロール速度 の最大スロットリングを入力します。1 分あたりホストURLsあたり URLs 1~300 の取り込み。クローリング速度が高いほど負荷は増加しますが、所要時間は短くなります。
-
URL 正規表現パターン (オプション) では、ボックスに正規表現パターンを入力して、インクルードパターンまたは除外パターンを追加できます。新しいパターンを追加 を選択すると、最大 25 個のインクルードおよび 25 個の除外フィルターパターンを追加できます。包含パターンと除外パターンは、スコープに従ってクロールされます。競合がある場合、除外パターンが優先されます。
-
デフォルトまたはカスタマイズされたチャンクおよび解析設定を選択します。
-
カスタム設定を選択した場合は、次のいずれかのチャンクオプションを選択します。
-
固定サイズのチャンク: コンテンツは、設定されたおおよそのトークンサイズのテキストのチャンクに分割されます。チャンクで を超えてはならないトークンの最大数と、連続するチャンク間の重複率を設定できます。
-
デフォルトのチャンク: コンテンツは最大 300 トークンのテキストのチャンクに分割されます。1 つのドキュメントまたはコンテンツに含まれるトークンが 300 個未満の場合、ドキュメントはそれ以上分割されません。
-
階層チャンク: 親子チャンクのネストされた構造に整理されたコンテンツ。親チャンクトークンの最大サイズと子チャンクトークンの最大サイズを設定します。また、連続する親チャンクと連続する子チャンク間の重複トークンの絶対数も設定します。
-
セマンティックチャンク: 意味的に類似したテキストチャンクまたは文のグループに整理されたコンテンツ。ターゲット/現在の文を囲む文の最大数をグループ化するように設定します (バッファサイズ)。また、テキストを意味のあるチャンクに分割するためのブレークポイントパーセンタイルしきい値も設定します。セマンティックチャンクは基盤モデルを使用します。 の表示Amazon Bedrock 基盤モデルのコストに関する情報の料金。
-
チャンクなし: 各ドキュメントは 1 つのテキストチャンクとして扱われます。ドキュメントを別々のファイルに分割して前処理することもできます。
データソースの作成後にチャンク戦略を変更することはできません。
-
の使用を選択できます。 Amazon Bedrockドキュメントを解析して標準テキストを超えるテキストを解析するための の基盤モデル。例えば、ドキュメント内の表形式データを、構造がそのままの状態で解析できます。 の表示Amazon Bedrock 基盤モデルのコストに関する情報の料金。
-
の使用を選択できます。 AWS Lambda 関数を使用して、チャンク戦略と、ドキュメントメタデータ属性/フィールドの処理方法と取り込み方法をカスタマイズします。を指定する Amazon S3 Lambda 関数の入力と出力のバケットの場所。
次のセクションに移動して、ベクトルストアを設定します。
-
データをベクトル埋め込みに変換するモデルを選択します。
Amazon Bedrock が埋め込みを保存、更新、管理できるようにするベクトルストアを作成します。新しいベクトルストアをすばやく作成することも、作成したサポートされているベクトルストアから選択することもできます。新しいベクトルストアを作成すると OpenSearch 、Amazon Serverless ベクトル検索コレクションと必須フィールドを含むインデックスが自動的に設定されます。サポートされているベクトルストアから選択する場合は、ベクトルフィールド名とメタデータフィールド名をマッピングする必要があります。
次のセクションに進み、ナレッジベースの設定を確認します。
-
ナレッジベースの詳細を確認します。先に進む前に任意のセクションを編集し、ナレッジベースを作成できます。
ナレッジベースの作成にかかる時間は、特定の設定によって異なります。ナレッジベースの作成が完了すると、ナレッジベースのステータスは、準備完了状態または使用可能状態に変わります。
ナレッジベースの準備が整い、利用可能になったら、データソースを初めて同期し、コンテンツを最新の状態に保ちます。コンソールでナレッジベースを選択し、データソースの概要セクションで同期を選択します。
- CLI
-
以下は、Amazon Bedrock ナレッジベースの Web Crawler の設定例です。
{
"webConfiguration": {
"sourceConfiguration": {
"urlConfiguration": {
"seedUrls": [{
"url": "https://www.examplesite.com"
}]
}
},
"crawlerConfiguration": {
"crawlerLimits": {
"rateLimit": 50
},
"scope": "HOST_ONLY",
"inclusionFilters": [
"https://www\.examplesite\.com/.*\.html"
],
"exclusionFilters": [
"https://www\.examplesite\.com/contact-us\.html"
]
}
},
"type": "WEB"
}