Что такое пакет SDK Bot FrameworkWhat is the Bot Framework SDK?

применимо к: Пакет SDK v4APPLIES TO: SDK v4

Платформа Bot, а также служба Azure Bot предоставляют средства для создания, тестирования, развертывания и управления интеллектуальными программы-роботыами в одном месте.The Bot Framework, along with the Azure Bot Service, provides tools to build, test, deploy, and manage intelligent bots, all in one place. The Bot Framework включает модульный и расширяемый пакет SDK для создания программы-роботы, а также инструменты, шаблоны и связанные службы искусственного интеллекта.The Bot Framework includes a modular and extensible SDK for building bots, as well as tools, templates, and related AI services. С помощью этой платформы разработчики могут создавать программы-роботы, использующие речь, знания естественного языка, обработки вопросов и ответов и многое другое.With this framework, developers can create bots that use speech, understand natural language, handle questions and answers, and more.

Что такое бот?What is a bot?

Боты обеспечивают взаимодействие, больше похожее не на работу с компьютером, а на общение с живым человеком, ну или хотя бы с очень умным роботом.Bots provide an experience that feels less like using a computer and more like dealing with a person - or at least an intelligent robot. Они помогут вам перенести на автоматизированные системы простые и повторяющиеся задачи, такие как резервирование столиков в ресторане или сбор сведений для профиля без необходимости прямого участия человека.They can be used to shift simple, repetitive tasks, such as taking a dinner reservation or gathering profile information, on to automated systems that may no longer require direct human intervention. Пользователи взаимодействуют с ботом, используя текстовые сообщения, интерактивные карты и речь.Users converse with a bot using text, interactive cards, and speech. Взаимодействие с ботом может ограничиваться простыми вопросами и ответами или представлять собой сложное интеллектуальное общение с предоставлением доступа к службам.A bot interaction can be a quick question and answer, or it can be a sophisticated conversation that intelligently provides access to services.

Робот можно рассматривать как веб-приложение с интерфейсом для общения.A bot can be thought of as a web application that has a conversational interface. Пользователь подключается к Bot через канал, например Facebook, временной резерв или Microsoft Teams.A user connects to a bot though a channel such as Facebook, Slack, or Microsoft Teams.

  • Причины входа и выполнения соответствующих задач.The bot reasons about input and performs relevant tasks. Это может включать запрос дополнительных сведений о пользователе или доступ к службам от имени пользователя.This can include asking the user for additional information or accessing services on behalf of the user.
  • Bot выполняет распознавание входных данных пользователя, чтобы интерпретировать, что пользователь запрашивает или говорят.The bot performs recognition on the user's input to interpret what the user is asking for or saying.
  • Bot создает ответы для отправки пользователю, чтобы сообщить, что делает программа-робот.The bot generates responses to send to the user to communicate what the bot is doing or has done.
  • В зависимости от того, как настроена программа-робот и как она зарегистрирована в канале, пользователи могут взаимодействовать с программой-роботом через текст или речь, а диалог может включать изображения и видео.Depending on how the bot is configured and how it is registered with the channel, users can interact with the bot through text or speech, and the conversation might include images and video.

Удаленный Bot взаимодействует с пользователем на устройстве с помощью текста, речи, изображений или видеоA remote bot interacts with a user on a device via text, speech, images, or video

Программы-роботы — это очень похоже на современные веб-приложения, живущие в Интернете и использующие API-интерфейсы для отправки и получения сообщений.Bots are a lot like modern web applications, living on the internet and using APIs to send and receive messages. Содержимое бота может быть самым разным в зависимости от его типа и назначения.What's in a bot varies widely depending on what kind of bot it is. Программное обеспечение современных ботов опирается на сложный набор технологий и средств, позволяющих предоставлять все более сложные возможности на широком спектре платформ.Modern bot software relies on a stack of technology and tools to deliver increasingly complex experiences on a wide variety of platforms. Но могут существовать и простейшие боты, которые умеют лишь получать текстовое сообщение и возвращать его пользователю. Для таких достаточно лишь пары строк кода.However, a simple bot could just receive a message and echo it back to the user with very little code involved.

Боты могут выполнять все те же действия, что и другие виды программного обеспечения: читать и сохранять файлы, использовать интерфейсы API и базы данных, производить вычисления.Bots can do the same things other types of software can do - read and write files, use databases and APIs, and do the regular computational tasks. Уникальность ботов заключается в том, что кроме этого они используют механизмы, традиционно задействованные для обмена данными между людьми.What makes bots unique is their use of mechanisms generally reserved for human-to-human communication.

