【问题标题】:Setting Lex Time Zone Request Attribute from Connect从 Connect 设置 Lex 时区请求属性
【发布时间】:2019-03-11 22:47:50
【问题描述】:

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

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

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

很遗憾,today 还是昨天。

【问题讨论】:

    标签: amazon-lex amazon-connect


    【解决方案1】:

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

    希望 Connect 团队将来允许我们将 requestAttributes 实际传递给 Lex。

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

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

    【讨论】:

    • 感谢您的回答。也许我错过了一些东西。如何在不使用 lex 的情况下获得语音输入?如果我执行一个 lambda 来调用 Lex,我假设我必须通过 lambda 来回弹回响应以播放提示,但这仍然不能解释我是如何获得语音识别的。
    • 哇,没关系,我认为获取客户输入块可以做到这一点,但唯一的其他选项是用于电话号码按下的 DTMF。所以唯一的语音到文本选项是 Lex,所以现在这意味着解决方法变得有点愚蠢,我们需要另一个 Lex 来做语音到文本,然后将它传递给 Lambda,然后传递给真正的莱克斯。我们真的应该让 Connect 团队添加传递 requestAttributes 的能力。
    • 是的。渴望看到这种能力。我会打扰我的合作伙伴代表,以及我一直在与之交谈的专家 Connect SA。感谢您加入答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    相关资源
    最近更新 更多