本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过在响应中发送所得信息,将控制权交还给代理开发者 InvokeAgent
您可以选择通过在响应中发送信息将控制权交还给代理开发者,而不是将您的代理从用户那里获得的信息发送到 Lambda 函数以供执行。InvokeAgent在创建或更新操作组时,您可以配置将控制权交还给代理开发者。通过 API,您可以将CreateAgentActionGroup或UpdateAgentActionGroup请求中的customControl
值指定RETURN_CONTROL
为actionGroupExecutor
对象中的值。有关更多信息,请参阅 在 Amazon Bedrock 中向你的代理添加一个行动组。
如果您为操作组配置控制权归还,并且代理决定应在该操作组中调用操作,则从用户那里获得的 API 或函数详细信息将与唯一invocationId
的invocationInputs
字段一起返回到InvokeAgent响应的字段中。然后,您可执行以下操作:
-
将您的应用程序设置为调用您定义的 API 或函数,前提是中返回的信息
invocationInputs
。 -
在另一个InvokeAgent请求中,在
sessionState
字段中发送应用程序调用的结果,以便为代理提供上下文。您必须使用与InvokeAgent响应actionGroup
中返回的相同invocationId
。这些信息可用作进一步编排的上下文,发送到后期处理以供代理格式化响应,或者直接用于代理对用户的响应。注意
如果您在
sessionState
字段returnControlInvocationResults
中包含,则该inputText
字段将被忽略。
要了解如何在创建操作组时配置将控制权交还给代理开发者,请参阅在 Amazon Bedrock 中向你的代理添加一个行动组。
将控制权交还给代理开发者的示例
例如,您可能有以下操作组:
-
一个
PlanTrip
操作组,其suggestActivities
操作可帮助您的用户在旅途中查找要进行的活动。fdescription
or this action 说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
字段中发送这些结果,使用与之前的响应function
相同的invocationId
actionGroup
、和。选择一个选项卡,查看使用该方法定义的操作组的示例: -
代理预测它应该采取
suggestActivities
行动。它使用当天下雨的背景,并在响应中建议用户进行室内活动,而不是室外活动。