1

我正在创建一个使用 AMAZON.DATE 插槽的 lex 机器人。文档说我可以使用x-amz-lex:time-zone,我正在尝试从联系流中设置它。

Get Customer Input块允许您指定会话属性。我尝试了以下键无济于事:x-amz-lex:time-zone$.Lex.SessionAttributes.x-amz-lex:time-zone.

我觉得这一定是可能的,但我似乎找不到通过会话属性指定此请求属性的正确方法。

可惜,today还是昨天。

4

1 回答 1

0

这是因为时区不是从 设置的,sessionAttributes但实际上必须在其中传递,requestAttributes这就是 Lex 将查找并相应地设置时区的地方。

希望 Connect 团队能够让我们requestAttributes在未来真正传递给 Lex。

如果您现在必须让它工作,那么解决方法就变得非常愚蠢。您可以创建另一个 Lex 机器人,仅用于执行语音转文本并捕获用户所说的任何内容,然后将用户输入传递给 Lambda 函数,该函数使用PostText API发送到您的真实 Lex 机器人。您可以requestAttributes在 PostText API 中设置并以这种方式更新时区。

在 Connect 和 Lex 之间使用 Lambda 函数还有其他一些好处,例如捕获 Lex 错误或记录 Lex 响应或在 Lex 处理输入之前和之后记录更多分析数据。因此,额外的工作实际上可能是值得的。

于 2019-03-12T07:22:30.513 回答