В этой статье описывается, как создать первого бота с помощью пакета SDK Bot Framework для C#, Java, JavaScript или Python и как протестировать бота с помощью эмулятора Bot Framework.
Для создания первого бота не требуется подписка Azure или ресурс Azure AI Служба Bot. В этом кратком руководстве основное внимание уделяется созданию первого бота локально. Если вы хотите узнать, как создать бота в Azure, см. статью "Создание ресурса Azure Bot".
Примечание.
Пакеты SDK для JavaScript, C# и Python для Bot Framework по-прежнему будут поддерживаться, однако пакет SDK java отменяется с окончательной долгосрочной поддержкой, заканчивающейся в ноябре 2023 года.
Существующие боты, созданные с помощью пакета SDK для Java, будут продолжать функционировать.
В меню выберите "Расширения" и "Управление расширениями".
В диалоговом окне "Управление расширениями" найдите и установите шаблоны SDK Bot Framework версии 4 для Visual Studio.
Сведения о развертывании ботов .NET в Azure см. в статье о подготовке и публикации бота.
Шаблоны .NET Core помогут вам быстро создавать новые боты искусственного интеллекта для общения с помощью Bot Framework версии 4.
По состоянию на май 2020 г. эти шаблоны и код, которые они создают, требуют .NET Core 3.1 или более поздней версии.
Чтобы установить шаблоны Bot Framework, выполните следующие действия.
Откройте окно консоли.
Скачайте и установите пакет SDK для .NET Core версии 3.1 или более поздней.
Эту команду можно использовать для определения версий интерфейса командной строки .NET Core.
dotnet --version
Установите три шаблона Bot Framework C#: эхо, ядро и пустые шаблоны ботов.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
Убедитесь, что шаблоны установлены правильно.
dotnet new --list
Примечание.
Описанные выше действия устанавливают все три шаблона Bot Framework. Вам не нужно устанавливать все шаблоны и устанавливать только те, которые вы будете использовать. В этой статье используется шаблон эхо-бота.
Установите node.js версии 12.10 или более поздней.
Учетная запись Azure, если вы хотите развернуть в Azure.
Шаблоны Java
Используйте генератор Yeoman для быстрого создания беседного бота ИИ с помощью основных возможностей искусственного интеллекта в Bot Framework версии 4. Дополнительные сведения см. в yeoman.io.
Генератор поддерживает три различных варианта шаблона, как показано ниже.
Template
Description
Эхобот
Хороший шаблон, если вы хотите немного больше, чем "Hello World!", но не намного больше. Этот шаблон обрабатывает самые основные принципы отправки сообщений боту и обработку сообщений ботом, повторяя их пользователю. Этот шаблон создает бот, который просто "отголовает" пользователю все, что пользователь говорит боту.
Пустой бот
Хороший шаблон, если вы знакомы с Bot Framework версии 4 и просто хотите базовый скелет проекта. Также хороший вариант, если вы хотите взять пример кода из документации и вставить его в минимальный бот, чтобы узнать.
Основной бот
Хороший шаблон, если вы хотите создать расширенные боты, так как он использует многоэтапные диалоги и AZURE AI LUIS для реализации распознавания речи. Этот шаблон создает бот, который может извлекать места и даты для бронирования полета.
Распознавание речи (CLU) — это обновленная версия LUIS.
Дополнительные сведения о поддержке распознавания речи в пакете SDK Bot Framework см. в разделе "Распознавание естественного языка".
установка Yeoman;
Убедитесь, что вы установили node.js версии 12.10 или более поздней.
навыки разработки для Restify и асинхронного программирования в JavaScript.
Visual Studio Code или любой привычный редактор кода, если вы намерены изменять код бота.
Шаблоны JavaScript и TypeScript
Чтобы установить Yeoman и генератор Yeoman для Bot Framework версии 4:
Откройте терминал или командную строку с повышенными привилегиями.
Перейдите в каталог, где вы намерены разместить боты JavaScript. Если такого каталога еще нет, создайте его.
mkdir myJsBots
cd myJsBots
Убедитесь, что у вас есть последние версии npm и Yeoman.
npm install -g npm
npm install -g yo
Установите генератор Yeoman.
Yeoman — это средство для создания приложений. Дополнительные сведения см. в yeoman.io.
npm install -g generator-botbuilder
Примечание.
Установка Microsoft Build Tools, указанная ниже, требуется только в том случае, если Windows используется как операционная система для разработки.
Для некоторых установок шаг установки для restify дает ошибку, связанную с node-gyp.
В таком случае попробуйте выполнить следующую команду с дополнительными разрешениями.
Этот вызов также может зависать без выхода, если Python уже установлен в вашей системе:
Выполните эту команду, только если вы находитесь в Windows.
Виртуальная среда — это сочетание определенного интерпретатора Python и библиотек, отличающихся от глобальных параметров. Виртуальная среда зависит от проекта и сохраняется в папке проекта. Преимущество использования виртуальной среды заключается в том, что при разработке проекта с течением времени виртуальная среда всегда отражает точные зависимости проекта. Дополнительные сведения о виртуальных средах см. в статье "Создание виртуальных сред".
Перейдите в каталог, в котором вы хотите создать бота. Затем выполните следующие команды для предпочтительной платформы. После активации виртуальной среды командная строка или терминал должны быть предопределены.(venv) Это позволяет знать, что виртуальная среда активна. Вы можете отключить виртуальную среду в любое время, введя следующее deactivate:
macOS/Linux
python3 -m venv venv
source venv/bin/activate
Windows
python -m venv venv
venv\Scripts\activate.bat
Шаблоны Python
Установите необходимые пакеты, выполнив следующие pip install команды:
В Visual Studio создайте проект бота и используйте шаблон Echo Bot (Bot Framework версии 4 — .NET Core 3.1). Чтобы просмотреть только шаблоны ботов, выберите тип проекта AI Bots .
Выполните следующую команду, чтобы создать эхо-бот из шаблонов. Команда использует параметры по умолчанию для параметров.
yo botbuilder-java -T "echo"
Yeoman запросит некоторые сведения для создания бота. Для задач в этом руководстве используйте значение по умолчанию.
? What's the name of your bot? (echo)
? What's the fully qualified package name of your bot? (com.mycompany.echo)
? Which template would you like to start with? (Use arrow keys) Select "Echo Bot"
? Looking good. Shall I go ahead and create your new bot? (Y/n) Enter "y"
Генератор поддерживает множество параметров командной строки, которые можно использовать для изменения значений по умолчанию генератора или предварительного заполнения запроса. Параметры чувствительны к регистру.
Параметр командной строки
Description
--help, -h
Вывод текста справки для всех поддерживаемых параметров командной строки
--botName, -N
Имя, заданное проекту бота
--packageName, -P
Имя пакета Java, используемое для бота
--template, -T
Шаблон, используемый для создания проекта. Доступны следующие параметры: echo, empty и core. Дополнительные сведения о различных шаблонах см. в репозитории GitHub для вашего языка, C#, JavaScript, Python или Java.
--noprompt
Генератор не будет запрашивать подтверждение перед созданием нового бота. Все параметры требования, не переданные в командной строке, будут использовать разумное значение по умолчанию. Этот параметр предназначен для включения автоматического создания ботов для тестирования.
Благодаря шаблону проект содержит весь код, необходимый для создания бота в рамках этого краткого руководства. Вам не нужен другой код для тестирования бота.
Yeoman запросит некоторые сведения для создания бота. Для задач в этом руководстве используйте значение по умолчанию.
? What's the name of your bot? my-chat-bot
? What will your bot do? Demonstrate the core capabilities of the Microsoft Bot Framework
? What programming language do you want to use? JavaScript
? Which template would you like to start with? Echo Bot - https://aka.ms/bot-template-echo
? Looking good. Shall I go ahead and create your new bot? Yes
Благодаря шаблону проект содержит весь код, необходимый для создания бота в рамках этого краткого руководства. Вам не нужен другой код для тестирования бота.