[Модуль] API.AI (apiai)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Модуль API.AI

Сообщение Gelezako » Вт ноя 07, 2017 12:34 pm

ну рас видео уже смотрел, то пиши конкретно какая проблема и что именно не работает.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль API.AI

Сообщение olehs » Вт ноя 07, 2017 3:47 pm

А можно как-то передавать имя терминала в API.AI, например выставлять как контекст?
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Модуль API.AI

Сообщение Gelezako » Вт ноя 07, 2017 5:29 pm

зачем API.AI знать какие у вас там терминалы? Получая ответ от API.AI вы сами уже решаете с каким терминалом работать.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль API.AI

Сообщение olehs » Вт ноя 07, 2017 5:35 pm

Так а зачем тогда все эти навороты API.AI, если я не могу элементарной логики завести в интентах? ))
Например у меня в шаблонах есть такой сценарий:
"Алиса, включи свет"
Если запрос приходит с конкретного терминала, привязанного к комнате, она включит свет в этой комнате. Иначе спросит "Где именно?"
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Модуль API.AI

Сообщение Gelezako » Вт ноя 07, 2017 5:43 pm

API.AI даёт некую гибкость в общении, вы можете задать множество синонимов как к отдельным словам, так и ко всей фразе, например можно сделать так что для API.AI все эти команды будут делать одно и тоже:
включи свет
вруби свет
алиса включи пожалуйста освещение
умный дом, мне нужно что бы ты включил свет в комнате
итд
Средствами шаблонов тоже можно задавать синомины, но не так гибко. На счёт терминалов, эту логику тоже можно реализовать, но нужно самому анализировать фразу где включить и включать соответствующую лампочку.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль API.AI

Сообщение olehs » Вт ноя 07, 2017 7:49 pm

Не понимаю, почему бы не интегрироваться с API.AI глубже, раз он позволяет это сделать.
Вы ведь сами предлагали перенести все шаблоны в сервис... А без управления контекстами удобных диалогов не построишь. Ну или это будет очень неудачный и тяжело реализуемый симбиоз МЖД и сервиса.

Еще было бы удобно использовать ask вместо sayReply, если, например, API.AI вернул "actionIncomplete": true
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Модуль API.AI

Сообщение Gelezako » Вт ноя 07, 2017 10:43 pm

что вы подразумеваете под "интегрироваться с API.AI глубже" ?
на счёт переноса шаблонов, тут есть один минус. Нормальная работа по обработке команд, будет зависеть от работы этого сервиса. Если с сервисом что-то случится, то вы теряете все голосовое управление. Именно по этой причине многие люди не хотят зависеть от сторонних сервисов и предпочитают жертвовать универсальностью и гибкостью взамен на 100%-ую связь.

Так что те кто хочет использовать шаблоны продолжает их использрвать, а те кто хочет универсальность и не боится зависеть от сторонних сервисов использует API.AI.
Еще было бы удобно использовать ask вместо sayReply, если, например, API.AI вернул "actionIncomplete": true
тут не понял, опишите детальней идею
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль API.AI

Сообщение olehs » Ср ноя 08, 2017 12:12 am

Голосовое управление мне и так кажется в данный момент не более, чем необязательным дополнением, так что его отсутствие не должно быть критичным. А там, где оно критично - можно подстраховать офлайновым функционалом (шаблоны).

Под более глубокой интеграцией я подразумевал именно управление контекстами с передачей в них параметров (https://dialogflow.com/docs/reference/agent/contexts). Это позволит строить основную часть голосового взаимодействия именно в API.AI, передавая в него лишь необходимую информацию из системы для правильного ветвления диалогов. В данный момент модуль вообще сбрасывает все контексты перед каждым запросом.
тут не понял, опишите детальней идею
Сейчас модуль в МЖД проговаривает сообщения от сервиса через sayReply. Благодаря недавно появившемуся методу ask диалоги можно было бы сделать немного более естественными.
Думаю Вы знаете, что у интентов могут быть обязательные параметры и система будет их выпытывать у вас, пока все не получит. В этом режиме все ответы сопровождаются параметром "actionIncomplete": true
Вот в зависимости от этого параметра я и предлагаю использовать ask вместо sayReply
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Модуль API.AI

Сообщение Gelezako » Ср ноя 08, 2017 12:54 am

olehs писал(а):Голосовое управление мне и так кажется в данный момент не более, чем необязательным дополнением, так что его отсутствие не должно быть критичным. А там, где оно критично - можно подстраховать офлайновым функционалом (шаблоны).
вы представляете как этот симбмоз реализовать на практике? Это крайне сложно.
olehs писал(а): Под более глубокой интеграцией я подразумевал именно управление контекстами с передачей в них параметров (https://dialogflow.com/docs/reference/agent/contexts). Это позволит строить основную часть голосового взаимодействия именно в API.AI, передавая в него лишь необходимую информацию из системы для правильного ветвления диалогов. В данный момент модуль вообще сбрасывает все контексты перед каждым запросом.
Согласен, полноценных контекстов нет и диалоги строить невозможно в текущей реализации. Я буду приветствовать если кто-то сможет это реализовать.
olehs писал(а): Сейчас модуль в МЖД проговаривает сообщения от сервиса через sayReply. Благодаря недавно появившемуся методу ask диалоги можно было бы сделать немного более естественными.
Думаю Вы знаете, что у интентов могут быть обязательные параметры и система будет их выпытывать у вас, пока все не получит. В этом режиме все ответы сопровождаются параметром "actionIncomplete": true
Вот в зависимости от этого параметра я и предлагаю использовать ask вместо sayReply
Тоже самое, я только за если будет поддержка ask, осталось только что бы кто-то реализовал.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
cahek2202
Сообщения: 23
Зарегистрирован: Пт окт 07, 2016 7:35 pm
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль API.AI

Сообщение cahek2202 » Чт дек 21, 2017 4:03 pm

Привет! Возникла интересная ситуация с api.ai пока плохо представляю куда копать, может поможете? В общем при подаче голосовой команды все отлично отрабатывает, распознается и уходит обратно в мажордомо, мажордомо нормально выполняет команду, а вот потом и начинаются странности. Иногда после выполнения команды он отвечает "Неизвестная команда" хотя свет включил. В api.ai интенет реализован следующим образом "включи @device @properties" где @device это типа свет, вытяжка и тд, @propeties - на кухне, в коридоре, в спальне и тд. Так вот на команду например "Включи свет в спальне" он адекватно реагирует, включает свет и говорит "Готово/Сделано", то на команду "Включи свет в коридоре" он включает свет в коридоре, но отвечает "Неизвестная команда". Я так понимаю косяк где-то на моей стороне, потому что api ai адекватно отдает все параметры, в ином случае свет не включился бы. А вот как формируется ответ мажордомо я пока не разобрался.
Ответить