Amazon Bedrock 知識庫的爬取網頁 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Bedrock 知識庫的爬取網頁

Amazon Bedrock 提供的 Web Crawler 會連線至您選取要用於 Amazon Bedrock 知識庫的 URLs 並對其進行爬取。您可以根據所選 URLs的設定範圍或限制來抓取網站頁面。您可以使用 AWS Amazon Bedrock 的管理主控台CreateDataSource API 來爬取網站頁面 (請參閱 Amazon Bedrock 支援的 SDKs和 AWS CLI)。

選取要爬取的網站時,您必須遵守 Amazon 可接受使用政策和所有其他 Amazon 術語。請記住,您只能使用 Web Crawler 來為您自己的網頁,或您授權進行爬取的網頁編製索引,而且必須尊重 robots.txt 組態。

Web Crawler 遵守符合 RFC 9309 的 robots.txt

可以爬取的網頁內容項目和每個內容項目 MB 數量有限制。如需知識庫,請參閱配額

支援的功能

Web 爬蟲程式會從種子 URL 開始連線至並爬取 HTML 頁面,在相同的最主要網域和路徑下周遊所有子連結。如果任何 HTML 頁面參考支援的文件,Web Crawler 都會擷取這些文件,無論它們是否位於相同的主要網域中。您可以變更爬蟲組態來修改爬蟲行為 - 請參閱連線組態

您可以支援下列項目:

  • 選取要爬取的多個來源 URLs,並將 URLs的範圍設定為僅爬取主機或也包含子網域。

  • 爬取屬於來源 URLs 一部分的靜態或動態網頁。

  • 指定自訂使用者代理程式尾碼,為您自己的爬蟲程式設定規則。

  • 包含或排除符合篩選條件模式的特定 URLs。

  • 遵守標準 robots.txt 指令,例如 'Allow' 和 'Disallow'。

  • 限制 URLs的範圍以爬取,並選擇性地排除符合篩選條件模式的 URLs。

  • 限制爬取 URLs的速率和要爬取的頁面數目上限。

  • 在 Amazon CloudWatch 中檢視爬取 URLs 的狀態

必要條件

若要使用 Web Crawler,請確定您:

  • 檢查您是否獲得爬取來源 URLs的授權。

  • 檢查對應至來源 URLs 的 robots.txt 路徑,不會封鎖爬取URLs。Web Crawler 會遵守 robots.txt 的標準:disallow預設情況下,如果找不到 網站的 robots.txt。Web Crawler 遵守符合 RFC 9309 的 robots.txt。您也可以指定自訂使用者代理程式標頭尾碼,為您自己的爬蟲程式設定規則。如需詳細資訊,請參閱此頁面連線組態說明中的 Web Crawler URL 存取。

  • 啟用 CloudWatch Logs 交付並遵循 Web Crawler 日誌的範例,以檢視您用於擷取 Web 內容的資料擷取任務狀態,以及是否無法擷取特定 URLs。

注意

選取要爬取的網站時,您必須遵守 Amazon 可接受使用政策和所有其他 Amazon 術語。請記住,您只能使用 Web Crawler 來為您自己的網頁或您有權進行爬取的網頁編製索引。

連線組態

如需爬取 URLs、包含/排除篩選條件、URL 存取、增量同步以及這些運作方式的同步範圍詳細資訊,請選取下列各項:

您可以根據每個頁面 URLs與種子 URLs的範圍限制為爬取。若要更快速地爬取,您可以將 URLs限制為具有相同主機和種子 URL 初始 URL 路徑的 URL。對於更廣泛的爬蟲,您可以選擇使用相同主機或在種子 URLs 的任何子網域內爬蟲 URL。

