查詢知識庫並產生 AI 回應 - Amazon Bedrock

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

查詢知識庫並產生 AI 回應

您可以查詢知識庫,從專屬資料擷取資訊。當您輸入測試查詢時,系統會擷取來自資料來源的相關文字區塊。您也可以根據擷取的來源區塊產生查詢的回應。

若要了解如何查詢知識庫,請選取與您所選方法對應的索引標籤,然後遵循下列步驟:

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

  2. 從左側導覽窗格中,選取知識庫

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

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

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

  4. 根據您的使用案例,選取或清除產生查詢的回應

    • 若要傳回直接從知識庫擷取的資訊,請關閉產生回應 。Amazon Bedrock 會從與查詢相關的資料來源傳回文字區塊。

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

  5. 如果您開啟產生回應 ,請選擇選取模型以選擇要用於產生回應的模型。然後選取套用

  6. (選用) 選取組態圖示 ( Three horizontal sliders with adjustable circular controls for settings or parameters. ) 以開啟組態 。您可以修改下列組態:

    • 搜尋類型 – 指定查詢知識庫的方式。如需詳細資訊,請參閱搜尋類型

    • 擷取結果的數量上限 – 指定要擷取的結果數量上限。如需詳細資訊,請參閱擷取結果的數量上限

    • 篩選條件 – 指定每個群組中最多 5 個篩選條件群組和最多 5 個篩選條件,以搭配檔案的中繼資料使用。如需詳細資訊,請參閱中繼資料和篩選

    • 知識庫提示範本 – 如果您開啟產生回應 ,您可以將預設提示範本取代為您自己的範本,以自訂傳送至模型以產生回應的提示。如需詳細資訊,請參閱知識庫提示範本

    • 護欄 – 如果您開啟產生回應 ,您可以測試護欄如何使用知識庫的提示和回應。如需詳細資訊,請參閱護欄

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

  8. 您可以透過下列方式檢查回應。

    • 如果您未產生回應,文字區塊會直接依關聯性順序傳回。

    • 如果您產生回應,請選取註腳,以查看回應中該部分引用來源的摘錄。選擇連結以導覽至包含 檔案的 S3 物件。

    • 若要查看每個註腳引用的區塊詳細資訊,請選取顯示來源詳細資訊 。您可以在來源詳細資訊窗格中執行下列動作:

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

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

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

        • 與來源區塊相關聯的中繼資料。如果使用 Amazon S3 來存放資料,則會在與來源文件相關聯的.metadata.json檔案中定義屬性/欄位索引鍵和值。如需詳細資訊,請參閱 Amazon S3 連線組態,包括中繼資料

聊天選項
  1. 如果您要產生回應,您可以選擇變更模型,以使用不同的模型產生回應。如果您變更模型,聊天視窗中的文字將全部清除。

  2. 透過選取或清除產生回應 ,在產生查詢的回應和傳回直接引述之間切換。如果您變更設定,聊天視窗中的文字將全部清除。

  3. 若要清除聊天視窗,請選取新郎圖示 ( )。

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

API

擷取

若要查詢知識庫並只傳回資料來源的相關文字,請傳送 Retrieve 使用 Amazon Bedrock 執行期端點 的代理程式提出請求 (請參閱請求和回應格式和欄位詳細資訊的連結)。

下表簡短描述參數和請求內文 (如需詳細資訊和請求結構,請參閱擷取請求語法

變數 是否為必要? 使用案例
knowledgeBaseId 指定要查詢的知識庫
retrievalQuery 包含指定查詢text的欄位
nextToken 若要傳回下一批次的回應
retrievalConfiguration 包含用於自訂向量搜尋的查詢組態

下表簡短描述回應內文 (如需詳細資訊和回應結構,請參閱擷取回應語法

變數 使用案例
retrievalResults 包含來源區塊、來源的 Amazon S3 位置,以及區塊score的關聯性。
nextToken 在另一個請求中使用 ,以傳回下一批次的結果。

RetrieveAndGenerate

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

下表簡要描述參數和請求內文 (如需詳細資訊和請求結構,請參閱RetrieveAndGenerate 請求語法 ):

變數 是否為必要? 使用案例
input 包含指定查詢text的欄位
retrieveAndGenerate組態 用於指定要查詢的知識庫,以及用於產生回應的模型或推論設定檔,以及選用的查詢組態
sessionId 使用相同的值繼續相同的工作階段並維護資訊
sessionConfiguration 包含用於加密工作階段的KMS金鑰

下表簡短描述回應內文 (如需詳細資訊和回應結構,請參閱擷取回應語法 ):

變數 使用案例
引文 包含 中每個物件中產生的部分回應generatedResponsePart,以及content物件中的來源區塊和location物件中來源的 Amazon S3 位置retrievedReferences
guardrailAction 指定回應中是否使用護欄。
output 包含整個產生的回應。
sessionId 包含工作階段的 ID,您可以在另一個請求中重複使用,以維持相同的對話
注意

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

  • 減少擷取結果的數量上限 (這會縮短 中 $search_results$ 預留位置的填入數量知識庫提示範本)。

  • 使用使用較小區塊的區塊策略重新建立資料來源 (這會縮短 中 $search_results$ 預留位置的填入內容知識庫提示範本)。

  • 縮短提示範本。

  • 縮短使用者查詢 (這會縮短 中 $query$ 預留位置的填入內容知識庫提示範本)。