ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4
В этой статье описывается, как создать первого бота с помощью пакета 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, будут продолжать функционировать.
Для создания нового бота рекомендуется использовать Microsoft Copilot Studio и ознакомиться с выбором подходящего решения copilot.
Дополнительные сведения см. в статье "Будущее создания бота".
Необходимые компоненты
Шаблоны C#
В текущих примерах ботов используются шаблоны .NET Core 3.1.
Чтобы добавить шаблоны ботов в Visual Studio, скачайте и установите шаблоны SDK Bot Framework версии 4 для Visual Studio VSIX.
Примечание.
Вы можете установить шаблоны из Visual Studio.
- В меню выберите "Расширения" и "Управление расширениями".
- В диалоговом окне "Управление расширениями" найдите и установите шаблоны 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. Вам не нужно устанавливать все шаблоны и устанавливать только те, которые вы будете использовать. В этой статье используется шаблон эхо-бота.
Шаблоны Java
Используйте генератор Yeoman для быстрого создания беседного бота ИИ с помощью основных возможностей искусственного интеллекта в Bot Framework версии 4. Дополнительные сведения см. в yeoman.io.
Генератор поддерживает три различных варианта шаблона, как показано ниже.
Template |
Description |
Эхобот |
Хороший шаблон, если вы хотите немного больше, чем "Hello World!", но не намного больше. Этот шаблон обрабатывает самые основные принципы отправки сообщений боту и обработку сообщений ботом, повторяя их пользователю. Этот шаблон создает бот, который просто "отголовает" пользователю все, что пользователь говорит боту. |
Пустой бот |
Хороший шаблон, если вы знакомы с Bot Framework версии 4 и просто хотите базовый скелет проекта. Также хороший вариант, если вы хотите взять пример кода из документации и вставить его в минимальный бот, чтобы узнать. |
Основной бот |
Хороший шаблон, если вы хотите создать расширенные боты, так как он использует многоэтапные диалоги и AZURE AI LUIS для реализации распознавания речи. Этот шаблон создает бот, который может извлекать места и даты для бронирования полета. |
установка Yeoman;
Убедитесь, что вы установили node.js версии 12.10 или более поздней.
Установите последнюю версию npm.
npm install -g npm
Установите Yeoman. Обязательно установите глобально.
npm install -g yo
Установите генератор-botbuilder-java. Обязательно установите глобально.
npm install -g generator-botbuilder-java
Убедитесь, что Yeoman и генератор-botbuilder-java установлены правильно.
yo botbuilder-java --help
Шаблоны 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.
npm install -g windows-build-tools
Создание и включение виртуальной среды
Виртуальная среда — это сочетание определенного интерпретатора 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
команды:
pip install botbuilder-core
pip install asyncio
pip install aiohttp
pip install cookiecutter==1.7.0
Внимание
Если вы используете 32-разрядную версию Python, убедитесь, что вы также используете pip install cryptography==2.8
32-разрядную версию Python.
Создание бота
В Visual Studio создайте проект бота и используйте шаблон Echo Bot (Bot Framework версии 4 — .NET Core 3.1). Чтобы просмотреть только шаблоны ботов, выберите тип проекта AI Bots .
Убедитесь, что установлен .NET Core 3.1 или более поздней версии.
В Visual Studio Code откройте новое окно терминала.
Перейдите в каталог, в котором вы хотите создать проект бота.
Создайте проект эхо-бота с помощью следующей команды. Замените <your-bot-name>
имя, используемое для проекта бота.
dotnet new echobot -n <your-bot-name>
Откройте новое окно терминала.
Перейдите в каталог, в котором вы хотите создать проект бота.
Создайте проект эхо-бота с помощью следующей команды. Замените <your-bot-name>
имя, используемое для проекта бота.
dotnet new echobot -n <your-bot-name>
Благодаря шаблону проект содержит весь необходимый код для создания бота в этом кратком руководстве. Вам больше не нужен код для тестирования бота.
Выполните следующую команду, чтобы создать эхо-бот из шаблонов. Команда использует параметры по умолчанию для параметров.
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 |
Генератор не будет запрашивать подтверждение перед созданием нового бота. Все параметры требования, не переданные в командной строке, будут использовать разумное значение по умолчанию. Этот параметр предназначен для включения автоматического создания ботов для тестирования. |
Благодаря шаблону проект содержит весь код, необходимый для создания бота в рамках этого краткого руководства. Вам не нужен другой код для тестирования бота.
Используйте генератор для создания эхо-бота.
yo botbuilder
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
Благодаря шаблону проект содержит весь код, необходимый для создания бота в рамках этого краткого руководства. Вам не нужен другой код для тестирования бота.
В рабочем каталоге выполните следующую команду, чтобы скачать шаблон эхо-бота и его зависимости:
cookiecutter https://github.com/microsoft/BotBuilder-Samples/releases/download/Templates/echo.zip
Вам будет предложено предоставить боту имя и описание. Введите следующие значения:
- bot_name: echo_bot
- bot_description: бот, который повторяет ответ пользователя.
Запуск бота
В Visual Studio:
- Откройте проект бота.
- Запустите проект без отладки.
- Visual Studio создает приложение, развертывает его в localhost и запускает веб-браузер для отображения страницы приложения
default.htm
.
На этом этапе бот выполняется локально, используя порт 3978.
В Visual Studio Code:
Откройте папку проекта бота.
Если вам будет предложено выбрать проект, выберите его для созданного бота.
В меню выберите "Выполнить" и " Запустить без отладки".
- Если появится запрос на выбор среды, выберите .Net Core.
- Если эта команда обновила параметры запуска, сохраните изменения и повторно запустите команду.
Команда выполнения создает приложение, развертывает его в localhost и запускает веб-браузер для отображения страницы приложения default.htm
.
На этом этапе бот выполняется локально, используя порт 3978.
Из командной строки или терминала:
Измените каталоги на папку проекта для бота.
Используется dotnet run
для запуска бота.
dotnet run
Эта команда создает приложение и развертывает его в localhost.
Веб-страница по умолчанию приложения не отображается, но на этом этапе бот работает локально на порту 3978.
В терминале перейдите в каталог, в котором вы сохранили бота, а затем выполните приведенные ниже команды.
Создайте проект Maven и упаковайте его в файл .jar (архив).
mvn package
Запустите бот локально. Замените архивное имя фактическим именем предыдущей команды.
java -jar .\target\<archive-name>.jar
Теперь вы готовы запустить эмулятор.
В терминале или командной строке перейдите к каталогу, созданному для бота, и запустите бот с помощью npm start
.
cd my-chat-bot
npm start
На этом этапе бот выполняется локально, используя порт 3978.
В командной строке или терминале измените каталоги echo_bot
на .
cd echo_bot
Установите зависимости для шаблона эхо-бота.
pip install -r requirements.txt
После установки зависимостей выполните следующую команду, чтобы запустить бота:
python app.py
Вы узнаете, что бот готов к тестированию, когда появится последняя строка, показанная на снимке экрана ниже:
Скопируйте HTTP-адрес в последней строке. Это потребуется при использовании эмулятора для взаимодействия с ботом.
Запуск эмулятора и подключение к боту
Установите Bot Framework Emulator.
Выберите "Открыть бот" на вкладке приветствия эмулятора.
Введите URL-адрес бота, который является локальным узлом и портом, добавив /api/messages
его в путь. Адрес обычно: http://localhost:3978/api/messages
В этом случае выберите Подключиться.
Отправьте боту сообщение, и бот ответит обратно.
Следующие шаги