Aws lambda 如何将Amazon Connect限制为多个意图中的一组特定的Lex意图?
我是AWS新手,在Amazon Connect和Lex方面遇到了问题。 我的Lex机器人有11个意图。在“获取客户输入”中的Amazon Connect联系人流中,我只包含了11个意图中的5个。 我的问题是,我想将Lex限制在那些特定的意图上,即当用户说话时,“获取客户输入”应该只触发这5个意图中的一个,而不是触发bot中所有11个意图中的一个 我的意图是获取客户输入:Aws lambda 如何将Amazon Connect限制为多个意图中的一组特定的Lex意图?,aws-lambda,amazon-lex,amazon-connect,Aws Lambda,Amazon Lex,Amazon Connect,我是AWS新手,在Amazon Connect和Lex方面遇到了问题。 我的Lex机器人有11个意图。在“获取客户输入”中的Amazon Connect联系人流中,我只包含了11个意图中的5个。 我的问题是,我想将Lex限制在那些特定的意图上,即当用户说话时,“获取客户输入”应该只触发这5个意图中的一个,而不是触发bot中所有11个意图中的一个 我的意图是获取客户输入: newRes:当客户说新预订时 removePreviousRes:当客户说删除我的预订或取消我的预订时 UpdatePrev
我在Lex bot中也有一个新用户意图,可以通过说新用户或新帐户或类似的话来触发。现在,如果用户在Get Customer输入块中表示New user或New Account,则会触发newUser意图,即使我没有将其作为参数添加到Get Customer输入块中。有没有办法把莱克斯限制在这5个目的上?因为我以后在联系人流中需要newUser意图,我不希望用户在联系人流开始时触发它。有什么想法吗?我可以使用Lambda函数限制它吗?您可以使用
sessionAttributes
和Lambda函数自己控制它
您无法阻止Lex尝试将用户输入与您的某些意图相匹配,但是,您可以基于您可以创建的变量来检查这些意图是否在您不希望它们被触发时被触发,以跟踪用户在多个意图的对话中的位置
要做到这一点,请利用Lex的sessionAttributes
。这些也可以是。您还可以在Connect中以“外部”形式接收Lex的sessionAttributes:$.Lex.sessionAttributes.attributeKey
例如:设置一个名为
conva_point
的属性,并将连接会话开始时的值设置为“initiate”或“start”。然后考虑你的对话流和你需要允许或不允许某些意图的不同检查点。
然后在Lex的Lambda中,在处理每个意图之前,检查此
conva_点
sessionAttribute并与触发的意图进行比较。如果conva点对于新用户意图来说太早,则使用elicittintent
响应类型构建适当的响应,并要求用户尝试不同的意图。当用户实现其他意图时,您可以更新conva_点
以反映这一点,并允许新的用户意图仅在发生后才能实现。您可以使用sessionAttributes
和Lambda函数自己控制这一点
您无法阻止Lex尝试将用户输入与您的某些意图相匹配,但是,您可以基于您可以创建的变量来检查这些意图是否在您不希望它们被触发时被触发,以跟踪用户在多个意图的对话中的位置
要做到这一点,请利用Lex的sessionAttributes
。这些也可以是。您还可以在Connect中以“外部”形式接收Lex的sessionAttributes:$.Lex.sessionAttributes.attributeKey
例如:设置一个名为
conva_point
的属性,并将连接会话开始时的值设置为“initiate”或“start”。然后考虑你的对话流和你需要允许或不允许某些意图的不同检查点。
然后在Lex的Lambda中,在处理每个意图之前,检查此conva_点
sessionAttribute并与触发的意图进行比较。如果conva点对于新用户意图来说太早,则使用elicittintent
响应类型构建适当的响应,并要求用户尝试不同的意图。当用户实现其他意图时,您可以更新conva_点
,以反映这一点,并允许新的用户意图仅在发生后才能实现