Наверняка вам приходилось слышать о ботах — программах, имитирующих деятельность человека на компьютере. Я говорю не о привычных аппаратных роботах, речь идет о небольших программах, используемых для общения и способных вести беседу, чтобы помочь пользователям. Я уверен, что вам приходилось общаться с ними на каком-нибудь сайте розничной торговли или иметь дело с помощниками вроде Siri или Cortana. Возможно, вы встречали даже Алекса на устройстве компании Аmazon. Эта фантастическая технология предоставляется через службы Azure для интеграции с нашими настраиваемыми приложениями.
В «облачных» службах Azure компания Microsoft предоставляет два компонента: инфраструктуру Bot Framework и службу Bot Service. Они взаимосвязаны, но используются для разных целей.
Bot Framework
Bot Framework — платформа для построения, подключения, тестирования и развертывания мощной и интеллектуальной программы-робота. Благодаря поддержке. NET, Node.js и REST вы можете загрузить пакет Bot Builder SDK и быстро приступить к проектированию программ-роботов. Bot Framework позволяет создавать программы-роботы, поддерживающие различные виды взаимодействия, от простой беседы до сложных решений.
Служба программ-роботов
Служба программ-роботов Azure предоставляет интегрированную среду, построенную специально для разработки программ-роботов, позволяя создавать, подключать, тестировать, развертывать программы-роботы и централизованно управлять ими. Она базируется на Microsoft Bot Framework и функциях Azure, а это значит, что ваша программа-робот будет работать в среде без сервера на платформе Azure, масштабируемой по требованию.
Служба программ-роботов позволяет очень быстро создавать программы-роботы с использованием языков Node.js или C#, применяя базовые шаблоны, определенные Microsoft (см. таблицу).
Зачем использовать Bot Framework
Все разработчики программ-роботов сталкиваются с одними и теми же проблемами: ботам требуются основные функции ввода-вывода, они должны обладать языковыми и диалоговыми возможностями и связываться с пользователем предпочтительно в любой тональности беседы и на языке по его выбору. Bot Framework располагает мощным инструментарием и функциями для решения этих задач.
Компоненты Bot Builder и портал разработчика в Azure применяются не только для построения решений, но и для управления ими. Bot Framework по определению поддерживают подключенные сети и службы, в частности позволяют публиковать сообщения в Slack, Skype или могут просто направить пользователя на веб-страницу.
С чего начать
Я рекомендую, прежде чем самостоятельно составлять программный код, задействовать службу программ-роботов Azure в качестве опытной площадки. Для этого перейдите на портал Azure (portal.azure.com).
Зарегистрируйтесь на сайте и щелкните на разделе New («Новое»), а затем выполните поиск Bot и выберите Bot Service («Служба программ-роботов»). Из нескольких вариантов следует выбрать Bot Service (Preview), ознакомительную версию службы программ-роботов (экран 1).
Экран 1. Служба программ-роботов |
Затем нажмите кнопку Create («Создать») и введите необходимые сведения. Вам потребуется активная подписка Azure. Именем будет URL-адрес в DNS для сайта, поэтому сделайте его понятным (экран 2).
Экран 2. Создание службы программы-робота |
Вам придется подождать, пока служба программ-роботов создаст необходимые объекты. Ожидание не должно быть долгим, и скоро вы получите уведомление о том, что процесс завершился. После завершения потребуется сформировать идентификатор приложения и пароль, а также выбрать тип и язык создаваемой программы-робота, как показано на экране 3.
Экран 3. Настройки службы программы-робота |
Это может занять довольно много времени, поскольку формируются все компоненты, необходимые для функционирования программы-робота. После завершения в консоль Azure загружается пользовательский интерфейс. Навигация выполняется на верхней панели (экран 4).
Экран 4. Панель навигации |
Щелкните по ссылке Settings («Параметры»), чтобы назначить конкретные значения для настроек созданной программе-роботу.
Для обращения к некоторым функциям потребуется доступ к другим службам, например LUIS для распознавания речи. Вам необходимо зарегистрироваться в Azure и получить идентификатор, который впоследствии можно назначить программе-роботу (экран 5).
Экран 5. Идентификатор для программы-робота |
Добавление дополнительных служб может оказаться весьма сложной задачей, поскольку пользователю часто приходится устанавливать эти службы по одной в Azure.
Чтобы добавить другие службы (каналы), можно просто щелкнуть Channels («Каналы») на экране 6 и выбрать те из них, к которым вы хотите подключиться.
Экран 6. Подключение к службе программы-робота |
Для данного примера программы-робота выполнены подключения только к Skype и Web Chat. Теперь мы переходим к самой интересной части, в которой увидим программный код, ранее выбранный C#. После того как будет загружен код для самой простой функции, вы можете увидеть непосредственно в коде, что программа-робот возвращает простое сообщение при вводе в нее каких-либо данных (экран 7).
Экран 7. Пример кода программы-робота |
Чтобы это увидеть, нажмите кнопку Test на панели навигации (экран 8).
Экран 8. Тестирование программы-робота |
Данный программный код может быть заменен любым другим по вашему желанию. Я изменил код таким образом, чтобы он взаимодействовал со списком вопросов QnA Maker. Это позволило мне создать беседу, показанную на экране 9.
Экран 9. Пример беседы с программой-роботом |
Как видите, средство создания простых и эффективных программ-роботов отличается широкими возможностями и может заметно влиять на удобство нашей работы как сейчас, так и в будущем.