Как работает служба Azure Bot
В этом уроке вы узнаете, как использовать Bot Framework Composer для разработки ботов в интерактивном визуальном конструкторе. Вы узнаете, как расширить бот с помощью возможностей искусственного интеллекта и языка в Bot Framework Composer. Вы также узнаете, как создать бота, расширить возможности бота и опубликовать бота в службе Azure Bot.
Что такое архитектура пакета бота?
Служба Azure Bot и Bot Framework поддерживают полный процесс создания бота. Поддерживаемый процесс включает в себя задачи проектирования, сборки, тестирования и публикации.
Разработчики ботов используют Bot Framework Composer для создания пакета бота . этот пакет содержит логику бота и сведения об интеграции ботов и подключениях, включая входные каналы и проверку подлинности. Пакет бота также содержит любой пользовательский код бота. Служба Azure Bot размещает пакет бота. Вы можете рассматривать Azure Bot как веб-приложение Azure с несколькими дополнительными функциями, предоставляющими основную конечную точку для взаимодействия с ботом. С помощью службы Bot пользователи могут взаимодействовать с ботом. Тем временем он может управлять входящими и исходящими взаимодействиями REST для внешних каналов и других интеграций.
Заметка
Пакет бота также можно обслуживать с помощью пакета SDK Bot Framework с помощью Visual Studio или Visual Studio Code.
Рассмотрим тип бота, который вы хотите создать
Перед созданием бота необходимо решить, какой бот вы создаете. При принятии решения рассмотрите следующие вопросы:
Для чего используется ваш бот? Определите тип бота, который вы хотите создать. Планирование помогает определить функциональные возможности, которые необходимо реализовать.
Какие проблемы планирует решить ваш бот? Сделайте этот ответ ясным. Решение проблем для клиентов является основным фактором при создании ботов. Кроме того, следует рассмотреть такие аспекты, как решить проблему пользователя лучше, проще или быстрее, чем альтернативные возможности.
Кто использует бот? Если вы разрабатываете бот, это безопасно предположить, что вы ожидаете, что пользователи будут использовать его. Разные клиенты ожидают разного пользовательского опыта. Знание аудитории помогает определить, насколько сложным должен быть дизайн бота. Рассмотрим, какие языки следует реализовать для бота.
Совет
Обеспечение отличного взаимодействия с пользователем должно быть вашим приоритетом при разработке бота.
Где используется бот? Необходимо решить, на каких платформах будет работать бот. Например, бот, предназначенный для запуска на мобильном устройстве, может потребовать таких функций, как отправка сообщений службы коротких сообщений (SMS).
Важный
Процесс публикации зависит от платформы до платформы.
Разработка основных функций бота в Bot Framework Composer
Вы можете использовать Composer для разработки, сборки, расширения и тестирования бота. Composer — это холст визуального редактирования для создания ботов. Обычно это отправная точка для процесса создания службы Azure Bot.
Визуальный конструктор Composer можно использовать для интуитивной разработки основных функций бота. Его можно использовать для:
- Добавьте возможности распознавания естественного языка в бот с помощью QnA Maker. Вы можете использовать такие возможности, как служба аналитики распознавания речи (LUIS), QnA или часто задаваемые вопросы.
- Создайте ответы на варианты текста и речи для бота с помощью шаблонов создания языка.
- Создание ботов на нескольких языках.
- Протестируйте бот непосредственно внутри Composer с помощью внедренного веб-чата.
- Публиковать боты в Службе приложений Azure и Функциях Azure.
- Интеграция внешних служб, таких как приложения LUIS и базы знаний QnA Maker.
Создание диалогов и потока бесед
Диалоги управляют беседами, которые бот имеет со своими пользователями. Диалоги содержат шаблоны ответов для генерации текста, которые определяют ответы бота и инструкции по выполнению его задач. Например, при резервировании ужинов в ресторане или создании элемента календаря Outlook.
Многие диалоги являются линейными, с простой последовательностью вопросов и ответов. Но некоторые диалоги также включают расширенную логику беседы. Эта логика может включать ветвление, циклирование и контекстные динамические и адаптивные диалоги. Эти типы диалогов обычно используют внешние данные, поддерживают условия диалога и выполняют необходимые прерывания в беседе.
Включение внешних потоков с навыками и другими ботами
Вы можете создавать более сложные потоки бесед, импортируя навыки Composer, пакеты NuGet и даже другие боты службы Azure Bot в бот. Вы можете создать вложенную серию ботов, чтобы создать более модульный и многократно используемый набор функций бота. Эти небольшие модульные компоненты можно объединить в нескольких сочетаниях, чтобы предоставить набор возможностей для различных родительских ботов. Например, у вас может быть бот, который обрабатывает поток беседы вокруг управления записями календаря, с входными данными и ответами, такими как "когда моя следующая встреча?" или "Вам нужна комната собраний?" Упаковав бота в качестве навыка, вы можете легко интегрировать навык (и связанную возможность обработки бесед календаря) в любой другой создаваемый бот.
Использование карточек, изображений и кнопок для улучшения беседы
Для улучшения беседы для пользователей бота можно использовать несколько визуальных и интерактивных методов. Используйте карточки для создания содержимого на основе форматированного текста, изображения и кнопки, чтобы обеспечить более интерактивный интерфейс, чем обычный текст. Композитор предлагает несколько типов карточек, включая миниатюру, страницу входа, аудио и видео.
Расширение распознавания речи и аналитики с помощью LUIS и QnA Maker
LUIS обеспечивает обработку естественного языка с полной системой управления намерениями и сущностями. Вы можете интегрировать ранее созданные приложения LUIS или создать новые приложения в Composer, чтобы добавить в бот надежные возможности распознавания естественного языка.
QnA Maker — это облачная служба. Используйте его для извлечения пар вопросов и ответов из существующих документов и веб-сайтов в стиле часто задаваемых вопросов. Затем эту информацию можно импортировать в базу знаний, которую эксперты могут курировать вручную. Вы можете интегрировать бота с базой знаний QnA. Эта интеграция позволяет найти наиболее подходящий ответ для любого заданного ввода естественного языка.
Тестирование бота с помощью веб-чата
Вы можете протестировать функциональные возможности бота непосредственно в Composer с помощью веб-чата. Веб-чат запускает бот в локальной среде выполнения бота, что означает, что вы можете протестировать бот локально на компьютере разработки, не публикуя его в Azure. Веб-чат имеет полные возможности отладки, записи расшифровки и проверки состояния бота для тестирования всех аспектов возможностей бота.
Добавление промежуточного слоя и расширение функциональных возможностей бота с помощью SDK Bot Framework
Чтобы изменить исходный код бота и расширить функциональные возможности бота, можно использовать Visual Studio, Visual Studio Code или поддерживаемую интегрированную среду разработки с помощью пакета SDK Bot Framework. Упаковка и публикация ботов в виде пакетов NuGet. Импортируйте эти пакеты в Composer для простой интеграции. Вы можете легко перемещаться между Composer и пакетом SDK Bot Framework на протяжении всего жизненного цикла разработки ботов. Эта мобильность гарантирует, что вы всегда используете наиболее эффективное средство для любой задачи разработки.
Публикация бота в Azure
Служба Azure Bot размещает функции бота в Azure. Публикация ботов непосредственно из интерфейса Composer, создание комплексного интерфейса разработки в Composer.
Служба Azure Bot размещает бота в ресурсе веб-приложения Azure. Этот ресурс содержит код, логику и базовые конечные точки REST HTTP для подключения к внешним ресурсам. Служба Azure Bot также предоставляет готовые каналы службы Bot. Каналы службы ботов предоставляют адаптерный слой, который адаптирует взаимодействие бота под другой протокол службы чата, такой как Facebook, Slack, Teams, телефонные системы и так далее.
При публикации из Composer процесс публикации также может создавать или импортировать зависимые ресурсы Azure. К этим ресурсам относятся LUIS, QnA Maker, Azure Cosmos DB, Application Insights и хранилище BLOB-объектов.