本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
多個知識庫設定和內容分割
使用協同運作 AI 代理器時,您可以設定擷取工具,讓您的 AI 代理器搜尋知識庫並傳回相關資訊以回答使用者問題。
每個擷取工具都會查詢單一知識庫。透過設定多個擷取工具,您可以讓 AI 代理器同時查詢多個知識庫,或根據使用者的問題智慧地選取要搜尋的知識庫。明確定義的工具描述和提示指示可讓模型自動將查詢路由到最相關的知識庫。
您可以在兩個層級控制 AI 代理器查詢內容的方式:
-
知識庫層級:設定多個擷取工具來查詢不同的知識庫。當您的內容組織成多個知識庫時,請使用此方法。
-
內容層級:使用內容分割僅查詢單一知識庫中的特定內容。
如何將協同運作代理程式設定為查詢多個知識庫
您可以設定多個擷取工具來查詢不同的知識庫。根據您的使用案例,您可以:
同時查詢所有知識庫 (平行調用)
根據請求的內容查詢特定知識庫 (條件式調用)
設定多個擷取工具
這兩種組態都需要相同的初始設定。請先完成這些步驟,然後遵循特定使用案例的指示。
-
從 AWS 主控台,您可以選擇新增整合並遵循引導式體驗來新增其他知識庫。在此範例中,我們新增 demo-byobkb 作為額外的知識庫。
-
從 AI 代理程式設計工具,建立新的協調 AI 代理程式,並編輯預設擷取工具
-
將現有的知識庫與擷取工具建立關聯。AI 代理器將使用此知識庫作為預設值
-
新增其他工具,選擇 Amazon Connect 做為命名空間,然後選擇擷取 AI 工具的類型
-
現在選取要在預設知識庫之外建立關聯的其他知識庫
-
從「擷取」開始命名每個額外的擷取工具 (例如Retrieve2, Retrieve3、RetrieveProducts、RetrievePolicies)。
-
接著,設定工具指示和範例。組態會根據您的使用案例而有所不同。下列各節涵蓋兩個案例:同時查詢所有知識庫,以及選擇性地查詢知識庫。
同時查詢所有知識庫
當您希望代理程式為每個查詢同時搜尋所有知識庫時,請使用此組態。
設定工具指示
-
透過複製預設擷取工具中的指示和範例,填入工具指示。
-
按一下新增按鈕以建立新的擷取工具。您的工具清單現在應該有新的擷取工具。
您現在有第二個擷取工具。若要同時使用所有擷取工具,您必須使用指示來修改提示,以同時叫用它們。如果沒有此變更,只會使用一個擷取工具。
更新您的平行調用提示
-
修改提示,指示其使用多個擷取工具。預設協同運作提示無法直接編輯,因此您需要使用變更建立副本。
透過複製符合您使用案例的預設協同運作提示來建立新的提示。在此範例中,我們從 AgentAssistanceOrchestration 提示中複製 。
-
按一下建立按鈕,系統會將您導向至您可以修改提示的頁面。
-
根據您的協同運作類型修改提示:
-
對於客服人員協助協同運作提示:
在協同運作提示中尋找編號規則區段。本節一開始的行類似:
Your goal is to resolve the customer's issue while also being responsive. While responding, follow these important rules:在本節中將以下內容新增為最後一個編號的規則:
CRITICAL - Multiple Retrieve Tools: When multiple Retrieve-type tools are available ([Retrieve], [Retrieve2]), you MUST invoke ALL of them simultaneously for any search request. Never use only one Retrieve tool when multiple are available-always select and invoke them together to ensure comprehensive results from all knowledge sources. -
對於自助式協同運作提示:
找到
core_behavior區段。在該區段中新增下列規則:CRITICAL - Multiple Retrieve Tools: When multiple Retrieve-type tools are available ([Retrieve], [Retrieve2]), you MUST invoke ALL of them simultaneously for any search request. Never use only one Retrieve tool when multiple are available—always invoke them together to ensure comprehensive results from all knowledge sources.
注意
將括號預留位置取代為您的實際工具名稱。
-
選擇性地查詢知識庫
當您希望客服人員根據問題類型或內容選取適當的知識庫時,請使用此組態。
為每個知識庫設定工具指示
與平行調用不同,每個擷取工具都需要描述何時應該使用的不同指示。這包括預設的擷取工具 — 您必須更新其指示,以將其與其他擷取工具區分開來。使用描述性名稱來反映每個知識庫的內容 (例如RetrieveProducts、RetrievePolicies),以協助模型選取正確的工具。
-
針對每個擷取工具,包括預設值,撰寫說明其相關知識庫內容及使用時機的特定指示。
-
按一下新增按鈕以建立新的擷取工具。您的工具清單現在應該有新的擷取工具。
您現在有第二個擷取工具。若要讓客服人員根據內容選取適當的工具,您必須修改提示,並指示何時使用每個工具。
更新您的條件式調用提示
-
修改提示,指示其根據內容選擇適當的擷取工具。預設協同運作提示無法直接編輯,因此您需要使用變更建立副本。
透過複製符合您使用案例的預設協同運作提示來建立新的提示。在此範例中,我們從 AgentAssistanceOrchestration 提示中複製 。
-
按一下建立按鈕,系統會將您導向至您可以修改提示的頁面。
-
根據您的協同運作類型修改提示:
-
對於客服人員協助協同運作提示:
在協同運作提示中尋找編號規則區段。本節一開始的行類似:
Your goal is to resolve the customer's issue while also being responsive. While responding, follow these important rules:在本節中將以下內容新增為最後一個編號的規則:
CRITICAL - Retrieve Tool Selection: You have multiple Retrieve tools. Each queries a different knowledge base. You MUST select only ONE tool per question based on the topic. - [Retrieve] contains [description]. - [Retrieve2] contains [description]. Evaluate the question, match it to the most relevant tool, and invoke only that tool. -
對於自助式協同運作提示:
找到
core_behavior區段。在該區段中新增下列規則:CRITICAL - Retrieve Tool Selection: You have multiple Retrieve tools. Each queries a different knowledge base. You MUST select only ONE tool per question based on the topic. - [Retrieve] contains [description]. - [Retrieve2] contains [description]. Evaluate the question, match it to the most relevant tool, and invoke only that tool.
注意
將括號預留位置取代為您的實際工具名稱、描述和範例問題。
準確工具選擇的最佳實務
模型選取正確擷取工具的能力取決於幾個因素:工具名稱、工具描述、工具範例和提示指示。請遵守下列準則:
-
使用描述性工具名稱:RetrieveProducts 或 RetrievePolicies 等名稱可協助模型了解每個工具的用途。
-
請具體說明:避免模糊描述,例如「一般資訊」。列出每個知識庫處理的特定主題、文件類型或問題類別。
-
新增範例問題:在工具說明中包含範例問題,以協助模型了解預期的使用案例。
-
避免重疊:確保工具名稱、描述和範例互斥。重疊的內容可能會導致模型選擇不一致。
-
將術語與使用者語言配對:使用使用者常用的相同字詞和片語,而不只是內部術語或技術術語。
除了此處提供的範例之外,您的使用案例可能需要額外的提示修改。
-
內容分割
內容分割可讓您標記知識庫內容,並根據這些標籤篩選擷取結果。當您的 LLM 工具查詢知識庫時,它可以指定僅擷取符合這些標籤內容的標籤,以啟用特定內容子集的目標回應。
注意
內容分割不適用於 Web 爬蟲程式資料來源類型。
依資料來源類型標記內容
標記內容的程序會根據您的資料來源類型而有所不同。
S3、Salesforce、SharePoint、Zendesk 和 ServiceNow
建立知識庫之後,您可以將標籤套用至個別內容項目以進行分割。標籤會在內容層級套用,這表示每個內容都必須個別標記。
若要標記內容,請使用 Amazon Connect TagResource API。此 API 可讓您以程式設計方式將標籤新增至知識庫內容,然後可用於擷取期間的內容分割篩選。
如需標記內容的範例,請參閱內容分割研討會
在擷取工具中使用標籤
標記內容後,您可以透過在擷取工具組態中指定標籤篩選條件來篩選擷取結果。
-
在擷取工具組態中,導覽至覆寫輸入值區段。
-
新增鍵/值對以定義標籤篩選條件。您需要兩個覆寫,才能依單一標籤進行篩選。在此範例中,我們使用
equals做為篩選運算子:-
將 屬性金鑰設定為
retrievalConfiguration.filter.equals.key,並將 值作為標籤名稱 (例如,number)。
-
將 屬性金鑰設定為
retrievalConfiguration.filter.equals.value,並將 值作為標籤值 (例如,one)。
-
您可以使用開頭為 的任何篩選條件組態retrievalConfiguration.filter來定義標籤篩選條件。
Bedrock 知識庫
對於 Bedrock 知識庫資料來源,內容不會儲存為 Amazon Connect 資源,因此無法透過 TagResource API 進行標記。相反地,您必須直接在 Bedrock 知識庫資料來源上定義中繼資料欄位。
如需 S3 資料來源,請參閱《Amazon Bedrock S3 資料來源連接器使用者指南》中的文件中繼資料欄位一節。
如需其他資料來源類型,請參閱 Amazon Bedrock 文件中的擷取期間的自訂轉換。
在擷取工具中使用中繼資料欄位
Bedrock 知識庫會自動在所有檔案上提供內建中繼資料欄位。您可以使用這些欄位,使用上述範例中顯示的相同組態方法,在擷取工具中篩選擷取結果。
若要僅從 Bedrock 知識庫中的特定資料來源擷取結果,請設定篩選條件覆寫,如下所示:
-
retrievalConfiguration.filter.equals.key=x-amz-bedrock-kb-data-source-id -
retrievalConfiguration.filter.equals.value=[your-data-source-id]
這會篩選擷取工具,以僅從該特定資料來源擷取結果。您也可以使用相同的覆寫組態,依您在 Bedrock 資料來源上定義的自訂中繼資料欄位進行篩選。