在python Lambda函数中访问Lex的用户输入/话语

时间:2017-06-13 19:19:38

标签: python lambda aws-lambda amazon-lex

我正在寻找一种方法来访问python Lambda函数代码中用户在Lex上发出的实际问题(或话语)。当我在event中打印lambda_handler(event, context)参数时,我看到以下内容被打印出来:

input_request={'messageVersion': '1.0', 'invocationSource': 'FulfillmentCodeHook', 'userId': 'user1', 'sessionAttributes': None, 'bot': {'name': 'bot_name', 'alias': None, 'version': '$LATEST'}, 'outputDialogMode': 'Text', 'currentIntent': {'name': 'bo1', 'slots': {'Time': '10:00','Date': '2017-06-20'}, 'confirmationStatus': 'Confirmed'}, 'inputTranscript': 'yes'}

我没有看到任何选项来访问用户提出的实际问题,甚至是与该特定问题相匹配的话语。如果我错过了,有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

我可以确认ddperdue回答,inputTranscript保持话语

所以你可以从

中提取它
  

事件[' inputTranscript']

答案 1 :(得分:2)

可以在std::vector<double> max_vals(9,-std::numeric_limits<double>::infinity()); for(int i = 0; i < 1234487; i++){ for(int j = 0; j < 9; j++){ max_vals.at(j) = std::max(max_vals.at(j),cosmic_ray_events.at(i).at(j)); } } 键中找到用户的话语。在您发布的示例中,它是'是'。

答案 2 :(得分:0)

您需要创建插槽类型和意图。只有这样才能currentIntent填充用户输入/话语。

此时事件输入格式没有话语。

您可以获得list of utterances to your bot并处理插槽类型的最新话语。

参考: