Aws lambda 使用Amazon Lex';s inputTranscript允许一个大开口插槽

Aws lambda 使用Amazon Lex';s inputTranscript允许一个大开口插槽,aws-lambda,amazon-lex,Aws Lambda,Amazon Lex,任何人都可以提供关于如何使用inputTranscript lex事件将该输入作为其值反馈到插槽以允许打开插槽类型的见解吗?我可以捕获用户输入没有问题,只是将其作为插槽值发送回我遇到问题的位置。从研究中我可以看到,这是实现在插槽中接受任何值的能力的最佳方法。我似乎无法让它真正发挥作用。我已经阅读了一些帖子,其中说明了如何创建插槽,然后使用elicit插槽函数,但是没有任何内容是非常详细的。 谢谢假设您有一个插槽任意字符串。 您需要做的第一件事是取消选中此插槽的必需复选框。 现在在选项中,选择初始

任何人都可以提供关于如何使用inputTranscript lex事件将该输入作为其值反馈到插槽以允许打开插槽类型的见解吗?我可以捕获用户输入没有问题,只是将其作为插槽值发送回我遇到问题的位置。从研究中我可以看到,这是实现在插槽中接受任何值的能力的最佳方法。我似乎无法让它真正发挥作用。我已经阅读了一些帖子,其中说明了如何创建插槽,然后使用elicit插槽函数,但是没有任何内容是非常详细的。
谢谢

假设您有一个插槽
任意字符串

您需要做的第一件事是取消选中此插槽的必需复选框。 现在在选项中,选择
初始化和验证代码挂钩
并选择Lambda函数。 在
对话框codehook
中,我们可以获取用户输入,并使用以下代码将其分配到插槽
任意字符串

slots = intent_request['currentIntent']['slots']
slots['anyString'] = intent_request['inputTranscript']
您可以阅读有关
对话框操作的更多信息


希望有帮助。

正如@sid所说,我们只是通过
elicitSlot
函数将更新后的
slots
数组传回Lex。@JayA.Little将
slots
数组传回Lex做什么<代码>插槽
用于重新提示插槽的值,对吗?谢谢各位@有一个小问题,当使用elicit slot函数时,我一定是把信息传递错了。您正在获取相同的插槽吗?
def open_插槽(intent_请求):插槽=intent_请求['currentIntent']['slots']slots['phrase']=intent_请求['inputTranscript']slot_to_elicit=?返回elicit_插槽(intent_请求['sessionAttributes'],intent_请求['currentIntent']['name'],插槽,插槽到elicit,{'contentType':'PlainText','content':'Test Test.})
因此,要澄清的是,elicitSlot不仅用于**重新**引出,还用于任何插槽的首次引出。