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

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

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

重要

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

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

注意

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

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

Console
若要測試您的知識庫
  1. AWS Management Console 使用具有 Amazon Bedrock 許可的 IAM 角色登入 ,然後開啟 Amazon Bedrock 主控台,網址為 https://https://console.aws.amazon.com/bedrock/

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

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

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

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

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

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

  6. (選用) 選取組態圖示 ( ) 以開啟組態。如需組態的相關資訊,請參閱 設定和自訂查詢和回應產生

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

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

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

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

    • 若要檢視來源區塊的詳細資訊,請選擇其旁邊的向右箭頭 ( ) 展開。您可以看到下列資訊:

      • 來源區塊的原始文字。若要複製此文字,請選擇複製圖示 ( )。如果您使用 Amazon S3 存放資料,請選擇外部連結圖示 ( ) 以導覽至包含 檔案的 S3 物件。

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

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

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

  • 若要清除聊天視窗,請選取掃帚圖示 ( )。

  • 若要複製聊天視窗中的所有輸出,請選取複製圖示 ( )。

API

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

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 知識庫排名模型上使用重新排名模型。 KnowledgeBaseRetrievalConfiguration rerankingConfiguration 欄位會映射到 VectorSearchRerankingConfiguration 物件,您可以在其中指定要使用的重新排名模型、要包含的任何其他請求欄位、在重新排名期間篩選文件的中繼資料屬性,以及重新排名後要傳回的結果數目。如需詳細資訊,請參閱 VectorSearchRerankingConfiguration

注意

如果您指定的numberOfRerankedResults值大於 KnowledgeBaseVectorSearchConfiguration 中的numberOfResults值,將傳回的結果數目上限是 的值numberOfResults。例外狀況是,如果您使用查詢分解 (如需詳細資訊,請參閱 中的查詢修改一節設定和自訂查詢和回應產生。如果您使用查詢分解,numberOfRerankedResults則 最多可達 5 倍numberOfResults

回應會在 output 欄位中傳回產生的回應,並在 citations 欄位中將引用的來源區塊傳回為陣列。每個 Citation 物件都包含下列欄位。

欄位 基本描述
generatedResponsePart textResponsePart欄位中,包含text與引文相關的 。span 欄位提供具有引號之輸出部分的開頭和結尾索引。
retrievedReferences RetrievedReference 物件陣列,每個物件都包含與文件metadata相關聯的來源區塊content的 ,以及資料來源中文件location的 URI 或 URL。如果內容是映像,則會以下列格式傳回 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 編碼字串。

注意

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