Чат бот си шарп

Создание бота с помощью пакета SDK Bot Framework

В этой статье описывается создание первого бота с помощью пакета SDK Bot Framework для C#, Java, JavaScript или Python, а также тестирование бота с помощью Bot Framework Emulator.

Для создания первого бота не требуется подписка Azure или ресурс azure AI Служба Bot. В этом кратком руководстве основное внимание уделяется созданию первого бота локально. Если вы хотите узнать, как создать бота в Azure, см. статью Создание ресурса Azure Bot.

Пакеты SDK для JavaScript и C# для Bot Framework будут по-прежнему поддерживаться, однако поддержка пакетов SDK для Python и Java прекращается, а окончательная долгосрочная поддержка заканчивается в ноябре 2023 г. В этом репозитории будут выполняться только критические исправления ошибок и безопасности.

Существующие боты, созданные с помощью этих пакетов SDK, будут продолжать работать.

Для создания нового бота рассмотрите возможность использования Power Virtual Agents и ознакомьтесь с выбором правильного решения чат-бота.

Дополнительные сведения см. в статье Будущее создания ботов.

Предварительные требования

Шаблоны C#

В текущих примерах ботов используются шаблоны .NET Core 3.1.

Чтобы добавить шаблоны ботов в Visual Studio, скачайте и установите шаблоны пакета SDK Bot Framework версии 4 для Visual Studio VSIX.

Шаблоны можно установить в Visual Studio.

  1. В меню выберите Расширения , а затем Управление расширениями.
  2. В диалоговом окне Управление расширениями найдите и установите шаблоны пакета SDK Bot Framework версии 4 для Visual Studio.

Сведения о развертывании ботов .NET в Azure см. в статье Подготовка и публикация бота.

Шаблоны .NET Core помогут быстро создавать новые диалоговые боты ИИ с помощью Bot Framework версии 4. По состоянию на май 2020 г. для этих шаблонов и генерируемого ими кода требуется .NET Core 3.1 или более поздней версии.

Чтобы установить шаблоны Bot Framework, выполните следующие действия.

  1. Откройте окно консоли.
  2. Скачайте и установите пакет SDK для .NET Core версии 3.1 или более поздней.
  3. С помощью этой команды можно определить, какие версии интерфейса командной строки .NET Core установлены.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot 

Описанные выше действия устанавливают все три шаблона Bot Framework. Вам не нужно устанавливать все шаблоны и можно установить только те, которые вы будете использовать. В этой статье используется шаблон эхо-бота .

  • Java 1.8 или более поздней версии
  • Bot Framework Emulator.
  • Visual Studio Code или любой привычный редактор кода, если вы намерены изменять код бота.
  • Установка Maven
  • Установите node.js версии 12.10 или более поздней.
  • Учетная запись Azure, если вы хотите выполнить развертывание в Azure.

Шаблоны Java

Используйте генератор Yeoman, чтобы быстро создать бота для общения с использованием основных возможностей ИИ в Bot Framework версии 4. Дополнительные сведения см. в разделе yeoman.io.

Генератор поддерживает три различных варианта шаблона, как показано ниже.

Шаблон Описание
Эхо-бот Хороший шаблон, если вы хотите немного больше, чем «Hello World!», но не намного больше. Этот шаблон обрабатывает основные принципы отправки сообщений боту, а бот обрабатывает сообщения, повторяя их пользователю. Этот шаблон создает бота, который просто «перекликается» с пользователем все, что пользователь говорит боту.
Пустой бот Хороший шаблон, если вы знакомы с Bot Framework версии 4 и просто хотите создать базовый базовый проект. Также хороший вариант, если вы хотите взять пример кода из документации и вставить его в минимальный бот для обучения.
Основной бот Хороший шаблон, если вы хотите создать расширенные боты, так как он использует многоэтапные диалоги и AZURE AI LUIS для реализации распознавания речи. Этот шаблон создает бота, который может извлекать места и даты, чтобы забронировать рейс.

Распознавание речи (LUIS) будет прекращена 1 октября 2025 г. Начиная с 1 апреля 2023 г. вы не сможете создавать новые ресурсы LUIS. В составе языка ИИ Azure теперь доступна новая версия распознавания речи.

Распознавание устной речи (CLU), функция языка ИИ Azure, — это обновленная версия LUIS. Дополнительные сведения о поддержке распознавания речи в пакете SDK Bot Framework см. в разделе Распознавание естественной речи.

установка Yeoman;

npm install -g generator-botbuilder-java 
  • Node.js
  • Bot Framework Emulator.
  • навыки разработки для Restify и асинхронного программирования в JavaScript.
  • Visual Studio Code или любой привычный редактор кода, если вы намерены изменять код бота.

Шаблоны JavaScript и TypeScript

Чтобы установить Yeoman и генератор Yeoman для Bot Framework версии 4, выполните следующие действия.

  1. Откройте терминал или командную строку с повышенными привилегиями.
  2. Перейдите в каталог, где вы намерены разместить боты JavaScript. Если такого каталога еще нет, создайте его.
