intent_request
- это входящий "запрос" или "событие" от Lex к вашей функции Lambda. Он содержит всю необходимую информацию о пользовательском вводе и обработке этого ввода вашим ботом Lex (запуск определенного намерения, заполнение определенных слотов, подтверждение и т. Д.)
Это должна быть документация, которую вы ищете.
Входные данные лямбда-функции и формат ответа :
В этом разделе описывается структура данных о событиях, которые Amazon Lex предоставляет функции Lambda. Используйте эту информацию для анализа ввода в вашем лямбда-коде. Он также объясняет формат ответа, который Amazon Lex ожидает от вашей функции Lambda.
А вот формат события / запроса:
{
"currentIntent": {
"name": "intent-name",
"slots": {
"slot name": "value",
"slot name": "value"
},
"slotDetails": {
"slot name": {
"resolutions" : [
{ "value": "resolved value" },
{ "value": "resolved value" }
],
"originalValue": "original text"
},
"slot name": {
"resolutions" : [
{ "value": "resolved value" },
{ "value": "resolved value" }
],
"originalValue": "original text"
}
},
"confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)"
},
"bot": {
"name": "bot name",
"alias": "bot alias",
"version": "bot version"
},
"userId": "User ID specified in the POST request to Amazon Lex.",
"inputTranscript": "Text used to process the request",
"invocationSource": "FulfillmentCodeHook or DialogCodeHook",
"outputDialogMode": "Text or Voice, based on ContentType request header in runtime API request",
"messageVersion": "1.0",
"sessionAttributes": {
"key": "value",
"key": "value"
},
"requestAttributes": {
"key": "value",
"key": "value"
}
}
Данные slots
находятся внутри currentIntent
, и это внутри всего этого intent_request
объекта. Вот почему вы видите код: intent_request['currentIntent']['slots']
Таким образом, чтобы получить атрибуты сеанса, вы можете найти их здесь: intent_request['sessionAttributes']
Также чрезвычайно полезным является точный пользовательский ввод текста:
intent_request['inputTranscript']