本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
查詢知識庫並根據擷取的資料產生回應
重要
防護機制只會套用至輸入和從 LLM 產生的回應。它們不會套用至執行時期從知識庫擷取的參考。
設定知識庫之後,您可以查詢知識庫,以及使用 RetrieveAndGenerate API 操作,根據從來源資料擷取的區塊產生回應。傳回的回應包含原始來源資料的引文。您也可以使用重新排名模型,而不是預設的 Amazon Bedrock 知識庫排名器,在擷取期間對來源區塊進行相關性排名。
多模態內容限制
RetrieveAndGenerate 對多模態內容的支援有限。使用 Nova Multimodal Embeddings 時,RAG 功能僅限於文字內容。如需包括音訊和視訊處理的完整多模式支援,請使用 BDA 搭配文字內嵌模型。如需詳細資訊,請參閱建立多模態內容的知識庫。
注意
在 RetrieveAndGenerate 流程期間從 Retrieve 回應傳回的影像會包含在回應產生的提示中。RetrieveAndGenerate 回應不能包含影像,但可以引用包含影像的來源。
若要了解如何查詢知識庫,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- Console
-
若要測試您的知識庫
-
AWS 管理主控台使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 https://console.aws.amazon.com/bedrock
的 Amazon Bedrock 主控台。 -
在左側導覽窗格中選擇知識庫。
-
在知識庫區段中,執行下列其中一個動作:
-
選擇您要測試的知識庫旁的選項按鈕,然後選取測試知識庫。測試視窗從右側展開。
-
選擇您要測試的知識庫。測試視窗從右側展開。
-
-
若要根據從您的知識庫擷取的資訊產生回應,請開啟產生查詢的回應。Amazon Bedrock 將會根據您的資料來源產生回應,並以註腳引用其提供的資訊。
-
若要選擇要用於產生回應的模型,請選擇選取模型。然後選取套用。
-
(選用) 選取組態圖示 (
) 以開啟組態。如需組態的詳細資訊,請參閱 設定和自訂查詢和回應產生。 -
在聊天視窗的文字方塊中輸入查詢,然後選取執行以傳回知識庫的回應。
-
選取註腳以查看該回應部分引用來源的摘錄。選擇連結以導覽至包含該檔案的 S3 物件。
-
若要查看傳回區塊的詳細資訊,請選取顯示來源詳細資訊。
-
若要查看您為查詢設定的組態,請展開查詢組態。
-
若要檢視來源區塊的詳細資訊,請選擇其旁邊的向右箭頭 (
) 來展開它。您可以看到下列資訊:-
來源區塊的原始文字。若要複製此文字,請選擇複製圖示 (
)。如果您使用 Amazon S3 存放資料,請選擇外部連結圖示 (
) 以導覽至包含該檔案的 S3 物件。 -
如果您使用 Amazon S3 存放資料,則為與來源區塊相關聯的中繼資料。屬性/欄位索引鍵和值是在與來源文件相關聯的
.metadata.json檔案中定義。如需詳細資訊,請參閱 設定和自訂查詢和回應產生 中的中繼資料和篩選區段。
-
-
聊天選項
-
若要使用不同的模型產生回應,請選取變更模型。如果您變更模型,聊天視窗中的文字將全部清除。
-
透過清除產生回應,切換到直接擷取來源區塊。如果您變更設定,聊天視窗中的文字將全部清除。
-
若要清除聊天視窗,請選取掃帚圖示 (
)。 -
要複製聊天視窗中的所有輸出,請選取複製圖示 (
)。
-
- API
-
若要查詢知識庫,並使用基礎模型來根據資料來源的結果產生回應,請使用 Amazon Bedrock 代理人執行時期端點傳送 RetrieveAndGenerate 請求。
RetrieveAndGenerateStream API 會以串流格式傳回資料,並可讓您存取區塊中產生的回應,而無需等待整個結果。
下列是必要欄位:
注意
API 回應包含引用事件。
citation成員已棄用。建議您改為使用generatedResponse和retrievedReferences欄位。如需參考資訊,請參閱CitationEvent。欄位 基本描述 input 包含指定查詢的 text欄位。retrieveAndGenerateConfiguration 包含 RetrieveAndGenerateConfiguration,這會指定擷取和產生的組態。如需詳細資訊,請參閱下述。 以下是選填欄位:
欄位 使用案例 sessionId 使用與上一個工作階段相同的值來繼續該工作階段,並針對模型維護其內容。 sessionConfiguration 包含用於加密工作階段的自訂 KMS 金鑰。 在 RetrieveAndGenerateConfiguration 中包含
knowledgeBaseConfiguration欄位。此欄位會對應至 KnowledgeBaseRetrieveAndGenerateConfiguration 物件,其中包含下列欄位:-
下列是必要欄位:
欄位 基本描述 knowledgeBaseId 要查詢之知識庫的 ID。 modelArn 用於產生的基礎模型或推論設定檔的 ARN。 -
以下是選填欄位:
欄位 使用案例 retrievalConfiguration 包含用於自訂向量搜尋的查詢組態。如需詳細資訊,請參閱 KnowledgeBaseRetrievalConfiguration。 orchestrationConfiguration 指定模型在擷取和產生之前如何處理提示的組態。如需詳細資訊,請參閱 OrchestrationConfiguration。 generationConfiguration 指定回應產生的組態。如需詳細資訊,請參閱 GenerationConfiguration。
您可以透過在 KnowledgeBaseRetrievalConfiguration 內的 KnowledgeBaseVectorSearchConfiguration 中包含
rerankingConfiguration欄位,在預設 Amazon Bedrock 知識庫排名模型上使用重新排名模型。rerankingConfiguration欄位會對應至 VectorSearchRerankingConfiguration 物件,您可以在其中指定要使用的重新排名模型、要包含的任何其他請求欄位、在重新排名期間篩選掉文件的中繼資料屬性,以及重新排名後要傳回的結果數目。如需詳細資訊,請參閱 VectorSearchRerankingConfiguration。注意
如果您指定的
numberOfRerankedResults值大於 KnowledgeBaseVectorSearchConfiguration 中的numberOfResults值,傳回的結果數目上限將會是numberOfResults的值。例外情況是,如果您使用查詢分解 (如需詳細資訊,請參閱 設定和自訂查詢和回應產生 中的查詢修改一節。如果您使用查詢分解,則numberOfRerankedResults最多可達numberOfResults的五倍。回應會在
output欄位中傳回產生的回應,並在citations欄位中將引用的來源區塊傳回為陣列。每個引用物件包含下列欄位。欄位 基本描述 generatedResponsePart 在 textResponsePart欄位中,包含引用相關的text。span欄位提供具有引號之輸出部分的開頭和結尾索引。retrievedReferences RetrievedReference 物件的陣列,每個物件都包含與文件相關聯的來源區塊的 content、與文件相關聯的metadata,以及資料來源中文件的 URI 或 URLlocation。如果內容是影像,則會以下列格式傳回 Base64 編碼內容的資料 URI:data:image/jpeg;base64,。${base64-encoded string}回應也會傳回
sessionId值,您可以在另一個請求中重複使用該值,以維持相同的對話。如果您在請求中包含
guardrailConfiguration,guardrailAction欄位會通知您內容是否遭到封鎖。如果擷取的資料包含影像,回應也會傳回下列回應標頭,其中包含回應中傳回的來源區塊中繼資料:
-
x-amz-bedrock-kb-byte-content-source– 包含影像的 Amazon S3 URI。 -
x-amz-bedrock-kb-description– 包含影像的 Base64 編碼字串。
注意
您無法在設定中繼資料篩選條件時篩選這些中繼資料回應標頭。
-
注意
如果您在產生回應時收到提示超過字元限制的錯誤,您可以使用下列方式縮短提示:
-
減少擷取結果的數目上限 (這會縮短 知識庫提示範本:協調和產生 中 $search_results$ 預留位置的填入內容)。
-
以使用較小區塊的分塊策略重新建立資料來源 (這會縮短 知識庫提示範本:協調和產生 中 $search_results$ 預留位置的填入內容)。
-
縮短提示範本。
-
縮短使用者查詢 (這會縮短 知識庫提示範本:協調和產生 中 $query$ 預留位置的填入內容)。