mkdir myJsBots cd myJsBots 
npm install -g npm npm install -g yo 
npm install -g generator-botbuilder 

Примечание Установка Microsoft Build Tools, указанная ниже, требуется только в том случае, если Windows используется как операционная система для разработки. Для некоторых установок шаг установки для restify дает ошибку, связанную с node-gyp . В таком случае попробуйте выполнить следующую команду с дополнительными разрешениями. Этот вызов также может зависать без выхода, если в системе уже установлен Python: Выполните эту команду, только если вы работаете в Windows.

npm install -g windows-build-tools 

Создание и включение виртуальной среды

Виртуальная среда — это сочетание определенного интерпретатора Python и библиотек, которые отличаются от глобальных параметров. Виртуальная среда зависит от проекта и хранится в папке проекта. Преимущество использования виртуальной среды заключается в том, что при разработке проекта с течением времени виртуальная среда всегда отражает точные зависимости проекта. Дополнительные сведения о виртуальных средах см. в статье Создание виртуальных сред.

Перейдите в каталог, в котором вы хотите создать бот. Затем выполните следующие команды для предпочитаемой платформы. После активации виртуального окружения командная строка или терминал должны быть предваряются (venv) . Это позволит узнать, что виртуальная среда активна. Вы можете в любой момент отключить виртуальную среду, введя : deactivate .

python3 -m venv venv source venv/bin/activate 
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 .

Создание бота

В Visual Studio создайте проект бота и используйте шаблон Echo Bot (Bot Framework версии 4 — .NET Core 3.1). Чтобы просмотреть только шаблоны ботов, выберите тип проекта Ai Bots .

Убедитесь, что установлен .NET Core 3.1 или более поздней версии.

  1. В Visual Studio Code откройте новое окно терминала.
  2. Перейдите в каталог, в котором вы хотите создать проект бота.
  3. Создайте новый проект эхо-бота с помощью следующей команды. Замените именем, используемым для проекта бота.

Благодаря шаблону проект содержит весь необходимый код для создания бота из этого краткого руководства. Вам не нужен дополнительный код для тестирования бота.

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

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" 

Генератор поддерживает множество параметров командной строки, которые можно использовать для изменения значений по умолчанию генератора или предварительного заполнения запроса. Параметры чувствительны к регистру.

Параметр командной строки Описание
—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 

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

cookiecutter https://github.com/microsoft/BotBuilder-Samples/releases/download/Templates/echo.zip 
  • bot_name: echo_bot
  • bot_description: бот, который отражает ответ пользователя.

Настройка имени и описания бота Python

Запуск бота

В Visual Studio сделайте следующее:

  1. Откройте проект бота.
  2. Запустите проект без отладки.
  3. Visual Studio создаст приложение, развернет его на localhost и запустит веб-браузер для отображения страницы приложения default.htm .

На этом этапе бот выполняется локально и использует порт 3978.

  1. Откройте папку проекта бота. Если вам будет предложено выбрать проект, выберите проект для созданного бота.
  2. В меню выберите Выполнить, а затем — Запуск без отладки.
    • При появлении запроса на выбор среды выберите .Net Core.
    • Если эта команда обновила параметры запуска, сохраните изменения и повторно выполните команду.

Команда run создает приложение, развертывает его в localhost и запускает веб-браузер для отображения страницы приложения default.htm .

На этом этапе бот выполняется локально и использует порт 3978.

Из командной строки или терминала:

  1. Измените каталоги на папку проекта для бота.
  2. Используйте dotnet run для запуска бота.

Веб-страница приложения по умолчанию не отображается, но на этом этапе бот выполняется локально через порт 3978.

  1. В окне терминала перейдите в каталог, в котором вы сохранили бот, а затем выполните команды, перечисленные ниже.
  2. Выполните сборку проекта Maven и упаковывает его в JAR-файл (архив).

Теперь все готово к запуску эмулятора.

В терминале или командной строке перейдите к каталогу, созданному для бота, и запустите бот с помощью npm start .

На этом этапе бот выполняется локально и использует порт 3978.

pip install -r requirements.txt 

Бот Python, запущенный локально

Вы узнаете, что бот готов к тестированию, когда увидите последнюю строку, показанную на снимке экрана ниже:

  • Скопируйте HTTP-адрес в последней строке. Он понадобится при использовании эмулятора для взаимодействия с ботом.
  • Запуск эмулятора и подключение к боту

    1. Установите Bot Framework Emulator.
    2. Выберите Открыть бот на вкладке Приветствие эмулятора.
    3. Введите URL-адрес бота, который является локальным узлом и портом, добавив /api/messages в путь. Обычно используется адрес: http://localhost:3978/api/messages . Открытие бота
    4. В этом случае выберите Подключиться. Отправьте сообщение боту, и он ответит. эхо-сообщение

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

    • Сведения об отладке с помощью Visual Studio или Visual Studio Code и Bot Framework Emulator см. в статье Отладка бота.
    • Сведения о ngrok см. в разделе Tunneling (ngrok).

    Источник

    Читайте также:  Java public key keystore
    Оцените статью