您可以從下列選項來選擇。

  • 預設:將爬取限制為屬於相同主機且具有相同初始 URL 路徑的網頁。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",則只會爬取此路徑和延伸自此路徑的網頁,例如 "https://aws.amazon.com/bedrock/agents/". 例如,像 "https://aws.amazon.com/ec2/" 的同級 URLs 不會爬取。

  • 僅限主機:將爬取限制為屬於相同主機的網頁。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",,則具有 "https://aws.amazon.com" 的網頁也會被編目,例如 "https://aws.amazon.com/ec2".

  • 子網域:包含與種子 URL 具有相同主要網域的任何網頁的爬取。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",則任何包含 "amazon.com" (子網域) 的網頁都會被編目,例如 "https://www.amazon.com".

注意

請確定您沒有爬取可能過多的網頁。不建議在沒有篩選條件或範圍限制的情況下爬取大型網站,例如 wikipedia.org。爬取大型網站需要很長的時間才能爬取。

無論範圍為何,以及檔案類型是否沒有排除模式,支援的檔案類型都會被抓取。

Web Crawler 支援靜態和動態網站。

您也可以限制爬取 URLs的速率,以控制爬取速度的限流。您可以設定每分鐘每個主機所爬取URLs 數目上限。此外,您也可以設定要爬取的網頁總數上限 (最多 25,000 個)。請注意,如果來源 URLs的網頁總數超過設定上限,則資料來源同步/擷取任務將會失敗。

您可以根據您的範圍包含或排除特定 URLs。無論範圍為何,以及檔案類型是否沒有排除模式,支援的檔案類型都會被抓取。如果您指定包含和排除篩選條件,且兩者都符合 URL,則排除篩選條件優先,且 Web 內容不會爬取。

重要

導致災難性恢復和向前看的問題規則表達模式篩選條件會遭到拒絕。

排除以 ".pdf" 或 PDF 網頁附件結尾URLs 的規則表達式篩選條件模式範例:".*\.pdf$"

您可以使用 Web 爬蟲程式來爬取您獲授權爬蟲的網站頁面。

選取要爬取的網站時,您必須遵循 Amazon 可接受使用政策和所有其他 Amazon 術語。請記住,您只能使用 Web Crawler 來為您自己的網頁或您有權進行爬取的網頁編製索引。

Web Crawler 遵守符合 RFC 9309 的 robots.txt

您可以指定特定使用者代理程式機器人為「允許」或「不允許」使用者代理程式來爬取來源 URLs。您可以修改網站的 robots.txt 檔案,以控制 Web Crawler 如何爬取來源 URLs。爬蟲程式會先尋找bedrockbot-UUID 規則,然後在 robots.txt 檔案中尋找一般bedrockbot規則。

您也可以新增 User-Agent 尾碼,可用於允許在機器人保護系統中列出爬蟲程式。請注意,此尾碼不需要新增至 robots.txt 檔案,以確保沒有人可以模擬使用者代理程式字串。例如,若要允許 Web 爬蟲程式爬取所有網站內容,並禁止任何其他機器人爬取,請使用下列指示:

User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler Allow: / # allow access to all pages User-agent: * # any (other) robot Disallow: / # disallow access to any pages

每次 Web Crawler 執行時,都會擷取可從來源 URLs連線且符合範圍和篩選條件之所有 URLs的內容。對於所有內容第一次同步後的增量同步,Amazon Bedrock 將使用新的和修改的內容更新您的知識庫,並移除不再存在的舊內容。有時爬蟲程式可能無法判斷內容是否已從網站中移除;在這種情況下,它會錯誤地保留知識庫中的舊內容。

若要將資料來源與知識庫同步,請使用 StartIngestionJob API,或在主控台中選取知識庫,然後在資料來源概觀區段中選取同步

重要

您從資料來源同步的所有資料可供具有擷取資料bedrock:Retrieve許可的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊,請參閱知識庫許可

