Не переживай, просто подменили ссылку, которая отображается по клику. Статья ни вики живая и скоро будет в базе знаний.olehs писал(а):Жесть! Все описание, которое я делал для Модуля куда-то пропало! Что за хрень???
[Модуль] API.AI (apiai)
Модератор: immortal
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
- Рейтинг: 1.16%
фанат Мажордомо
тематический блог 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
Наткнулся на тему с напоминалкой в соседней ветке viewtopic.php?f=4&t=5255
и ради примера решил сделать то же самое на DialogFlow:
и ради примера решил сделать то же самое на DialogFlow:
Код: Выделить всё
$dt = $params['date-time'];
$text = $params['text'];
if($dt && $text) {
addScheduledJob($text, "say('Вы просили напомнить $text');", strtotime(rtrim($dt, 'Z')));
}
- Вложения
-
- Reminder.json.txt
- (2.7 КБ) 602 скачивания
- Рейтинг: 2.33%
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
спасибо за очередной пример, но я так и не смог найти куда записывается напоминание, зашёл в xray->Events , но там его нет.olehs писал(а):Наткнулся на тему с напоминалкой в соседней ветке viewtopic.php?f=4&t=5255
и ради примера решил сделать то же самое на DialogFlow:Код: Выделить всё
$dt = $params['date-time']; $text = $params['text']; if($dt && $text) { addScheduledJob($text, "say('Вы просили напомнить $text');", strtotime(rtrim($dt, 'Z'))); }
фанат Мажордомо
тематический блог 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
в TimersGelezako писал(а): спасибо за очередной пример, но я так и не смог найти куда записывается напоминание, зашёл в xray->Events , но там его нет.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль API.AI
Задачка посложнее нет желания решить.olehs писал(а):Наткнулся на тему с напоминалкой в соседней ветке viewtopic.php?f=4&t=5255
и ради примера решил сделать то же самое на DialogFlow:Код: Выделить всё
$dt = $params['date-time']; $text = $params['text']; if($dt && $text) { addScheduledJob($text, "say('Вы просили напомнить $text');", strtotime(rtrim($dt, 'Z'))); }
Интент на удаление напоминания, 2я функция то что из соседней ветки, но учитывая возможности dialogflow туда бы передать список установленных таймеров. Чтобы dialogflow смог сообразить какое именно произнес название напоминания при не 100% совпадении.
Вроде в последнем обновлении модуля можно туда в отсылать временные Entities в рамках текущей сессии.
Если я правильно понимаю механизм dialogflow понял что это это интент на удаление напоминания, запросил список таймеров, сравнил и выдал то что посчитал максимально подходящим или уточнил у пользователя.
Или я что то не так понял?
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль API.AI
На самом деле это никакие не временные Entities, они самые что ни на есть постоянные и сохраняются навсегда в диалогфлоу. По сути, новая возможность в модуле просто позволяется быстро выгрузить их из МЖД определённые Entities и сохранить их в диалогфлоу. Тоже самое можно сделать руками через панель диалогфлоу.lanket писал(а): Вроде в последнем обновлении модуля можно туда в отсылать временные Entities в рамках текущей сессии.
фанат Мажордомо
тематический блог 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
Конечно же про удаление я тоже думал и сделать это несложно.
И тут вы, lanket и Gelezako, оба по-своему правы, т.к есть 2 варианта реализации.
Вариант lanket'a кажется более логичным - сделать это через userEntities, т.к. таймеры со временем пропадают и актуальны только на момент запроса.
Но в таком случае запрос на удаление должен проходить в 2 этапа: сначала нужно попросить удалить напоминание, в ответ загрузить список, а затем уже проговорить название напоминания и удалить его.
Второй вариант - обновлять глобальный Entity каждый раз при изменении в списке напоминаний: при создании и после сработки таймера.
В таком случае напоминание можно удалить одной фразой "Удали напоминание такое-то".
Могу реализовать любой из них, скажите какой больше нравится. А сами реализуете другой (с целью тестирования модуля, конечно )
И тут вы, lanket и Gelezako, оба по-своему правы, т.к есть 2 варианта реализации.
Вариант lanket'a кажется более логичным - сделать это через userEntities, т.к. таймеры со временем пропадают и актуальны только на момент запроса.
Но в таком случае запрос на удаление должен проходить в 2 этапа: сначала нужно попросить удалить напоминание, в ответ загрузить список, а затем уже проговорить название напоминания и удалить его.
Второй вариант - обновлять глобальный Entity каждый раз при изменении в списке напоминаний: при создании и после сработки таймера.
В таком случае напоминание можно удалить одной фразой "Удали напоминание такое-то".
Могу реализовать любой из них, скажите какой больше нравится. А сами реализуете другой (с целью тестирования модуля, конечно )
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль API.AI
Есть одно но. Таймеры удаляются с наступлением времени. Dialogflow следить за временем не будет. Если только в самом таймере прописывать обновление entities.olehs писал(а):...
Второй вариант - обновлять глобальный Entity каждый раз при изменении в списке напоминаний: при создании и после сработки таймера.
В таком случае напоминание можно удалить одной фразой "Удали напоминание такое-то".
...
И ещё одно но. Не все Таймеры надо знать dialogflow, а только те которые относятся к напоминалке. Как их фильтровать?
Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Модуль API.AI
Ну это ведь очевидно - когда добавляется напоминание после отработки api.ai, то добавляется entity, в тело таймера встраивается удаление entity - набор будет актуальным и там будут только те таймеры, что нужныlanket писал(а):Есть одно но. Таймеры удаляются с наступлением времени. Dialogflow следить за временем не будет. Если только в самом таймере прописывать обновление entities.olehs писал(а):...
Второй вариант - обновлять глобальный Entity каждый раз при изменении в списке напоминаний: при создании и после сработки таймера.
В таком случае напоминание можно удалить одной фразой "Удали напоминание такое-то".
...
И ещё одно но. Не все Таймеры надо знать dialogflow, а только те которые относятся к напоминалке. Как их фильтровать?
Отправлено с моего Redmi Note 4 через Tapatalk
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Модуль API.AI
На самом деле можно просто запускать выгрузку полного списка таймеров после установки напоминания, после удаления, и еще раз в самом коде таймера.
Фильтровать можно по специфическому тексту в названии или коменту в коде таймера, типа:
Фильтровать можно по специфическому тексту в названии или коменту в коде таймера, типа:
Код: Выделить всё
/* REMINDER */ say('...