Страница 20 из 38
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:11 pm
Gelezako
хельп, решил потестить контексты, в обработчик вписал:
say("контекст ".$contexts);
say("контекст2 ".$context($name));
В консоль мжд ответило:
20:06 server: контекст2
20:06 server: контекст Array
Т.е. $contexts вернуло "Array". Даже если он пустой почему выводит слово "Array"?
Добавил один конекст, но результат не поменялся.
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:24 pm
fandaymon
Gelezako писал(а):хельп, решил потестить контексты, в обработчик вписал:
say("контекст ".$contexts);
say("контекст2 ".$context($name));
В консоль мжд ответило:
20:06 server: контекст2
20:06 server: контекст Array
Т.е. $contexts вернуло "Array". Даже если он пустой почему выводит слово "Array"?
Добавил один конекст, но результат не поменялся.
Так написано же в описании -
$contexts
Массив контекстов из ответа сервиса
пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:44 pm
olehs
так сервис возвращает

- 34.png (23.56 КБ) 3712 просмотров
Кроме того, сам контекст - тоже массив, т.к. в нем могут быть параметры
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:52 pm
olehs
Вот пример ответа с контекстами
Код: Выделить всё
{
"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"
}
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:54 pm
Gelezako
Что-то я никак не могу понять как мне их использовать.
olehs, можно тебя попросить экспортировать из dialogflow интент и энтити, которые это наглядно демонстрируют?
И скинуть что бы я мог их импортнуть и посмотреть.
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 8:58 pm
Gelezako
fandaymon писал(а):
пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)
выполнил
у моего интента нет контекста, но результат выполнения такой
Почему "1" ?
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 9:10 pm
fandaymon
Gelezako писал(а):fandaymon писал(а):
пустой массив всё равно остаётся массивом. Чтобы посмотреть что там, в этот массиве, дай команду print_r($contexts)
выполнил
у моего интента нет контекста, но результат выполнения такой
Почему "1" ?
Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормально
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 9:38 pm
Gelezako
fandaymon писал(а):
Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормально
Не понимаю почему вы советуете просто использовать print_r(), тут же нет возможность увидеть аутпут как это обычно происхохит. Вы пробовали писать сценарии для API.AI ? Я могу увидеть что там приехало в переменной только через say(). Ещё можно выводить в дебаг через debmes().
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 9:40 pm
olehs
Gelezako писал(а):Что-то я никак не могу понять как мне их использовать.
olehs, можно тебя попросить экспортировать из dialogflow интент и энтити, которые это наглядно демонстрируют?
И скинуть что бы я мог их импортнуть и посмотреть.
Какой нужен пример: с входящими контекстами или исходящими (в терминологии сервиса)?
Входящие контексты можно использовать как условия для сработки разных интентов (типа фильтровать интенты).
Исходящие - не так много вариантов применений. Они скорее нужны в самом dialogflow для ведения диалогов. Ну кроме тех, которые Модуль отсылает, а сервис возвращает назад (known-user, known-terminal etc.)
Re: Модуль API.AI
Добавлено: Пн мар 26, 2018 9:41 pm
olehs
Gelezako писал(а):fandaymon писал(а):
Не в say вывести, а просто на экран. 1 это означает скорее всего что print_r отработал нормально
Не понимаю почему вы советуете просто использовать print_r(), тут же нет возможность увидеть аутпут как это обычно происхохит. Вы пробовали писать сценарии для API.AI ? Я могу увидеть что там приехало в переменной только через say(). Ещё можно выводить в дебаг через debmes().
я вот так вывожу в лог