我想使用初始化/验证或履行 AWS Lambda 函数来更改 Amazon Lex 机器人的流程。如何使用 Amazon Lex 控制台执行此操作?
简短描述
您可以使用初始化/验证或履行 AWS Lambda 代码挂钩来更改 Amazon Lex 机器人的对话流程。Amazon Lex 控制台提供了 dialogAction 字段,该字段指导 Amazon Lex 在与用户互动时采取的下一步行动。此字段向 Amazon Lex 描述在用户对客户端做出回应后预计会有什么后续行动。
type 字段指示机器人的下一步行动。它还确定 Lambda 函数必须在 dialogAction 值中提供的其他字段。共有五种类型:
- ElicitIntent:告诉 Amazon Lex 预计用户会使用包含意图的话语进行回应。
- ElicitSlot:告诉 Amazon Lex 预计用户会在回应中提供槽位值。
- Close:告诉 Amazon Lex 不要期待用户回应。例如,“您的披萨订单已下达”不需要回复。
- ConfirmIntent:告诉 Amazon Lex 预计用户会给出“是”或“否”答案来确认或拒绝当前意图。
- Delegate:指示 Amazon Lex 根据机器人配置选择下一步行动的方案
解决方法
**注意:**本文中的步骤使用了 V2 版的 Amazon Lex 控制台。如果您当前使用的是 V1,请在导航窗格中选择 Switch to the new Lex v2 console(切换到新的 Lex v2 控制台)。
Lambda 响应语法指定 Amazon Lex 期待来自您的 Lambda 函数的响应是什么格式。
查看有关响应字段的以下信息:
- sessionState — 此字段为必填字段。它描述了与用户对话的当前状态。结构的实际内容取决于对话行动的类型。
- dialogAction — 此字段确定 Amazon Lex 在响应 Lambda 函数时应采取的行动的类型。类型字段始终为必填字段。只有当 dialogAction.type 为 ElicitSlot 时,才需要 slotToElicit 字段。
- intent — Amazon Lex 使用的意图的名称。当 dialogAction.type 为 Delegate 或 ElicitIntent 时,不需要此字段。
- state — 此字段为必填字段。只有当 dialogAction.type 为 Delegate 时,状态才能为 ReadyForFulfillment。
- messages — 如果 dialogAction.type 是 ElicitIntent,则此字段为必填字段。它描述了 Amazon Lex 向客户显示的一条或多条用于展开下一轮对话的消息。如果您不提供消息,则 Amazon Lex 会使用您在创建机器人时定义的相应消息。有关更多信息,请参阅消息数据类型。
- contentType — 它描述了要使用的消息类型。
- content — 如果消息类型为 PlainText、CustomPayload 或 SSML,则此字段包含要发送给用户的消息。
- imageResponseCard — 如果消息类型为 ImageResponseCard,则此字段包含要向用户显示的响应卡的定义。有关更多信息,请参阅 ImageResponseCard 数据类型。
使用 ElicitSlot 类型更改对话流程
要使用 ElicitSlot 类型更改对话流程,请用以下格式传递 Lambda 代码挂钩的响应:
{
"sessionState": {
"dialogAction": {
"slotToElicit": "<slot-name-to-elicit>",
"type": "ElicitSlot"
},
"intent": {
"name": "<intent-name-to-elicit>",
"state": "<state>"
}
}
}
返回响应后,Amazon Lex 会引出一个名为 slot-name-to-elicit 的插槽,该插槽属于 intent-name-to-elicit 意图。
使用 ElicitIntent 类型更改对话流程
要使用 ElicitIntent 类型更改对话流程,请用以下格式传递 Lambda 代码挂钩的响应:
{
"sessionState": {
"dialogAction": {
"type": "ElicitIntent"
}
},
"messages": [{
"contentType": "<content-type>",
"content": "<message>"
}]
}
返回此响应后,将向用户显示消息占位符中指定的消息。下一个用户输入将被视为意图话语,并调用具有最高 nluConfidence 分数的意图。
相关信息
响应格式
amazon-lex-v2-dialogation