Служба Azure Bot и Bot Framework предлагают:The Azure Bot Service and the Bot Framework offer:

  • Пакет SDK для Bot Framework для разработки программы-роботыThe Bot Framework SDK for developing bots
  • средства Bot Framework для поддержки всех этапов разработки ботов;Bot Framework Tools to cover end-to-end bot development workflow
  • службу Bot Framework для отправки и получения сообщений и событий между ботами и каналами;Bot Framework Service (BFS) to send and receive messages and events between bots and channels
  • возможность настройки развертывания и канала в Azure.Bot deployment and channel configuration in Azure

Кроме того, боты могут использовать другие службы Azure, такие как:Additionally, bots may use other Azure services, such as:

  • Azure Cognitive Services для создания интеллектуальных приложений;Azure Cognitive Services to build intelligent applications
  • служба хранилища Azure в качестве облачного хранилища.Azure Storage for cloud storage solution

Сборка ботаBuilding a bot

Службы Azure Bot и Bot Framework предлагают интегрированный набор средств и служб для ускорения этого процесса.Azure Bot Service and Bot Framework offer an integrated set of tools and services to facilitate this process. Выберите любую среду разработки или средства командной строки для создания бота.Choose your favorite development environment or command line tools to create your bot. Доступны пакеты SDK для C#, JavaScript, Typescript и Python (пакет SDK для Java находится в разработке).SDKs exist for C#, JavaScript, Typescript and Python (the SDK for Java is under development). Мы предоставляем средства, помогающие на разных этапах проектирования и разработки ботов.We provide tools for various stages of bot development to help you design and build bots.

Обзор бота

ПланPlan

Как и с любым другим типом программного обеспечения, для успешного создания бота важно хорошее понимание всех целей, процессов и потребностей пользователей.As with any type of software, having a thorough understanding of the goals, processes and user needs is important to the process of creating a successful bot. Прежде чем писать код, просмотрите руководство по разработке  бота, чтобы ознакомиться с рекомендациями и определить потребности своего бота.Before writing code, review the bot design guidelines for best practices and identify the needs for your bot. Вы можете создать бота как с простыми, так и более сложными возможностями. Это может быть распознавание речи и естественного языка или возможность отвечать на вопросы.You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding, and question answering.

СборкаBuild

Бот — это веб-служба, которая реализует интерфейс для общения, а также взаимодействует со службой Azure Bot для отправки и получения сообщений и событий.Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. Служба Bot Framework — это один из компонентов службы Azure Bot.Bot Framework Service is one of the components of the Azure Bot Service and Bot Framework. Боты можно создавать в большом количестве языков и сред.You can create bots in any number of environments and languages. Для локальной разработки можно создать робот .You can Create a bot for local development.

В составе служб Azure Bot и Bot Framework мы предлагаем дополнительные компоненты, которые расширяют функции бота.As part of the Azure Bot Service and Bot Framework, we offer additional components you can use to extend your bot's functionality:

КомпонентFeature ОписаниеDescription СсылкаLink
Добавление возможности обработки естественного языкаAdd natural language processing Включите в боте возможность распознавать естественные языки, распознавать орфографические ошибки, использовать обработку речи и распознавать намерения пользователя.Enable your bot to understand natural language, understand spelling errors, use speech, and recognize the user's intent Использование LUISHow to use LUIS
Ответы на вопросыAnswer questions Добавьте базу знаний, чтобы отвечать на вопросы в более естественной разговорной форме.Add a knowledge base to answer questions users ask in a more natural, conversational way Использование QnA MakerHow to use QnA Maker
Объединение нескольких моделейManage multiple models При использовании нескольких моделей, например для LUIS и QnA Maker, приложение само определяет, когда и какую модель следует использовать во время диалога.If using more than one model, such as for LUIS and QnA Maker, intelligently determine when to use which one during your bot's conversation Оркестратор:Orchestrator
Добавление карточек и кнопокAdd cards and buttons Расширьте возможности взаимодействия с пользователем, чтобы кроме текста можно было использовать элементы мультимедиа, например изображения, меню и карточки.Enhance the user experience with media other than text, such as graphics, menus, and cards Добавление карточекHow to add cards

Примечание

В таблице выше приведен неполный список доступных компонентов.The table above is not a comprehensive list. Для дополнительных сведений о функциональности бота просмотрите статьи слева, начиная с отправки сообщений.Explore the articles on the left, starting with sending messages, for more bot functionality.

