內容群集如何適用於知識庫 - Amazon Bedrock

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

內容群集如何適用於知識庫

擷取資料時,Amazon Bedrock 會先將文件或內容分割為可管理區塊,以有效擷取資料。然後,區塊會轉換為嵌入項目,並寫入向量索引 (資料的向量表示法),同時保持與原始文件映射。向量內嵌允許量化比較文字。

標準群集

Amazon Bedrock 支援下列標準群集方法:

注意

文字區塊化策略僅適用於文字文件。對於多模態內容 (音訊、影片、影像),區塊會在內嵌模型層級發生,而不是透過這些文字型策略。

  • 固定大小群集:您可以透過指定每個區塊的字符數量和重疊百分比來設定所需的區塊大小,從而提供靈活性,以適應您的特定需求。您可以設定區塊不得超過的字符數量上限,以及連續區塊之間的重疊百分比。

    注意

    對於剖析的內容 (例如使用進階剖析器或從 HTML 轉換的內容),Amazon Bedrock 知識庫可能會區塊內容,以最佳化以獲得最佳結果。區塊器遵守邏輯文件邊界 (例如頁面或區段),即使增加字符大小上限,也不會在這些邊界之間合併內容,否則允許較大的區塊。

  • 預設群集:內容會分割為大約 300 個字符的文字區塊。群集程序遵守句子界限,確保在每個區塊內保留完整的句子。

您也可以為文件選擇無群集。每個文件都會視為單一文字區塊。建議您先將文件分割為不同的檔案,再選擇無群集做為群集方法/策略,以預先處理文件。如果您為文件選擇無群集,則無法檢視引文中的頁碼,也無法依 x-amz-bedrock-kb-document-page-number 中繼資料欄位/屬性進行篩選。

階層群集

階層群集涉及將資訊組織成子區塊和父區塊的巢狀結構。建立資料來源時,您可以定義父區塊大小、子區塊大小,以及每個區塊之間重疊的字符數量。在擷取期間,系統一開始會擷取子區塊,但會以更廣泛的父區塊取代它們,以便為模型提供更全面的內容。

小型文本嵌入更為精確,但擷取旨在提供全面的內容。階層群集系統會在適當時以其父區塊取代擷取的子區塊,以平衡這些需求。

注意
  • 由於子區塊在擷取期間會被父區塊取代,因此傳回的結果數量可能小於請求的數量。

  • 使用 S3 向量儲存貯體做為向量存放區時,不建議使用階層式區塊。使用大量字符進行區塊處理時 (合計超過 8000 個字符),您可能會遇到中繼資料大小限制。

對於階層群集,Amazon Bedrock 知識庫支援為群集指定兩個層級或以下深度:

  • 父系:您可以設定父系區塊字符大小上限。

  • 子系:您可以設定子區塊字符大小上限。

您也可以設定區塊之間的重疊字符。這是設定連續父區塊和連續子區塊之間重疊字符的絕對數量。

語意群集

語意群集是一種自然語言處理技術,可將文字分割為有意義的區塊,以增強理解和資訊擷取。它旨在透過專注於語意內容而非僅語法結構來提高擷取準確性。透過這樣做,它可以促進更精確的擷取和處理相關資訊。

設定語意群集時,您可以選擇指定下列超參數。

  • 字符數量上限:單一區塊中應包含的字符數量上限,同時遵守句子界限。

  • 緩衝區大小:對於指定的句子,緩衝區大小會定義要為內嵌建立新增的周圍句子數量。例如,緩衝區大小為 1 會產生 3 個要合併和內嵌的句子 (目前、上一個和下一個句子)。此參數會影響一起檢查多少文字,以判斷每個區塊的邊界,進而影響所產生區塊的精細性和一致性。較大的緩衝區大小可能會擷取更多內容,但也可能引入雜訊,而較小的緩衝區大小可能會遺漏重要的內容,但可確保更精確的群集。

  • 中斷點百分位閾值:句子距離/差異程度的百分位閾值,用來在句子之間繪製中斷點。閾值越高,句子就需更易辨別,才能拆分成不同區塊。閾值越高,產生的區塊越少,且通常平均區塊大小越大。

    注意

    由於語義群集會使用基礎模型,因此使用此功能時需要額外付費。費用取決於您擁有的資料量。如需有關基礎模型成本的詳細資訊,請參閱 Amazon Bedrock 定價

多模態內容區塊

對於多模態內容 (音訊、影片、影像),區塊行為與文字文件不同:

  • Nova 多模式內嵌:區塊會在內嵌模型層級發生。您可以設定 1-30 秒的音訊和視訊區塊持續時間 (預設值:5 秒)。對於影片檔案,即使影片包含音訊,也只會套用影片區塊持續時間。音訊區塊持續時間僅適用於獨立音訊檔案。

  • Bedrock Data Automation (BDA) 剖析器:內容會先轉換為文字 (文字記錄和場景摘要),然後將標準文字區塊化策略套用至轉換的文字。

注意

使用 Nova 多模式內嵌時,知識庫中設定的文字區塊化策略只會影響資料來源中的文字文件,而不會影響音訊、影片或影像檔案。