буду признателен за оба примера и пхп код, который потом со всем этим добром работаетolehs писал(а): Какой нужен пример: с входящими контекстами или исходящими (в терминологии сервиса)?
Входящие контексты можно использовать как условия для сработки разных интентов (типа фильтровать интенты).
Исходящие - не так много вариантов применений. Они скорее нужны в самом dialogflow для ведения диалогов. Ну кроме тех, которые Модуль отсылает, а сервис возвращает назад (known-user, known-terminal etc.)
[Модуль] API.AI (apiai)
Модератор: immortal
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
фанат Мажордомо
тематический блог 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
Ну давайте начнем с простого )
- Вложения
-
- Hello, _USERNAME_.json.txt
- (1.47 КБ) 523 скачивания
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
Импортировал его как интент, всё норм. Прямо в диалогфло пишу "Здарова" там где поле "Try it now". И оно даже название интента не распознаёт.
Вот что отвечает:
Вот что отвечает:
СпойлерПоказать
{
"id": "67aca5d4-6fa2-43e0-9647-ade4c864c90d",
"timestamp": "2018-03-26T19:41:09.557Z",
"lang": "ru",
"result": {
"source": "agent",
"resolvedQuery": "Здарова",
"contexts": [],
"metadata": {},
"fulfillment": {
"speech": ""
},
"score": 0
},
"status": {
"code": 200,
"errorType": "success",
"webhookTimedOut": false
},
"sessionId": "d65a5bca-52f6-46f0-9e81-8d32d824654e"
}
"id": "67aca5d4-6fa2-43e0-9647-ade4c864c90d",
"timestamp": "2018-03-26T19:41:09.557Z",
"lang": "ru",
"result": {
"source": "agent",
"resolvedQuery": "Здарова",
"contexts": [],
"metadata": {},
"fulfillment": {
"speech": ""
},
"score": 0
},
"status": {
"code": 200,
"errorType": "success",
"webhookTimedOut": false
},
"sessionId": "d65a5bca-52f6-46f0-9e81-8d32d824654e"
}
фанат Мажордомо
тематический блог 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
Все правильно. У него входящий контекст known-user
Соответственно из Try it now он и не должен работать.
А вот если скажете Привет через терминал МЖД - должно сработать
Соответственно из Try it now он и не должен работать.
А вот если скажете Привет через терминал МЖД - должно сработать
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
ага, понял, работает, а можно теперь пример с исходящим контекстом?
Ещё вопрос, по-поводу входящего контекста. У интента имя "Hello, %username%" оно точно должно быть таким? Вроде само имя не должно влиять на определение имени пользователя.
Ещё вопрос, по-поводу входящего контекста. У интента имя "Hello, %username%" оно точно должно быть таким? Вроде само имя не должно влиять на определение имени пользователя.
Последний раз редактировалось Gelezako Вт мар 27, 2018 12:08 pm, всего редактировалось 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
-
- Сообщения: 28
- Зарегистрирован: Пн окт 02, 2017 11:42 am
- Благодарил (а): 5 раз
- Поблагодарили: 2 раза
Re: Модуль API.AI
подскажите пожалуйста почему не срабатывает ask
терминал определяет
проверял с помощью say($source);
Код: Выделить всё
{
"id": "252fc6dc-f5fe-469f-8277-2e518a68935a",
"timestamp": "2018-03-26T22:55:43.034Z",
"lang": "ru",
"result": {
"source": "agent",
"resolvedQuery": "включи",
"action": "",
"actionIncomplete": true,
"parameters": {
"actions": "1",
"devices": "",
"room": ""
},
"contexts": [
{
"name": "off\/on_dialog_params_devices",
"parameters": {
"actions.original": "включи",
"devices": "",
"room.original": "",
"actions": "1",
"room": "",
"devices.original": ""
},
"lifespan": 1
},
{
"name": "off\/on_dialog_context",
"parameters": {
"actions.original": "включи",
"devices": "",
"room.original": "",
"actions": "1",
"room": "",
"devices.original": ""
},
"lifespan": 2
},
{
"name": "7c6e6867-3f86-4e90-ade9-3a19c48b421f_id_dialog_context",
"parameters": {
"actions.original": "включи",
"devices": "",
"room.original": "",
"actions": "1",
"room": "",
"devices.original": ""
},
"lifespan": 2
}
],
"metadata": {
"intentId": "7c6e6867-3f86-4e90-ade9-3a19c48b421f",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "off\/on"
},
"fulfillment": {
"speech": "что?",
"messages": [
{
"type": 0,
"speech": "что?"
}
]
},
"score": 1
},
"status": {
"code": 200,
"errorType": "success",
"webhookTimedOut": false
},
"sessionId": ".5ab97a6387f07"
}
проверял с помощью say($source);
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Модуль не определил, с какого терминала запрос. Что-то не так настроено в Терминалах
-
- Сообщения: 28
- Зарегистрирован: Пн окт 02, 2017 11:42 am
- Благодарил (а): 5 раз
- Поблагодарили: 2 раза
Re: Модуль API.AI
когда отправляю запрос не через тест, а через расширение хрома, то say($soures) , выдает верное имя терминала, или есть еще какая то переменная выдающая терминал, а в логах расширения приходит команда saytoolehs писал(а):Модуль не определил, с какого терминала запрос. Что-то не так настроено в Терминалах
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
С Хромом тут есть проблемка... Дело в том, что ask сейчас умеют отрабатывать только MajorDroid и ChromeGate. Так вот проверить, что терминал является Мажордроидом я могу (по наличию галки MajorDroid API), а признака, что это CromeGateMJD - нет.Onilo09 писал(а):когда отправляю запрос не через тест, а через расширение хрома, то say($soures) , выдает верное имя терминала, или есть еще какая то переменная выдающая терминал, а в логах расширения приходит команда saytoolehs писал(а):Модуль не определил, с какого терминала запрос. Что-то не так настроено в Терминалах
Потому в текущей реализации ask выполняется только для Дроида, а для остальных - sayTo.
Выходов, пока нет возможности определить тип терминала, есть несколько.
1. Попробовать для этого терминала поставить галку MajorDroid API, но тут могут перестать правильно работать другие методы.
2. В обработчике action перехватывать сообщение и делать ask. Примерно вот так (код не проверял):
Код: Выделить всё
if($data['result']['actionIncomplete'] && ($source == 'chrome')) {
$msg = $data['result']['fulfillment']['speech'];
$data['result']['fulfillment']['speech'] = '';
ask($msg, $source);
}
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Жесть! Все описание, которое я делал для Модуля куда-то пропало! Что за хрень???
- Рейтинг: 1.16%