Créer, modifier et publier un bot sur Azure

Brouillon

À venir

0 commentaire

Le Bot Service (Preview) est mort, vive le Bot Service. Depuis le 13 décembre, le Bot Service est passé en General Availability sur Azure.

L’Azure Bot Service permet de créer 3 types de projets :

Web App Bot Crée un environnement intégré destiné au développement de bots dans une Web App dont le code est éditable et publiable dans Visual Studio.

Ce genre de bots est lié à un App Service plan dont le coût est prévisible.

Bot Channels Registration Permet d’enregistrer sur les canaux de discussions proposés par le Bot Service des bots créés avec le Bot Framework qui ne sont pas hébergés sur Azure.
Functions Bot Permet le développement de bots intelligents s'exécutant dans un environnement serverless dont le code est uniquement éditable dans Azure.

Ce genre de bots est lié par défaut à un Consumption plan dont le coût est lié à la charge d’utilisation. L’avantage est qu’il s’adapte automatiquement à la demande. Il est quand même possible de l’associer lier à un App Service plan.

Nous allons voir comment créer une Web App Bot depuis Azure, récupérer son code source puis le publier dans Azure à partir de Visual Studio.

Pour commencer, il faut que vous ayez un abonnement Azure actif (offre d’essai, abonnement MPN, paiement à l’utilisation).

Créer un bot dans Azure

Dans le menu principal du portail Azure, cliquez sur Nouveau > AI + Cognitives Services > Web App Bot

Donnez un nom à votre bot, qui sera le nom d'affichage du bot qui apparaitra dans les canaux. Ce nom peut être changé à tout moment.

Le Nom de l’application permet de créer l'URL unique du bot. Dans notre exemple, ce sera http://SofteeBotService.azurewebsites.net. Il doit utiliser uniquement des caractères alphanumériques, est limité à 35 caractères et ne peut pas être modifié une fois le bot créé.

Le modèle de bot Basic (C#) est sélectionné par défaut, c’est celui que nous utiliserons pour la suite de cet article.

Il est également possible d’utiliser Node.js à la place du C# et les différents modèles de bot proposés sont :

Basic Bot ne contenant qu’un seul dialogue qui renvoie l'entrée de l'utilisateur
Form Bot montrant comment collecter des entrées d'un utilisateur à l’aide d’une conversation guidée utilisant FormFlow
Language understanding Bot montrant comment traîter le langage naturel en utilisant l'API LUIS de Cognitive Services
Question and Answer Bot distillant des informations dans des réponses en langage courant
Proactive Bot montrant comment utiliser les Azure Functions pour déclencher des évènements dans les bots Azure

Il n’y a plus qu’à cliquer sur le bouton Créer pour lancer le déploiement dans Azure, ce qui va :

  • créer une solution Visual Studio avec un projet de type application Web ASP.NET contenant le code correspondant au modèle de bot choisi
  • enregistrer le bot et générer son App ID et son App Password dans Azure AD v2.0
  • publier le bot dans le canal Web Chat

Tour d’horizon des principaux panneaux de contrôle du bot

Build Éditer le code source en ligne

Télécharger le code source pour l’éditer dans Visual Studio et le publier depuis Visual Studio

Configurer le déploiement continu à partir d’un service contrôle de code source : Visual Studio Team Services, OneDrive, Référentiel Git Local, GitHub, Bitbucket, Dropbox ou un référentiel externe

Test in Web Chat Permet de tester le bot avec le canal Web Chat
Analytique Affiche les statistiques d’utilisation par canal de messagerie
Canaux Connecter le bot à des canaux de messagerie
  • Skype, Bing, Cortana, Teams, Skype for business
  • Facebook Messenger, GroupMe, Kik, Slack, Telegram, Twilio (SMS)
  • Email, Web Chat, Direct Line
Paramètres Modifier les paramètres Web App Bot : icône, nom d’affichage dans les canaux, Analytics via Azure Application Insights
Speech priming Liaison avec des applications LUIS

Et vous pouvez aussi retrouver les informations d’enregistrement de l’application sur l’Application Registration Portal.

Les canaux ne s’affichent pas

Au moment où cet article a été écrit, le panneau Canaux ne s’affichait pas…en français.

Pour voir son contenu, il faut configurer votre portail Azure en anglais.

Et voilà

Publier le bot depuis Visual Studio

Maintenant, nous allons voir comment publier le bot à partir de Visual Studio. Pour cela, il est nécessaire de télécharger le code source du bot depuis l’onglet Build de votre Bot Service.

La première chose à faire est de modifier le fichier Web.Config afin d’y ajouter l’App ID et le mot de passe associé.

<configuration>
  <appSettings>
    <!-- update these with your Microsoft App Id and your Microsoft App Password-->
    <add key="MicrosoftAppId" value="fa227afe-25b8-4f0c-aabf-7df182978b98" />
    <add key="MicrosoftAppPassword" value="●●●●●●●●●●●●●●●●" />
  </appSettings>
  ...
</configuration>

Ensuite, il faut configurer la publication Visual Studio. Pour cela, faire un clic droit sur le projet et cliquer sur l’élément Publier….

Azure a déjà configuré un profil de publication mais celui-ci ne fonctionne pas, dans ce cas, supprimez le.

Ici, importez le bon profil de publication qui se trouve dans le dossier PostDeployScripts de la solution Visual Studio.

Après l’importation, vous pouvez valider la connexion. Si tout est OK, cliquez sur Publier.

Une fois la publication terminée, retournez dans le portail Azure pour tester votre bot qui est maintenant complètement fonctionnel.

N’hésitez surtout pas à ajouter votre bot à vos contacts Skype !

Et voilà, il ne vous reste plus qu’à le personnaliser encore un peu plus et le rendre intelligent avec l’API Cognitive Services LUIS.

Sébastien Gissinger

Passionné par le code avec la sortie de la TI-89 en 1998, j'ai fait un BTS en Informatique de Gestion option développeur bien sûr ! J'ai terminé mon cursus avec un Master 2 MIAGE option Ingénierie des Systèmes d'Information Distribués.

Profil de l'auteur