本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
通過在響應中發送引起的信息將控制權返回給代理開發人員 InvokeAgent
您可以選擇在回應中傳送資訊,將代理程式從使用者取得的資訊傳送至 Lambda 函數以進行履行,而不是將控制權傳送給代理程式開發人員。InvokeAgent您可以在建立或更新動作群組時,將控制權傳回給代理程式開發人員。透過 API,您可以指定RETURN_CONTROL
為CreateAgentActionGroup或UpdateAgentActionGroup要求中actionGroupExecutor
物件中的customControl
值。如需詳細資訊,請參閱 在 Amazon 基岩中將動作群組新增至您的代理程式。
如果您設定動作群組的控制權傳回,並且代理程式確定應該呼叫此動作群組中的動作,則回應中的invocationInputs
欄位會傳回使用者所取得的 API 或函數詳細資訊,以及唯一的。InvokeAgentinvocationId
然後,您可以執行下列作業:
-
設定您的應用程式以叫用您定義的 API 或函數 (提供在中傳回的資訊)
invocationInputs
。 -
在
sessionState
欄位中的另一個InvokeAgent要求中傳送應用程式呼叫的結果,以提供內容給代理程式。您必須使用相同actionGroup
的invocationId
和在InvokeAgent響應中返回的。此資訊可用作進一步協調的內容、傳送至後處理以供代理程式格式化回應,或直接用於代理程式對使用者的回應。注意
如果您
returnControlInvocationResults
在sessionState
欄位中包含,則會忽略此inputText
欄位。
若要瞭解如何在建立動作群組時設定對代理程式開發人員的控制權傳回,請參閱在 Amazon 基岩中將動作群組新增至您的代理程式。
將控制權傳回代理程式開發人員的範例
例如,您可能有下列動作群組:
-
具有動
PlanTrip
作的動suggestActivities
作群組,可協助您的使用者尋找行程中要執行的活動。對description
於這個動作說This action suggests activities based on retrieved weather information
。 -
具有
WeatherAPIs
動作的動getWeather
作群組,可協助您的使用者取得特定位置的天氣。動作的必要參數為location
和date
。動作群組設定為將控制權傳回給代理程式開發人員。
以下是可能發生的假設順序:
-
使用者會以下列查詢提示您的代理程式:
What should I do today?
此查詢會在InvokeAgent要求inputText
欄位中傳送。 -
您的代理認識到該
suggestActivities
操作應該被調用,但給出了描述,預測它應該首先調用該getWeather
操作作為上下文以幫助完成suggestActivities
操作。 -
代理程式知道目前
date
是2024-09-15
,但需要使用者作為必要的參數來取得天氣。location
它會重新提示使用者以「您所在的位置?」的問題 -
使用者回應
Seattle
。 -
代理程式會傳回下列回InvokeAgent應
getWeather
中的參數 (選取索引標籤可查看使用該方法定義之動作群組的範例): -
您的應用程序配置為使用這些參數來獲取日期
seattle
的天氣2024-09-15
。天氣被確定為下雨。 -
您可以在另一個InvokeAgent請求的
sessionState
字段中發送這些結果invocationId
,使用相同的actionGroup
function
,和之前的響應。選取標籤以查看使用該方法定義之動作群組的範例: -
代理預測,它應該調用的動
suggestActivities
作。它使用那天下雨的背景下,並建議室內,而不是戶外活動的響應用戶。