Всем привет! Хочу рассказать о том, как одной маленькой девочке захотелось поюзать навыки Алисы, интегрироваться в «умный дом» крутого продукта MySmartFlat, какие встали преграды на пути, и вообще, каково это — быть девушкой — программистом?
Создать навык — это просто. За пол часа можно реализовать простейший чат — бот. И отправить на модерацию. И даже пройти ее.
IoT знакомая вещь для многих сейчас, и крутое дополнение к таким комплексам — голосовое управление. Подумали мы с коллегами и решили попробовать Алису. А еще и колонка есть. И всё очень круто.
Люблю php ( кто бы и что не говорил), а документации нет. Разобраться оказалось проще простого. Слава богу работаю там, где уже есть и нужные безопасные сервера и всё остальное, т.к. хоть и программист — но совсем не хотелось разбираться в установке сертификатов и т.д. Иногда женское нутро берет своё… Но сейчас не об этом. Вот есть на руках нужный вебхук, и голова на плечах. Всё необходимое.
Вебхук — скрипт, куда летят все пользовательские запросы, который обрабатывает и управляет, выдает ответ.
Начала тривиально пробовать баловаться светом ( у нашей платформы есть API, и разбираться с тем, как происходит это всё аппаратно, мне тоже не потребовалось. Единственное, имея техническое образование, мне пригодились навыки обращения с реле, контроллерами и т.д.). Вся сложность заключалась в тактичном, правильном и разнообразном подходе к тому, что говорит и хочет пользователь. Чем дальше, тем больше в дебри, особенно, когда поняла, что так, как вижу я (и так, как сказала бы я) совершенно не так, как сказал бы пользователь нашей платформы. Я хочу " Включить свет ", а пользователь «врубить» и т.д. Обдумав кучу вариантов, получив десятки фидбеков, как итог — крутой, полноценный навык, в 20 тысяч строк кода на управление освещением, температурой, системами защиты от протечек, бытовой техникой и т.д. Особенно круто с использованием станции — не нужно вообще ничего нажимать и открывать. Достаточно только иметь хотя бы одно наше устройство — и навык «Моя квартира» уже будет доступен.
Я обучила Алису включать/выключать освещение в определенной комнате и даже определенные каналы, если в устройстве их несколько, рассказывать о климате в помещение и регулировать температуру воздуха и пола, ориентируясь на данные из устройства. Смогу даже музыку сделать громче и канал на телевизоре переключить.
В течение времени модернизировалось наше приложение, вся наша платформа, и появилась у пользователей возможность в приложении изменять названия всех своих устройств, нагрузок на реле и прочего. Моя голова вскипела, т.к. встала новая задача и причем спиной ко мне — как Алиса должна понимать, что хочет включить пользователь? Допустим, устройство в приложении называется ПОДСВЕТКА ЗЕРКАЛА, а Алисе говорит: «Алиса, включи свет в ванной». Юзер понимает, что он хочет включить подсветку зеркала, а как быть мне? Мой скилл прокачан не настолько, чтобы запилить искусственный интеллект, и я научила ее переспрашивать пользователя и запоминать.
В общем, это всё было бы еще круче, если бы не:
1. Использование на Яндекс.Станции не очень, как оказалось, удобно. В навыке вы находитесь, пока взаимодействуете. Т.е.: «Алиса, запусти навык… включи свет, выключи...» и т.д. Проходит 30 с, и вы молчите — оп, и вы уже не в навыке. И приходится снова: «Алиса, запусти навык...». Да куда проще и быстрее нажать на кнопку в приложении.
2. Нужно оптимизировать свои серверные настройки, обработки фраз и всё остальное настолько, чтобы скрипт обрабатывался и выдавал ответ не более, чем за 1.5 с. Иначе, Алиса говорит: «Извините, навык не отвечает» и вылетает из него. Всё бы ничего, но пришлось сильно повозиться, т.к. много устройств, запросов в базу и на управление. Но проблема решаема.
Яндекс пообещал сделать лучше жизнь разработчикам умных домов, и адекватно и быстро реагируют и отвечают на все пожелания и вопросы.
Не смотря на все подводные камни, управление голосом дает наглядно увидеть и понять, для чего вообще это всё нужно. Всем IoT!
Создать навык — это просто. За пол часа можно реализовать простейший чат — бот. И отправить на модерацию. И даже пройти ее.
IoT знакомая вещь для многих сейчас, и крутое дополнение к таким комплексам — голосовое управление. Подумали мы с коллегами и решили попробовать Алису. А еще и колонка есть. И всё очень круто.
Люблю php ( кто бы и что не говорил), а документации нет. Разобраться оказалось проще простого. Слава богу работаю там, где уже есть и нужные безопасные сервера и всё остальное, т.к. хоть и программист — но совсем не хотелось разбираться в установке сертификатов и т.д. Иногда женское нутро берет своё… Но сейчас не об этом. Вот есть на руках нужный вебхук, и голова на плечах. Всё необходимое.
Вебхук — скрипт, куда летят все пользовательские запросы, который обрабатывает и управляет, выдает ответ.
Начала тривиально пробовать баловаться светом ( у нашей платформы есть API, и разбираться с тем, как происходит это всё аппаратно, мне тоже не потребовалось. Единственное, имея техническое образование, мне пригодились навыки обращения с реле, контроллерами и т.д.). Вся сложность заключалась в тактичном, правильном и разнообразном подходе к тому, что говорит и хочет пользователь. Чем дальше, тем больше в дебри, особенно, когда поняла, что так, как вижу я (и так, как сказала бы я) совершенно не так, как сказал бы пользователь нашей платформы. Я хочу " Включить свет ", а пользователь «врубить» и т.д. Обдумав кучу вариантов, получив десятки фидбеков, как итог — крутой, полноценный навык, в 20 тысяч строк кода на управление освещением, температурой, системами защиты от протечек, бытовой техникой и т.д. Особенно круто с использованием станции — не нужно вообще ничего нажимать и открывать. Достаточно только иметь хотя бы одно наше устройство — и навык «Моя квартира» уже будет доступен.
Я обучила Алису включать/выключать освещение в определенной комнате и даже определенные каналы, если в устройстве их несколько, рассказывать о климате в помещение и регулировать температуру воздуха и пола, ориентируясь на данные из устройства. Смогу даже музыку сделать громче и канал на телевизоре переключить.
В течение времени модернизировалось наше приложение, вся наша платформа, и появилась у пользователей возможность в приложении изменять названия всех своих устройств, нагрузок на реле и прочего. Моя голова вскипела, т.к. встала новая задача и причем спиной ко мне — как Алиса должна понимать, что хочет включить пользователь? Допустим, устройство в приложении называется ПОДСВЕТКА ЗЕРКАЛА, а Алисе говорит: «Алиса, включи свет в ванной». Юзер понимает, что он хочет включить подсветку зеркала, а как быть мне? Мой скилл прокачан не настолько, чтобы запилить искусственный интеллект, и я научила ее переспрашивать пользователя и запоминать.
В общем, это всё было бы еще круче, если бы не:
1. Использование на Яндекс.Станции не очень, как оказалось, удобно. В навыке вы находитесь, пока взаимодействуете. Т.е.: «Алиса, запусти навык… включи свет, выключи...» и т.д. Проходит 30 с, и вы молчите — оп, и вы уже не в навыке. И приходится снова: «Алиса, запусти навык...». Да куда проще и быстрее нажать на кнопку в приложении.
2. Нужно оптимизировать свои серверные настройки, обработки фраз и всё остальное настолько, чтобы скрипт обрабатывался и выдавал ответ не более, чем за 1.5 с. Иначе, Алиса говорит: «Извините, навык не отвечает» и вылетает из него. Всё бы ничего, но пришлось сильно повозиться, т.к. много устройств, запросов в базу и на управление. Но проблема решаема.
Яндекс пообещал сделать лучше жизнь разработчикам умных домов, и адекватно и быстро реагируют и отвечают на все пожелания и вопросы.
Не смотря на все подводные камни, управление голосом дает наглядно увидеть и понять, для чего вообще это всё нужно. Всем IoT!