Créer un bot à l’aide du kit de développement logiciel (SDK) Bot Framework
Article
S’APPLIQUE À : SDK v4
Cet article explique comment créer votre premier bot avec le kit de développement logiciel (SDK) Bot Framework pour C#, Java, JavaScript ou Python, et comment tester votre bot avec Bot Framework Emulator.
La création de votre premier bot ne nécessite pas d’abonnement Azure ni de ressource Azure AI Bot Service. Ce guide de démarrage rapide porte principalement sur la création de votre premier bot localement. Si vous souhaitez apprendre à créer un bot dans Azure, reportez-vous au guide de création de ressource Azure Bot.
Remarque
Les kits SDK JavaScript, C# et Python Bot Framework continueront d’être pris en charge. Toutefois, le kit de développement logiciel (SDK) Java est mis hors service avec une prise en charge finale à long terme se terminant en novembre 2023.
Les bots existants créés avec le kit de développement logiciel (SDK) Java continueront de fonctionner.
Vous pouvez installer les modèles à partir de Visual Studio.
Dans le menu, sélectionnez extensions puis Gérer les extensions.
Dans la boîte de dialogue gérer les extensions, recherchez et installez les modèles kit de développement logiciel (SDK) de Bot Framework v4 pour Visual Studio.
Les modèles .NET Core vous permettront de créer rapidement de nouveaux bots d’IA conversationnels à l’aide de Bot Framework v4.
À partir de mai 2020, ces modèles et le code qu’ils génèrent nécessitent .NET Core 3.1 ou une version ultérieure.
Pour installer les modèles Bot Framework :
Ouvrez une fenêtre de console.
Téléchargez et installez le kit SDK .NET Core 3.1 ou version ultérieure.
Vous pouvez utiliser cette commande pour déterminer quelles versions de l’interface de ligne de commande .NET Core sont installées.
dotnet --version
Installez les trois modèles C# Bot Framework : l’écho, le cœur et les modèles de bot vides.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
Vérifiez que les modèles ont été installés correctement.
dotnet new --list
Remarque
Les étapes ci-dessus installent les trois modèles Bot Framework. Vous n’avez pas besoin d’installer tous les modèles et ne pouvez installer que ceux que vous utiliserez. Cet article utilise le modèle de bot echo.
Un compte Azure si vous souhaitez déployer sur Azure.
Modèles Java
Utilisez le générateur Yeoman pour créer rapidement un bot IA conversationnel à l’aide de fonctionnalités d’IA principales dans Bot Framework v4. Pour en savoir plus, reportez-vous à yeoman.io.
Le générateur prend en charge trois options de modèle différentes, comme indiqué ci-dessous.
Template
Description
Echo Bot
Un bon modèle si vous voulez un peu plus que « Hello World ! », mais pas beaucoup plus. Ce modèle gère les principes de base de l’envoi de messages à un bot et le traitement des messages par le bot en les répétant à l’utilisateur. Ce modèle produit un bot qui « renvoie » simplement à l’utilisateur tout ce que l’utilisateur dit au bot.
Bot vide
Un bon modèle si vous êtes familier avec Bot Framework v4, et que vous voulez simplement un squelette de projet de base. C’est également une bonne option si vous voulez prendre un exemple de code de la documentation et le coller dans un bot minimal afin d’apprendre.
Bot principal
Un bon modèle si vous souhaitez créer des bots avancés, car il utilise des dialogues à plusieurs tours et Azure AI LUIS pour implémenter la compréhension du langage. Ce modèle crée un bot qui peut extraire des lieux et des dates pour réserver un vol.
Compréhension du langage courant (CLU), une fonctionnalité d’Azure AI Language, est la version mise à jour de LUIS.
Pour en savoir plus sur la prise en charge de la compréhension du langage dans le Kit de développement logiciel (SDK) Bot Framework, reportez-vous à Compréhension du langage naturel.
Installer Yeoman
Assurez-vous d’avoir installé node.js 12.10 ou version ultérieure.
Connaissances de restify et de la programmation asynchrone en JavaScript
Visual Studio Code ou votre IDE favori, si vous souhaitez modifier le code de votre bot.
Modèles JavaScript et TypeScript
Pour installer Yeoman et le générateur Yeoman pour Bot Framework v4 :
Ouvrez un terminal ou une invite de commandes avec élévation de privilèges.
Basculez vers le répertoire de vos bots JavaScript. Créez ce répertoire le cas échéant.
mkdir myJsBots
cd myJsBots
Assurez-vous que vous disposez de la dernière version de npm et Yeoman.
npm install -g npm
npm install -g yo
Installez le générateur Yeoman.
Yeoman est un outil permettant de créer des applications. Pour en savoir plus, reportez-vous à yeoman.io.
npm install -g generator-botbuilder
Remarque
L’installation des outils de build Windows listés ci-dessous n’est nécessaire que si vous utilisez Windows comme système d’exploitation de développement.
Pour certaines installations, l’étape d’installation de restify génère une erreur liée à node-gyp.
Si c’est le cas, vous pouvez essayer d’exécuter cette commande avec des autorisations élevées.
Cet appel peut également se bloquer sans quitter si Python est déjà installé sur votre système :
N’exécutez cette commande que si vous êtes sous Windows.
Connaissances relatives à la programmation asynchrone en Python
Créer et activer un environnement virtuel
Un environnement virtuel est une combinaison d’un interpréteur Python spécifique et de bibliothèques différentes de vos paramètres globaux. L’environnement virtuel est spécifique à un projet et conservé dans le dossier de projet. L’un des avantages de l’utilisation d’un environnement virtuel est qu’au fur et à mesure du développement du projet, l’environnement virtuel reflète toujours les dépendances exactes du projet. Pour en savoir plus sur les environnements virtuels, reportez-vous à Création d’environnements virtuels.
Naviguez jusqu’au répertoire dans lequel vous souhaitez créer votre bot. Exécutez ensuite les commandes suivantes pour la plate-forme de votre choix. Une fois que vous avez activé votre environnement virtuel, votre ligne de commande/terminal doit être précédée de (venv). Vous pouvez ainsi savoir que l’environnement virtuel est actif. Vous pouvez désactiver votre environnement virtuel à tout moment en saisissant : deactivate.
macOS/Linux
python3 -m venv venv
source venv/bin/activate
Windows
python -m venv venv
venv\Scripts\activate.bat
Modèles Python
Installez les packages nécessaires en exécutant les commandes pip install suivantes :
Dans Visual Studio, créez un projet de bot et utilisez le modèle Echo Bot (Bot Framework v4 – .NET Core 3.1). Pour ne voir que les modèles de bot, choisissez le type de projet Bots avec IA.
Assurez-vous d’installer .NET Core 3.1 ou version ultérieure.
Dans Visual Studio Code, ouvrez une nouvelle fenêtre de terminal.
Reportez-vous au répertoire dans lequel vous souhaitez créer votre projet de bot.
Créez un nouveau projet de bot d’écho à l’aide de la commande suivante. Remplacez <your-bot-name> par le nom à utiliser pour votre projet de bot.
dotnet new echobot -n <your-bot-name>
Ouvrez une nouvelle fenêtre de terminal.
Reportez-vous au répertoire dans lequel vous souhaitez créer votre projet de bot.
Créez un nouveau projet de bot d’écho à l’aide de la commande suivante. Remplacez <your-bot-name> par le nom à utiliser pour votre projet de bot.
dotnet new echobot -n <your-bot-name>
Grâce au modèle, votre projet contient tout le code nécessaire pour créer le bot de ce guide de démarrage rapide. Vous n’avez pas besoin de code supplémentaire pour tester votre bot.
Exécutez la commande suivante pour créer un bot écho à partir de modèles. La commande utilise les options par défaut pour ses paramètres.
yo botbuilder-java -T "echo"
Yeoman vous invite à entrer des informations afin de créer votre bot. Pour ce didacticiel, utilisez les valeurs par défaut.
? 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"
Le générateur prend en charge de nombreuses options de ligne de commande que vous pouvez utiliser pour modifier les paramètres par défaut du générateur ou pour prédéfinir une invite. Les options respectent la casse.
Option de ligne de commande
Description
--help, -h
Liste des textes d’aide pour toutes les options de ligne de commande prises en charge
--botName, -N
Nom donné au projet de bot
--packageName, -P
Nom du package Java à utiliser pour le bot
--template, -T
Le modèle utilisé pour générer le projet. Options : echo, empty, core. Pour en savoir plus sur les différents modèles, reportez-vous au référentiel GitHub pour votre langage, C#, JavaScript, Python ou Java.
--noprompt
Le générateur ne demandera pas de confirmation avant de créer un nouveau bot. Toute option d’exigence non transmise sur la ligne de commande utilisera une valeur par défaut raisonnable. Cette option est destinée à permettre la génération automatique de bots à des fins de test.
Grâce au modèle, votre projet contient tout le code nécessaire pour créer le bot dans ce guide de démarrage rapide. Vous n’avez pas besoin d’un autre code pour tester votre bot.
Yeoman vous invite à entrer des informations afin de créer votre bot. Pour ce didacticiel, utilisez les valeurs par défaut.
? 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
Grâce au modèle, votre projet contient tout le code nécessaire pour créer le bot dans ce guide de démarrage rapide. Vous n’avez pas besoin d’un autre code pour tester votre bot.
Cliquez sur Ouvrir le bot sous l’onglet Accueil de l’émulateur.
Saisissez l’URL de votre bot, qui est votre hôte local et le port, et ajoutez /api/messages au chemin d’accès. L’adresse est généralement http://localhost:3978/api/messages.
Sélectionnez Connecter.
Envoyez un message à votre bot, et le bot vous répondra.