查詢知識庫並根據擷取的資料產生回應 - Amazon Bedrock

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

查詢知識庫並根據擷取的資料產生回應

重要

防護機制只會套用至輸入和從 LLM 產生的回應。它們不會套用至執行時期從知識庫擷取的參考。

設定知識庫之後,您可以查詢知識庫,以及使用 RetrieveAndGenerate API 操作,根據從來源資料擷取的區塊產生回應。傳回的回應包含原始來源資料的引文。您也可以使用重新排名模型,而不是預設的 Amazon Bedrock 知識庫排名器,在擷取期間對來源區塊進行相關性排名。

多模態內容限制

RetrieveAndGenerate 對多模態內容的支援有限。使用 Nova Multimodal Embeddings 時,RAG 功能僅限於文字內容。如需包括音訊和視訊處理的完整多模式支援,請使用 BDA 搭配文字內嵌模型。如需詳細資訊,請參閱建立多模態內容的知識庫

注意

RetrieveAndGenerate 流程期間從 Retrieve 回應傳回的影像會包含在回應產生的提示中。RetrieveAndGenerate 回應不能包含影像,但可以引用包含影像的來源。

若要了解如何查詢知識庫,請選擇您偏好方法的索引標籤,然後遵循下列步驟:

Console
若要測試您的知識庫
  1. AWS 管理主控台使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 https://console.aws.amazon.com/bedrock 的 Amazon Bedrock 主控台。

  2. 在左側導覽窗格中選擇知識庫

  3. 知識庫區段中,執行下列其中一個動作:

    • 選擇您要測試的知識庫旁的選項按鈕,然後選取測試知識庫。測試視窗從右側展開。

    • 選擇您要測試的知識庫。測試視窗從右側展開。

  4. 若要根據從您的知識庫擷取的資訊產生回應,請開啟產生查詢的回應。Amazon Bedrock 將會根據您的資料來源產生回應,並以註腳引用其提供的資訊。

  5. 若要選擇要用於產生回應的模型,請選擇選取模型。然後選取套用

  6. (選用) 選取組態圖示 ( Three horizontal sliders with adjustable circular controls for settings or parameters. ) 以開啟組態。如需組態的詳細資訊,請參閱 設定和自訂查詢和回應產生

  7. 在聊天視窗的文字方塊中輸入查詢,然後選取執行以傳回知識庫的回應。

  8. 選取註腳以查看該回應部分引用來源的摘錄。選擇連結以導覽至包含該檔案的 S3 物件。

  9. 若要查看傳回區塊的詳細資訊,請選取顯示來源詳細資訊

    • 若要查看您為查詢設定的組態,請展開查詢組態

    • 若要檢視來源區塊的詳細資訊,請選擇其旁邊的向右箭頭 ( Play button icon with a triangular shape pointing to the right. ) 來展開它。您可以看到下列資訊:

      • 來源區塊的原始文字。若要複製此文字,請選擇複製圖示 ( Icon representing a crop or resize function, with two overlapping rectangles. )。如果您使用 Amazon S3 存放資料,請選擇外部連結圖示 ( Icon of a square with an arrow pointing outward from its top-right corner. ) 以導覽至包含該檔案的 S3 物件。

      • 如果您使用 Amazon S3 存放資料,則為與來源區塊相關聯的中繼資料。屬性/欄位索引鍵和值是在與來源文件相關聯的 .metadata.json 檔案中定義。如需詳細資訊,請參閱 設定和自訂查詢和回應產生 中的中繼資料和篩選區段。

聊天選項
  • 若要使用不同的模型產生回應,請選取變更模型。如果您變更模型,聊天視窗中的文字將全部清除。

  • 透過清除產生回應,切換到直接擷取來源區塊。如果您變更設定,聊天視窗中的文字將全部清除。

  • 若要清除聊天視窗,請選取掃帚圖示 ( Magnifying glass icon with a checkmark inside, symbolizing search or inspection. )。

  • 要複製聊天視窗中的所有輸出,請選取複製圖示 ( Icon representing a crop or resize function, with two overlapping rectangles. )。

API

若要查詢知識庫,並使用基礎模型來根據資料來源的結果產生回應,請使用 Amazon Bedrock 代理人執行時期端點傳送 RetrieveAndGenerate 請求。

RetrieveAndGenerateStream API 會以串流格式傳回資料,並可讓您存取區塊中產生的回應,而無需等待整個結果。

下列是必要欄位:

注意

API 回應包含引用事件。citation 成員已棄用。建議您改為使用 generatedResponseretrievedReferences 欄位。如需參考資訊,請參閱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 欄位中,包含引用相關的 textspan 欄位提供具有引號之輸出部分的開頭和結尾索引。
retrievedReferences RetrievedReference 物件的陣列,每個物件都包含與文件相關聯的來源區塊的 content、與文件相關聯的 metadata,以及資料來源中文件的 URI 或 URL location如果內容是影像,則會以下列格式傳回 Base64 編碼內容的資料 URI:data:image/jpeg;base64,${base64-encoded string}

回應也會傳回 sessionId 值,您可以在另一個請求中重複使用該值,以維持相同的對話。

如果您在請求中包含 guardrailConfigurationguardrailAction 欄位會通知您內容是否遭到封鎖。

如果擷取的資料包含影像,回應也會傳回下列回應標頭,其中包含回應中傳回的來源區塊中繼資料:

  • x-amz-bedrock-kb-byte-content-source – 包含影像的 Amazon S3 URI。

  • x-amz-bedrock-kb-description – 包含影像的 Base64 編碼字串。

注意

您無法在設定中繼資料篩選條件時篩選這些中繼資料回應標頭。

注意

如果您在產生回應時收到提示超過字元限制的錯誤,您可以使用下列方式縮短提示: