Amazon web services 如何使AWS Lex bot在意图实现后提示后续操作(使用Lambda)?
即使在意向书的“响应”部分中设置了后续提示,bot也不会显示后续提示。如果选择“ReturnParametersToClient”作为履行选项,则此选项有效。当履行更改为AWS Lambda功能时,不再提出后续问题 例如: 如果我的用户输入Amazon web services 如何使AWS Lex bot在意图实现后提示后续操作(使用Lambda)?,amazon-web-services,aws-lex,Amazon Web Services,Aws Lex,即使在意向书的“响应”部分中设置了后续提示,bot也不会显示后续提示。如果选择“ReturnParametersToClient”作为履行选项,则此选项有效。当履行更改为AWS Lambda功能时,不再提出后续问题 例如: 如果我的用户输入 3x10 我有一个Lambda函数来执行此计算,并以JSON格式返回结果。它就这样表现出来了 30 然后,它应该提出后续问题 Would you like me to do another calculation? 用户可以对其作出响应 No 据我所
3x10
我有一个Lambda函数来执行此计算,并以JSON格式返回结果。它就这样表现出来了
30
然后,它应该提出后续问题
Would you like me to do another calculation?
用户可以对其作出响应
No
据我所知,Intent editor页面中的“响应”部分正是我可以配置问题“您想让我再做一次计算吗?”和另一条消息的地方(如果用户的回答是否定的,则在“等待用户答复”部分)。是的,一切都按预期进行 你可以做一个或另一个。
(1)当达到目的时,在Lex控制台中设置响应。
或者(2)当意图实现时,在Lambda中构建您自己的响应 使用Lambda功能可以让您对bot进行更多的控制,并让您能够以更动态和定制的消息进行响应 因此,如果您要切换到使用Lambda,您必须在实现意图时自己创建该响应。您可能希望对该类型的是/否问题使用
confirminant
签出(确认页面的一半)
ConfirmIntent-通知Amazon Lex用户希望给出肯定或否定的回答,以确认或否定当前意图
以确认者的身份发送该响应将是这样的:
"dialogAction": {
"type": "ConfirmIntent",
"message": {
"contentType": "PlainText",
"content": "Would you like me to do another calculation?"
},
"intentName": "intent-name",
"slots": {
"slot-name": "value",
"slot-name": "value",
"slot-name": "value"
},
}
然后,您的Lambda需要处理该问题的答案。用户的答案将返回到相同的目的,
确认状态将是:
None
-未使用确认词
已确认
-用户对确认问题说“是”
被拒绝
-用户对确认问题说“不”
查看页面顶部附近的相同链接,了解Lex to Lambda输入事件的格式
只是一个提示:
您可以通过close
消息来实现此目的,并询问用户“我还能为您做些什么?”
然后,用户可以立即询问另一个计算,而不必在每个计算问题之前说“是”或“否”。我向AWS支持部门确认,Lex不支持在Lambda完成后在单独的聊天泡泡中提交后续消息。因此,在Lex Test Bot部分无法做到这一点。但可以使用此功能由UI合并。例如,aws发布的示例支持多个消息气泡。