Советник Сократ
Сегодня опубликовал первый навык для Яндекс.Алисы — «Советник Сократ». Чтобы запустить навык, скажите Алисе «запусти чат с советником Сократом» и начните отвечать на вопросы. Навык реализует метод майевтики — задает вопросы, которые побуждают к размышлению и помогают самостоятельно найти решение той или иной стоящей перед вами проблемы. Этот метод был придуман почти две с половиной тысячи лет назад философом Сократом, но остается актуальным до сих пор. К его созданию я шел довольно долго. Впервые идея сделать что-то подобное возникла еще несколько лет назад, когда Яндекс.Алисы еще не было. Тогда я хотел его реализовать в виде страницы своего сайта, где был бы чат с ботом. Но как-то не складывалось, и эту идею я благополучно отложил. Второй раз к этой мысли я вернулся весной, когда учился писать ботов для Telegram. Но дальше составления списка вопросов дело как-то не продвинулось. И только в июне, увидев новость о том, что теперь для Алисы можно создавать собственные навыки, я понял, что реализация этой идеи в виде навыка будет, пожалуй, лучшим решением!
Дальше оставалось разобраться с тем, как создавать навыки для Алисы. Ничего сложного там не оказалось: просто нужно сделать скрипт, который принимает и отдает данные в JSON и отслеживает сессии. Для реализации скрипта я выбрал framework для Python под названием Flask, так как в нем отслеживать сессии оказалось гораздо проще, чем в PHP. Единственная сложность была в том, что Яндекс требовал в обязательном порядке поддерживать SSL, но это решилось достаточно просто — проксированием обращений к скрипту через nginx.
Где-то к августу все было готово. Я даже прошел модерацию, но потом вдруг понял, что Сократ, разговаривающий женским голосом — это как-то неправильно и будет порождать когнитивный диссонанс. И решил переименовать его в «Советницу Эльзу» в память об ELIZA — самой первой компьютерной программе, которая умела вести диалог. Но как обычно, все откладывал и откладывал это решение. Зато когда собрался его реализовать, зашел в настройки и обнаружил, что за это время появилась возможность выбрать голос, и теперь есть возможность поставить мужской голос и сохранить идею в первозданном виде. А кроме того, теперь еще есть возможность поучаствовать в конкурсе «Премия Алисы».
Дальше оставалось разобраться с тем, как создавать навыки для Алисы. Ничего сложного там не оказалось: просто нужно сделать скрипт, который принимает и отдает данные в JSON и отслеживает сессии. Для реализации скрипта я выбрал framework для Python под названием Flask, так как в нем отслеживать сессии оказалось гораздо проще, чем в PHP. Единственная сложность была в том, что Яндекс требовал в обязательном порядке поддерживать SSL, но это решилось достаточно просто — проксированием обращений к скрипту через nginx.
Где-то к августу все было готово. Я даже прошел модерацию, но потом вдруг понял, что Сократ, разговаривающий женским голосом — это как-то неправильно и будет порождать когнитивный диссонанс. И решил переименовать его в «Советницу Эльзу» в память об ELIZA — самой первой компьютерной программе, которая умела вести диалог. Но как обычно, все откладывал и откладывал это решение. Зато когда собрался его реализовать, зашел в настройки и обнаружил, что за это время появилась возможность выбрать голос, и теперь есть возможность поставить мужской голос и сохранить идею в первозданном виде. А кроме того, теперь еще есть возможность поучаствовать в конкурсе «Премия Алисы».