Console
將 Web Crawler 資料來源連接至您的知識庫
  1. 遵循 中的步驟在 Amazon Bedrock 知識庫中建立知識庫,然後選擇 Web Crawler 作為資料來源。

  2. 提供資料來源的名稱和選用描述。

  3. 提供您要爬取URLs 的來源 URLs。您可以選取新增來源 URLs,以新增最多 9 個額外的 URL。 URLs 透過提供來源 URL,您確認您已獲得爬取其網域的授權。

  4. 進階設定區段中,您可以選擇設定下列項目:

    • 用於暫時性資料儲存的 KMS 金鑰。– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰,在將資料轉換為內嵌時加密暫時性資料。如需詳細資訊,請參閱資料擷取期間的暫時性資料儲存加密

    • 資料刪除政策 – 預設情況下,您可以刪除存放於向量存放區之資料來源的向量內嵌,或選擇保留向量存放區資料。

  5. (選用) 提供 bedrock-UUID- 的使用者代理程式尾碼,當其存取 Web 伺服器時識別爬蟲程式或機器人。

  6. 同步範圍區段中設定下列項目:

    1. 選取網站網域範圍以爬取來源 URLs:

      • 預設:將爬取限制為屬於相同主機且具有相同初始 URL 路徑的網頁。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",則只會爬取此路徑和延伸自此路徑的網頁,例如 "https://aws.amazon.com/bedrock/agents/". 例如,像 "https://aws.amazon.com/ec2/" 的同級 URLs 不會爬取。

      • 僅限主機:將爬取限制為屬於相同主機的網頁。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",,則具有 "https://aws.amazon.com" 的網頁也會被編目,例如 "https://aws.amazon.com/ec2".

      • 子網域:包含與種子 URL 具有相同主要網域的任何網頁的爬取。例如,種子 URL 為 "https://aws.amazon.com/bedrock/",則任何包含 "amazon.com" (子網域) 的網頁都會被編目,例如 "https://www.amazon.com".

      注意

      請確定您沒有爬取可能過多的網頁。不建議在沒有篩選條件或範圍限制的情況下爬取大型網站,例如 wikipedia.org。爬取大型網站需要很長的時間才能爬取。

      無論範圍為何,以及檔案類型是否沒有排除模式,支援的檔案類型都會被抓取。

    2. 輸入爬蟲速度的最大限流。每分鐘每個主機擷取 URLs 1 到 300 URLs。較高的爬取速度會增加負載,但花費的時間較少。

    3. 輸入 1 到 25000 之間資料來源同步的最大頁面數。限制從來源 URLs 爬取的網頁數量上限。如果網頁超過此數字,資料來源同步將會失敗,而且不會擷取任何網頁。

    4. 對於 URL Regex 模式 (選用),您可以在方塊中輸入規則表達式模式來新增包含模式或排除模式。透過選取新增模式,您最多可以新增 25 個包含和 25 個排除篩選條件模式。包含和排除模式會根據您的範圍進行爬取。如果有衝突,排除模式優先。

  7. (選用) 在內容剖析和區塊化區段中,您可以自訂如何剖析和區塊化資料。請參閱下列資源,進一步了解這些自訂項目:

  8. 繼續選擇內嵌模型和向量存放區。若要查看剩餘的步驟,請返回 ,在 Amazon Bedrock 知識庫中建立知識庫並在連接資料來源後繼續執行該步驟。

API

若要使用 WebCrawler 將知識庫連接到資料來源,請傳送 CreateDataSource 請求與 Amazon Bedrock 建置時間端點的代理程式,WEBDataSourceConfigurationtype 欄位中指定 ,並包含 webConfiguration 欄位。以下是 Amazon Bedrock 知識庫的 Web Crawler 組態範例。

{ "webConfiguration": { "sourceConfiguration": { "urlConfiguration": { "seedUrls": [{ "url": "https://www.examplesite.com" }] } }, "crawlerConfiguration": { "crawlerLimits": { "rateLimit": 50, "maxPages": 100 }, "scope": "HOST_ONLY", "inclusionFilters": [ "https://www\.examplesite\.com/.*\.html" ], "exclusionFilters": [ "https://www\.examplesite\.com/contact-us\.html" ], "userAgent": "CustomUserAgent" } }, "type": "WEB" }

若要了解您可以透過包含選用vectorIngestionConfiguration欄位套用至擷取的自訂,請參閱 自訂資料來源的擷取