本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
查詢知識庫並擷取資料
重要
防護機制只會套用至輸入和從 LLM 產生的回應。它們不會套用至執行時期從知識庫擷取的參考。
設定知識庫之後,您可以查詢知識庫,以及使用 Retrieve API 操作,從與查詢相關的來源資料中查詢和擷取區塊。您也可以使用重新排名模型,而不是預設的 Amazon Bedrock 知識庫排名器,在擷取期間對來源區塊進行相關性排名。
若要了解如何查詢知識庫,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- Console
-
若要測試您的知識庫
-
AWS 管理主控台使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 https://console.aws.amazon.com/bedrock
的 Amazon Bedrock 主控台。 -
在左側導覽窗格中選擇知識庫。
-
在知識庫區段中,執行下列其中一個動作:
-
選擇您要測試的知識庫旁的選項按鈕,然後選取測試知識庫。測試視窗從右側展開。
-
選擇您要測試的知識庫。測試視窗從右側展開。
-
-
在測試視窗中,清除產生查詢的回應,以傳回直接從您的知識庫擷取的資訊。
-
(選用) 選取組態圖示 (
) 以開啟組態。如需組態的詳細資訊,請參閱 設定和自訂查詢和回應產生。 -
在聊天視窗的文字方塊中輸入查詢,然後選取執行以傳回知識庫的回應。
-
來源區塊會依相關性順序直接傳回。從資料來源擷取的影像也可以傳回為來源區塊。
-
若要查看傳回區塊的詳細資訊,請選取顯示來源詳細資訊。
-
若要查看您為查詢設定的組態,請展開查詢組態。
-
若要檢視來源區塊的詳細資訊,請選擇其旁邊的向右箭頭 (
) 來展開它。您可以看到下列資訊:-
來源區塊的原始文字。若要複製此文字,請選擇複製圖示 (
)。如果您使用 Amazon S3 存放資料,請選擇外部連結圖示 (
) 以導覽至包含該檔案的 S3 物件。 -
如果您使用 Amazon S3 存放資料,則為與來源區塊相關聯的中繼資料。屬性/欄位索引鍵和值是在與來源文件相關聯的
.metadata.json檔案中定義。如需詳細資訊,請參閱 設定和自訂查詢和回應產生 中的中繼資料和篩選區段。
-
-
聊天選項
-
切換以透過開啟產生回應,以根據擷取的來源區塊來產生回應。如果您變更設定,聊天視窗中的文字將全部清除。
-
若要清除聊天視窗,請選取掃帚圖示 (
)。 -
要複製聊天視窗中的所有輸出,請選取複製圖示 (
)。
-
- API
-
若要查詢知識庫並僅從資料來源傳回相關文字,請使用 Amazon Bedrock 代理程式執行時期端點傳送 Retrieve 請求。
下列是必要欄位:
欄位 基本描述 knowledgeBaseId 指定要查詢的知識庫。 retrievalQuery 包含指定查詢的 text欄位。guardrailsConfiguration 包含 guardrailsConfiguration 欄位,例如 guardrailsId和guardrailsVersion,以搭配請求使用您的防護機制以下是選填欄位:
欄位 使用案例 nextToken 若要傳回下一批次的回應 (請參閱下方的回應欄位)。 retrievalConfiguration 包含用於自訂向量搜尋的查詢組態。如需詳細資訊,請參閱 KnowledgeBaseVectorSearchConfiguration。 您可以透過在 KnowledgeBaseVectorSearchConfiguration 中包含
rerankingConfiguration欄位,在預設 Amazon Bedrock 知識庫排名模型上使用重新排名模型。rerankingConfiguration欄位會對應至 VectorSearchRerankingConfiguration 物件,您可以在其中指定要使用的重新排名模型、要包含的任何其他請求欄位、在重新排名期間篩選掉文件的中繼資料屬性,以及重新排名後要傳回的結果數目。如需詳細資訊,請參閱 VectorSearchRerankingConfiguration。注意
如果您指定的
numberOfRerankedResults值大於 KnowledgeBaseVectorSearchConfiguration 中的numberOfResults值,傳回的結果數目上限將會是numberOfResults的值。例外情況是,如果您使用查詢分解 (如需詳細資訊,請參閱 設定和自訂查詢和回應產生 中的查詢修改一節。如果您使用查詢分解,則numberOfRerankedResults最多可達numberOfResults的五倍。回應會傳回來自資料來源的來源區塊,作為
retrievalResults欄位中 KnowledgeBaseRetrievalResult 物件的陣列。每個 KnowledgeBaseRetrievalResult 都包含下列欄位:欄位 Description 內容 在 text中包含文字來源區塊,或在byteContent欄位中包含影像來源區塊。如果內容是影像,則會以下列格式傳回 Base64 編碼內容的資料 URI:data:image/jpeg;base64,。${base64-encoded string}中繼資料 包含每個中繼資料屬性作為索引鍵,而中繼資料值作為索引鍵對應的 JSON 值。 location 包含來源區塊所屬文件的 URI 或 URL。 分數 文件的關聯性分數。您可以使用此分數來分析結果的排名。 如果來源區塊的數量超過回應中可以容納的數量,則會在
nextToken欄位中傳回值。在另一個請求中使用該值來傳回下一批結果。如果擷取的資料包含影像,回應也會傳回下列回應標頭,其中包含回應中傳回的來源區塊中繼資料:
-
x-amz-bedrock-kb-byte-content-source– 包含影像的 Amazon S3 URI。 -
x-amz-bedrock-kb-description– 包含影像的 Base64 編碼字串。
注意
您無法在設定中繼資料篩選條件時篩選這些中繼資料回應標頭。
多模式查詢
對於使用多模式內嵌模型的知識庫,除了文字之外,您還可以使用影像進行查詢。
retrievalQuery欄位支援影像查詢multimodalInputList的欄位:注意
如需設定和使用多模式知識庫的完整指引,包括在 Nova 和 BDA 方法之間進行選擇,請參閱 建立多模態內容的知識庫。
{ "knowledgeBaseId": "EXAMPLE123", "retrievalQuery": { "text": "Find similar shoes", "multimodalInputList": [ { "content": { "byteContent": "base64-encoded-image-data" }, "modality": "IMAGE" } ] } }您也可以透過省略
text欄位來查詢映像:{ "knowledgeBaseId": "EXAMPLE123", "retrievalQuery": { "multimodalInputList": [ { "content": { "byteContent": "base64-encoded-image-data" }, "modality": "IMAGE" } ] } }常見的多模式查詢模式
- Image-to-image搜尋
-
上傳映像以尋找視覺效果相似的映像。範例:上傳紅色 Nike 鞋子的相片,在您的產品目錄中尋找類似的鞋子。
- 文字 + 影像精簡
-
結合文字和影像以獲得更精確的結果。範例:「尋找類似的鞋子,但顏色不同」以及上傳的鞋子影像。
- 視覺化文件搜尋
-
搜尋文件中的圖表、圖表或視覺元素。範例:上傳圖表影像以在文件集合中尋找類似的圖表。
在 Nova 和 BDA 之間選擇多模態內容
使用多模式內容時,請根據您的內容類型和查詢模式選擇您的方法:
Nova 與 BDA 決策矩陣 內容類型 使用 Nova 多模態內嵌 使用 Bedrock 資料自動化 (BDA) 剖析器 影片內容 視覺說故事焦點 (運動、廣告、示範)、視覺元素的查詢、最少的語音內容 重要的語音/敘述 (簡報、會議、教學課程)、對口說內容的查詢、需要文字記錄 音訊內容 音樂或音效識別、非語音音訊分析 播客、採訪、會議、任何需要轉錄的語音內容 影像內容 視覺相似性搜尋、image-to-image擷取、視覺內容分析 從影像擷取文字、文件處理、OCR 要求 注意
Nova 多模式內嵌無法直接處理語音內容。如果您的音訊或影片檔案包含重要的口語資訊,請使用 BDA 剖析器先將語音轉換為文字,或改為選擇文字內嵌模型。
多模式查詢限制
-
目前版本中的每個查詢最多一個映像
-
映像查詢僅支援多模式內嵌模型 (Titan G1 或 Cohere Embed v3)
-
具有多模式內嵌模型和 S3 內容儲存貯體的知識庫不支援 RetrieveAndGenerate API
-
如果您使用純文字內嵌模型將映像查詢提供給知識庫,則會傳回 4xx 錯誤
多模式 API 回應結構
擷取多模態內容的回應包含其他中繼資料:
-
來源 URI:指向原始 S3 儲存貯體位置
-
補充 URI:指向多模式儲存貯體中的複本
-
時間戳記中繼資料:包含於視訊和音訊區塊,以啟用精確的播放位置
注意
使用 API 或 SDK 時,您需要在應用程式中處理檔案擷取和時間戳記導覽。主控台會透過增強型影片播放和自動時間戳記導覽來自動處理此問題。
-
注意
如果您在產生回應時收到提示超過字元限制的錯誤,您可以使用下列方式縮短提示:
-
減少擷取結果的數目上限 (這會縮短 知識庫提示範本:協調和產生 中 $search_results$ 預留位置的填入內容)。
-
以使用較小區塊的分塊策略重新建立資料來源 (這會縮短 知識庫提示範本:協調和產生 中 $search_results$ 預留位置的填入內容)。
-
縮短提示範本。
-
縮短使用者查詢 (這會縮短 知識庫提示範本:協調和產生 中 $query$ 預留位置的填入內容)。