Наверняка вам приходилось слышать о ботах — программах, имитирующих деятельность человека на компьютере. Я говорю не о привычных аппаратных роботах, речь идет о небольших программах, используемых для общения и способных вести беседу, чтобы помочь пользователям. Я уверен, что вам приходилось общаться с ними на каком-нибудь сайте розничной торговли или иметь дело с помощниками вроде 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. Пример беседы с программой-роботом

Как видите, средство создания простых и эффективных программ-роботов отличается широкими возможностями и может заметно влиять на удобство нашей работы как сейчас, так и в будущем.