本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定和自訂受管知識庫的查詢
您可以設定和自訂擷取,進一步改善結果的相關性。例如,您可以套用篩選條件來記錄中繼資料欄位/屬性,以使用最近更新的文件或具有最近修改時間的文件。
注意
下列所有組態僅適用於非結構化資料來源。
若要在主控台或 API 中進一步了解這些組態,請從下列主題中選取:
當您查詢知識庫時,Amazon Bedrock 預設會在回應中傳回最多五個結果。每個結果對應至來源區塊。
注意
回應中的實際結果數目可能小於指定的 numberOfResults 值,因為此參數會設定要傳回的結果數目上限。如果您已為分塊策略設定階層式分塊,numberOfResults 參數會對應至知識庫將擷取的子區塊數量。由於共用相同父區塊的子區塊會取代為最終回應中的父區塊,因此傳回的結果數目可能會小於請求的數量。
若要修改要傳回的結果數量上限,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
您可以將篩選條件套用至文件欄位/屬性,以協助您進一步改善回應的相關性。您的資料來源可以包含要篩選的文件中繼資料屬性/欄位,並可以指定要包含在嵌入中的欄位。
受管知識庫考量
搭配受管知識庫使用中繼資料篩選時:
-
不支援
startsWith和stringContains中繼資料篩選條件。請改用equals、greaterThan、in、lessThan或notIn運算子。 -
範圍運算子 (
greaterThan、lessThan、greaterThanOrEquals和lessThanOrEquals) 接受數字或日期時間值。若要篩選日期時間,請以 ISO-8601 偏移日期時間格式的字串提供值。使用完整的偏移形式,例如2026-03-02T19:02:18Z。範圍運算子僅支援受管知識庫的日期時間字串值。 -
對於自訂知識庫, 服務
x-amz-bedrock會保留字首為 的中繼資料欄位。對於全受管知識庫,預留中繼資料欄位使用底線字首 (例如,、_source_uri_data_source_id)。您無法覆寫任一知識庫類型的預留中繼資料欄位。
例如,"epoch_modification_time" 代表文件上次更新時,自 1970 年 1 月 1 日 (UTC) 以來的秒數。您可以篩選最近的資料,其中「epoch_modification_time」大於特定數字。這些最新的文件可用於查詢。
若要在查詢知識庫時使用篩選條件,請檢查您的知識庫是否符合下列要求:
-
設定資料來源連接器時,大多數連接器會網路爬取文件的主要中繼資料欄位。如果您使用 Amazon S3 儲存貯體作為資料來源,則儲存貯體必須至少包含一個
fileName.extension.metadata.json以用於與其相關聯的檔案或文件。如需設定中繼資料檔案的詳細資訊,請參閱 連線組態 中的文件中繼資料欄位。 -
如果您知識庫的向量索引位於 Amazon OpenSearch Serverless 向量存放區中,請檢查向量索引是否已使用
faiss引擎設定。如果向量索引是使用nmslib引擎設定,您必須執行下列其中一項操作: -
如果您的知識庫在 S3 向量儲存貯體中使用向量索引,則無法使用
startsWith和stringContains篩選條件。 -
如果您要將中繼資料新增至 Amazon Aurora 資料庫叢集中的現有向量索引,建議您提供自訂中繼資料資料欄的欄位名稱,以將所有中繼資料存放在單一資料欄中。在資料擷取期間,此欄將用於從資料來源填入中繼資料檔案中的所有資訊。如果您選擇提供此欄位,則必須在此資料欄上建立索引。
如果您的資料來源中有 PDF 文件,並將 Amazon OpenSearch Serverless 或 Amazon Aurora 用於向量存放區:Amazon Bedrock 知識庫會產生文件頁碼,並將其存放在名為 x-amz-bedrock-kb-document-page-number 的中繼資料欄位/屬性中。請注意,如果您沒有為文件選擇分塊,則不支援存放在中繼資料欄位中的頁碼。
您可以在查詢時使用下列篩選運算子來篩選結果:
| 運算子 | 主控台 | API 篩選條件名稱 | 支援的屬性資料類型 | 篩選結果 |
|---|---|---|---|---|
| Equals | = | 等於 | 字串、數字、布林值 | 屬性符合您提供的值 |
| 不等於 | != | notEquals | 字串、數字、布林值 | 屬性不符合您提供的值 |
| Greater than | > | greaterThan | number | 屬性大於您提供的值 |
| 大於或等於 | >= | greaterThanOrEquals | number | 屬性大於或等於您提供的值 |
| Less than | < | lessThan | number | 屬性小於您提供的值 |
| 小於或等於 | <= | lessThanOrEquals | number | 屬性小於或等於您提供的值 |
| In (入) | : | 在 中 | 字串清單 | 屬性位於您提供的清單中 (Amazon OpenSearch Serverless 和 Neptune Analytics GraphRAG 向量存放區目前最受支援) |
| 不在 | !: | notIn | 字串清單 | 屬性不在您提供的清單中 (Amazon OpenSearch Serverless 和 Neptune Analytics GraphRAG 向量存放區目前最受支援) |
| 字串包含 | 不適用 | stringContains | string | 屬性必須是字串。屬性名稱符合索引鍵,且其值為包含您以子字串提供之值的字串,或包含您以子字串提供之值的成員清單 (目前 Amazon OpenSearch Serverless 向量存放區最受支援。Neptune Analytics GraphRAG 向量存放區支援字串變體,但不支援此篩選條件的清單變體)。 |
| 清單包含 | 不適用 | listContains | string | 屬性必須是字串清單。屬性名稱符合金鑰,且其值是包含您作為其成員之一所提供值的清單 (目前 Amazon OpenSearch Serverless 向量存放區最受支援)。 |
若要結合篩選運算子,您可以使用下列邏輯運算子:
若要了解如何使用中繼資料篩選結果,請選擇您偏好方法的標籤,然後遵循下列步驟:
您可以針對使用案例和負責任的 AI 原則的知識庫實作保護措施。您可以針對不同的使用案例量身制訂多項防護機制,並將其套用至多種請求與回應條件,藉此提供一致的使用者體驗,並對您的知識庫實施標準化的安全管控。您可以設定拒絕的主題,以禁止不適當的主題,並且設定內容篩選器來封鎖模型輸入和回應中的有害內容。如需詳細資訊,請參閱使用 Amazon Bedrock 防護機制偵測和篩選有害內容。
注意
Claude 3 Sonnet 和 Haiku 目前不支援將防護機制與知識庫的內容關聯依據搭配使用。
如需一般提示工程指導方針,請參閱 提示工程概念。
選擇您偏好方法的索引標籤,然後遵循下列步驟:
您可以使用重新排名器模型來重新排名知識庫查詢的結果。請遵循 查詢知識庫並擷取資料 的主控台步驟。當您開啟組態窗格時,請展開重新排名區段。選取重新排名器模型、視需要更新許可,並修改任何其他選項。輸入提示,然後選取執行以在重新排名後測試結果。