Кроме того, мы предоставляем средства командной строки для создания, администрирования и проверки ресурсов ботов.Additionally, we provide command line tools to help you to create, manage, and test bot assets. Эти средства могут настраивать приложения LUIS, создавать базу знаний QnA, создавать модели для маршрутизации между компонентами, макет диалога и многое другое.These tools can configure LUIS apps, build a QnA knowledge base, build models to route between components, mock a conversation, and more. Дополнительные сведения можно найти в файле readmeдля средств командной строки.You can find more details in the command line tools README.

Также у вас есть доступ к различным примерам, которые демонстрируют многие возможности, доступные через пакет SDK.You also have access to a variety of samples that showcase many of the capabilities available through the SDK. Они отлично подходят для разработчиков, которые ищут более широкие возможности отправной точки.These are great for developers looking for a more feature-rich starting point.

ТестированиеTest

Программы-роботы — это сложные приложения с множеством различных частей, работающих вместе.Bots are complex apps with a lot of different parts working together. Как и в любом другом сложном приложении, это может привести к некоторым нестандартным ошибкам или бот может вести себя иначе, чем ожидалось.Like any other complex app, this can lead to some interesting bugs or cause your bot to behave differently than expected. Поэтому перед публикацией протестируйте бот.Before publishing, test your bot. Мы предоставляем несколько способов проверить боты перед выводом в общий доступ.We provide several ways to test bots before they are released for use:

  • Тестирование в локальной среде с помощью эмулятора.Test your bot locally with the emulator. Bot Framework Emulator — это автономное приложение с интерфейсом для чата, которое содержит дополнительные средства отладки и опроса, позволяющие обнаружить проблемы с ботом и выявить их причины.The Bot Framework Emulator is a stand-alone app that not only provides a chat interface but also debugging and interrogation tools to help understand how and why your bot does what it does. Emulator можно запускать локально вместе с разрабатываемым приложением-роботом.The Emulator can be run locally alongside your in-development bot application.

  • Проверка бота в Интернете.Test your bot on the web. Завершив настройку бота через портал Azure, вы сможете обратиться к нему через веб-интерфейс чата.Once configured through the Azure portal your bot can also be reached through a web chat interface. Веб-интерфейс чата — это отличный способ предоставить доступ к боту инженерам-испытателям и другим заинтересованным лицам, у которых нет прямого доступа к исполняемому коду бота.The web chat interface is a great way to grant access to your bot to testers and other people who do not have direct access to the bot's running code.

  • Модульное тестирование программы Bot с помощью текущего пакета SDK для Bot Framework.Unit Test your bot with the current Bot Framework SDK.

ПубликацияPublish

Когда все будет готово для публикации бота, передайте его содержимое в Azure или в собственной веб-службе или центре обработки данных.When you are ready for your bot to be available on the web, publish your bot to Azure or to your own web service or data center. Постоянный адрес в общедоступном сегменте Интернета будет первым шагом к активному использованию бота на вашем сайте или в специализированных каналах для чата.Having an address on the public internet is the first step to your bot coming to life on your site, or inside chat channels.

ПодключениеConnect

Подключение роботов в такие каналы, как Facebook, Messenger, Kik, временной резерв, Microsoft Teams, Telegram, text/SMS и Twilio.Connect your bot to channels such as Facebook, Messenger, Kik, Slack, Microsoft Teams, Telegram, text/SMS, and Twilio. Платформа Bot Framework берет на себя основную часть работы по отправке и получению сообщений на всех этих платформах. Ваше приложение всегда получит унифицированный и нормализованный поток сообщений независимо от количества и типа каналов, к которым оно подключено.Bot Framework does most of the work necessary to send and receive messages from all of these different platforms - your bot application receives a unified, normalized stream of messages regardless of the number and type of channels it is connected to. Сведения о добавлении каналов, см. в разделе о каналах.For information on adding channels, see channels topic.

EvaluateEvaluate

Используйте данные, собранные на портале Azure, чтобы определить возможности для повышения производительности бота.Use the data collected in Azure portal to identify opportunities to improve the capabilities and performance of your bot. Вы можете получить данные уровня службы и инструментирования, например трафик, задержку и интеграцию.You can get service-level and instrumentation data like traffic, latency, and integrations. Аналитика также поддерживает отчеты уровня общения для данных пользователя, сообщений и каналов.Analytics also provides conversation-level reporting on user, message, and channel data. Дополнительные сведения см. в разделе о сборе аналитики.For more information, see how to gather analytics.

Дальнейшие действияNext steps

Ознакомьтесь с примерами внедрения ботов или щелкните приведенную ниже ссылку, чтобы сразу приступить к созданию своего бота.Check out these case studies of bots or click on the link below to create a bot.