[Модуль] 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
Если Вы на альфа-ветке, то имя терминала будет в переменной $sourceGelezako писал(а):А можно пример с терминалами? К примеру у меня в качестве терминалов добавлено несколько телефонов под андроид с установленным мажордроид. Как мне понять от какого терминала пришла команда?
Кроме того, терминал передается в качестве контекста:
укажите в настройках Developer access token , затем нажмите на кнопку Send напротив terminals на вкладке Entities.
После этих действий получить терминал можно из контекста, например так
Код: Выделить всё
foreach($contexts as $ctx) {
if ('known-terminal' == $ctx['name']) {
debmes($ctx['parameters']['terminal']);
debmes($ctx['parameters']['terminal.original']);
break;
}
}
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
проделал как описано, но в $source пусто и цикл тоже ничего не выводит. Подскажите куда копать?
фанат Мажордомо
тематический блог 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
С $source - это мой косяк, поправлю. Но тот цикл точно должен писать в лог айди и имя терминала.Gelezako писал(а):проделал как описано, но в $source пусто и цикл тоже ничего не выводит. Подскажите куда копать?
Проверьте, что Вы на альфа-ветке с последними обновлениями.
Убедитесь, что в терминалах есть все настройки для этого терминала: айпи, галка Majordroid API и т.д.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль API.AI
Я правильно понял, что работа с контекстными возможна только в системе из Альфа ветки?
И ещё вопрос: Я хочу реализовать включение радио по наименованию станции из списка возможных модуля 101 точка ру соответственно пришедшие название я должен сравнить с существующим текущем списком возможных станций. Где это возможно обработать на стороне api.ai передав каким-то образом список всех станций или на стороне мажордомо получив название от api.ai сравнив со списком и если не найдено то заново переспросить название ?
Отправлено с моего Redmi Note 4 через Tapatalk
И ещё вопрос: Я хочу реализовать включение радио по наименованию станции из списка возможных модуля 101 точка ру соответственно пришедшие название я должен сравнить с существующим текущем списком возможных станций. Где это возможно обработать на стороне api.ai передав каким-то образом список всех станций или на стороне мажордомо получив название от api.ai сравнив со списком и если не найдено то заново переспросить название ?
Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.



gitHub сырого модуля 2й версии

Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Нет, просто в мастер-ветке сейчас нет передачи имени терминала в обработчик COMMAND.
Это означает, что только в альфа-ветке API.AI будет знать, откуда пришел запрос.
Остальное все должно работать.
Запрос на включение радио можно полностью обрабатывать на стороне сервиса. Список радиостанций можно передать в Entity.
Затем нажать на нем кнопку Send.
Далее создаете Intent
И, наконец, обработчик для экшена radio
Это означает, что только в альфа-ветке API.AI будет знать, откуда пришел запрос.
Остальное все должно работать.
Запрос на включение радио можно полностью обрабатывать на стороне сервиса. Список радиостанций можно передать в Entity.
СпойлерПоказать
Код: Выделить всё
$stations = SQLSelect('select ID, TITLE from ru101_stations');
$total = count($stations);
$entries = array();
for($i=0; $i<$total; $i++) {
$entries[] = array(
'value' => $stations[$i]['ID'],
'synonyms' => array($stations[$i]['TITLE'])
);
}
$entity = array(
'name' => 'radio-station',
'entries' => $entries
);
return $entity;
Далее создаете Intent
СпойлерПоказать
СпойлерПоказать
Последний раз редактировалось olehs Пн мар 12, 2018 1:23 pm, всего редактировалось 1 раз.
- Рейтинг: 3.49%
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль API.AI
Круто, буду пробовать.
Вот только контексты как то не заработали у меня с первой попытки.
В консоле тестирования на самом сайте dialogflow работают, а вот в мажорике ответы на уточняющие вопоосы пишет попробуйте выразить свои мысли по другому.
То есть 'Включи радио'
Спрашивает 'какое '
Говорю 'радио рекорд'
А она вместо вопроса 'где включить' пишет 'попробуйте выразить свои мысли по другому'
Отправлено с моего Redmi Note 4 через Tapatalk
Вот только контексты как то не заработали у меня с первой попытки.
В консоле тестирования на самом сайте dialogflow работают, а вот в мажорике ответы на уточняющие вопоосы пишет попробуйте выразить свои мысли по другому.
То есть 'Включи радио'
Спрашивает 'какое '
Говорю 'радио рекорд'
А она вместо вопроса 'где включить' пишет 'попробуйте выразить свои мысли по другому'
Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.



gitHub сырого модуля 2й версии

Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Контексты - это не то, Вы что-то путаете.lanket писал(а):Круто, буду пробовать.
Вот только контексты как то не заработали у меня с первой попытки.
В консоле тестирования на самом сайте dialogflow работают, а вот в мажорике ответы на уточняющие вопоосы пишет попробуйте выразить свои мысли по другому.
То есть 'Включи радио'
Спрашивает 'какое '
Говорю 'радио рекорд'
А она вместо вопроса 'где включить' пишет 'попробуйте выразить свои мысли по другому'
Отправлено с моего Redmi Note 4 через Tapatalk
На радио 101 я что-то не нашел Радио Рекорд.
Ну и возможно МЖД что-то не так распознал. Вобщем, вариантов много, надо смотреть как у Вас настроено, не люблю гадать.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль API.AI
Да рекорда нет, это просто что первое пришло в голову, так для примера.olehs писал(а): ....
Контексты - это не то, Вы что-то путаете.
На радио 101 я что-то не нашел Радио Рекорд.
Ну и возможно МЖД что-то не так распознал. Вобщем, вариантов много, надо смотреть как у Вас настроено, не люблю гадать.
Контексты я так понял это диалоги при недостающих параметров.
Полная фраза 'Включи радио enigma на кухне'
Если сказать 'Включи радио'
Алиса спрашивает 'Назовите название станции' как прописанно в dialogflow
По идее должна вызвать прослушивание и распознование уточняющего ответа название станции, в данном примере 'enigma'.
В консоли на сайте dialogflow это работает.
А в test query модуля api.ai нет, и в чат если вводить вручную нет. И если нажимаешь кнопку распознования голосовой команды в Мажордроид тоже не вызывается распознование ответа на уточняющие вопрос.
А если вручную ввести enigma то Мажордомо воспринимает как новую команду а не ответ на уточняющие вопрос.
По сути контексты в api.ai я так понял что это как в шаблонах поведения контексты. Да и в консоле dialogflow этот режим диалога с уточняющими вопросами недостающих переменных также называется Contexts. И в тестовой консоли это работает.
Или я не так понял?
Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.



gitHub сырого модуля 2й версии

Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
Ну, почти так. Контексты - это скорей условия, при которых Интент вообще будет проверятся.
Можете прикрепить сюда ответы в JSON на запросы в test query?
p.s. Я там накосячил немного с получением имени терминала назад из ответа API.AI, потому может не работать уточнение на MajorDroid через ask, а будет делаться sayReply. Я кинул PR, но пока Сергей не принял.
Можете прикрепить сюда ответы в JSON на запросы в test query?
p.s. Я там накосячил немного с получением имени терминала назад из ответа API.AI, потому может не работать уточнение на MajorDroid через ask, а будет делаться sayReply. Я кинул PR, но пока Сергей не принял.