【问题标题】:How to access the raw input text and the entire conversation in AWS Lex如何在 AWS Lex 中访问原始输入文本和整个对话
【发布时间】:2018-09-14 08:00:48
【问题描述】:
  1. 如何在 lex 中访问指向意图的原始文本
  2. 如何提取整个对话,包括用户输入和 Lex 响应

我想创建一个 lambda 和 API 网关来捕获输入并在将其发送到 Lex 之前记录它,并在每个意图 lambda 记录响应,但似乎是一种迂回的方式。

【问题讨论】:

    标签: amazon-lex aws-lex


    【解决方案1】:
    1. 在您在 Lambda 函数中收到的 event 中,您可以从 inputTranscript 获取原始文本

    {'messageVersion': '1.0', 'invocationSource': 'DialogCodeHook', 'userId': '', 'sessionAttributes': {}, 'requestAttributes': {}, 'bot': {'name': 'bot_name', 'alias': 'bot_alias', 'version': '$LATEST'}, 'outputDialogMode': '文本', 'currentIntent': {'name': 'invoked_intent_name'、'slots':{}、'slotDetails':{}、 'confirmationStatus': 'None'}, 'inputTranscript': '用户留言 触发了意图'}

    1. 为了存储对话,在 Lambda 函数中,就在您向用户提供响应之前,您可以编写一个函数来存储对话,即用户查询和来自机器人的响应。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:
      1. 与您的意图匹配的原始文本可以引用为event.inputTranscript 完整的事件格式为documented here
      2. 亚马逊有一个很好的例子来说明如何构建整个对话的记录。看看RideService example code。注意appendTranscript 是如何用于构建交互的完整记录的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-05
        • 1970-01-01
        • 1970-01-01
        • 2017-07-14
        相关资源
        最近更新 更多