[Модуль] API.AI (apiai)
Модератор: immortal
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
хельп, решил потестить контексты, в обработчик вписал:
say("контекст ".$contexts);
say("контекст2 ".$context($name));
В консоль мжд ответило:
20:06 server: контекст2
20:06 server: контекст Array
Т.е. $contexts вернуло "Array". Даже если он пустой почему выводит слово "Array"?
Добавил один конекст, но результат не поменялся.
say("контекст ".$contexts);
say("контекст2 ".$context($name));
В консоль мжд ответило:
20:06 server: контекст2
20:06 server: контекст Array
Т.е. $contexts вернуло "Array". Даже если он пустой почему выводит слово "Array"?
Добавил один конекст, но результат не поменялся.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Модуль API.AI
Так написано же в описании -Gelezako писал(а):хельп, решил потестить контексты, в обработчик вписал:
say("контекст ".$contexts);
say("контекст2 ".$context($name));
В консоль мжд ответило:
20:06 server: контекст2
20:06 server: контекст Array
Т.е. $contexts вернуло "Array". Даже если он пустой почему выводит слово "Array"?
Добавил один конекст, но результат не поменялся.
пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)$contexts
Массив контекстов из ответа сервиса
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
так сервис возвращает
Кроме того, сам контекст - тоже массив, т.к. в нем могут быть параметры-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Вот пример ответа с контекстами
СпойлерПоказать
Код: Выделить всё
{
"id": "a9f8f45a-dc52-4988-96a4-ce1294899ba5",
"timestamp": "2018-03-26T17:50:06.07Z",
"lang": "ru",
"result": {
"source": "agent",
"resolvedQuery": "привет",
"action": "welcome",
"actionIncomplete": false,
"parameters": [],
"contexts": [
{
"name": "terminal-olegnote",
"parameters": {
"terminal": "olegnote",
"terminal.original": "olegnote"
},
"lifespan": 4
},
{
"name": "known-terminal",
"parameters": {
"terminal": "olegnote",
"terminal.original": "olegnote"
},
"lifespan": 4
},
{
"name": "user-oleg",
"parameters": {
"user.original": "Олег",
"user": "oleg"
},
"lifespan": 4
},
{
"name": "known-user",
"parameters": {
"user.original": "Олег",
"user": "oleg"
},
"lifespan": 5
}
],
"metadata": {
"intentId": "7a40b083-9d6b-48fb-b291-0b3118917622",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "Привет, %username%"
},
"fulfillment": {
"speech": "Здравствуй, Олег",
"messages": [
{
"type": 0,
"speech": "Привет, Олег"
}
]
},
"score": 1
},
"status": {
"code": 200,
"errorType": "success",
"webhookTimedOut": false
},
"sessionId": "olegnote.5ab932d20ceed"
}
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
Что-то я никак не могу понять как мне их использовать.
olehs, можно тебя попросить экспортировать из dialogflow интент и энтити, которые это наглядно демонстрируют?
И скинуть что бы я мог их импортнуть и посмотреть.
olehs, можно тебя попросить экспортировать из dialogflow интент и энтити, которые это наглядно демонстрируют?
И скинуть что бы я мог их импортнуть и посмотреть.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
выполнилfandaymon писал(а): пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)
Код: Выделить всё
say("контекст ".print_r($contexts));
Код: Выделить всё
контекст 1
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Модуль API.AI
Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормальноGelezako писал(а):выполнилfandaymon писал(а): пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)у моего интента нет контекста, но результат выполнения такойКод: Выделить всё
say("контекст ".print_r($contexts));
Почему "1" ?Код: Выделить всё
контекст 1
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
Не понимаю почему вы советуете просто использовать print_r(), тут же нет возможность увидеть аутпут как это обычно происхохит. Вы пробовали писать сценарии для API.AI ? Я могу увидеть что там приехало в переменной только через say(). Ещё можно выводить в дебаг через debmes().fandaymon писал(а): Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормально
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Какой нужен пример: с входящими контекстами или исходящими (в терминологии сервиса)?Gelezako писал(а):Что-то я никак не могу понять как мне их использовать.
olehs, можно тебя попросить экспортировать из dialogflow интент и энтити, которые это наглядно демонстрируют?
И скинуть что бы я мог их импортнуть и посмотреть.
Входящие контексты можно использовать как условия для сработки разных интентов (типа фильтровать интенты).
Исходящие - не так много вариантов применений. Они скорее нужны в самом dialogflow для ведения диалогов. Ну кроме тех, которые Модуль отсылает, а сервис возвращает назад (known-user, known-terminal etc.)
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
я вот так вывожу в логGelezako писал(а):Не понимаю почему вы советуете просто использовать print_r(), тут же нет возможность увидеть аутпут как это обычно происхохит. Вы пробовали писать сценарии для API.AI ? Я могу увидеть что там приехало в переменной только через say(). Ещё можно выводить в дебаг через debmes().fandaymon писал(а): Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормально
Код: Выделить всё
debmes(json_encode($data, true));