6
  1. 如何访问原始文本导致 lex 中的意图
  2. 如何提取整个对话,包括用户输入和 Lex 响应

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

4

2 回答 2

6
  1. event您收到的 Lambda 函数中,您可以从中获取原始文本inputTranscript

{'messageVersion':'1.0','invocationSource':'DialogCodeHook','userId':'','sessionAttributes':{},'requestAttributes':{},'bot':{'name':'bot_name' , 'alias': 'bot_alias', 'version': '$LATEST'}, 'outputDialogMode': 'Text', 'currentIntent': {'name': 'invoked_intent_name' , 'slots': {}, 'slotDetails' : {}, 'confirmationStatus': 'None'}, 'inputTranscript': '触发意图的用户消息' }

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

希望能帮助到你。

于 2018-04-04T19:15:08.300 回答
4
  1. 与您的意图相匹配的原始文本可以参考event.inputTranscript完整的事件格式记录在这里
  2. 亚马逊有一个很好的例子来说明如何构建整个对话的记录。查看RideService 示例代码。注意如何appendTranscript用于构建交互的完整记录。
于 2018-04-04T19:31:40.020 回答