Maison  >  Article  >  Périphériques technologiques  >  Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

王林
王林avant
2023-04-11 18:34:041810parcourir

Traducteur | Li Rui​

Critique | Sun Shujuan​

Les messagers, services réseau et autres logiciels sont indissociables des robots (bots). Dans le développement de logiciels et d'applications, un bot est une application conçue pour effectuer automatiquement (ou exécuter selon un script prédéfini) des actions créées en réponse aux demandes des utilisateurs. Dans cet article, Daniil Mikhov, développeur .NET​ chez NIX United, présente un exemple de création d'un chatbot à l'aide de Microsoft Azure Bot Services. Cet article sera utile aux développeurs qui souhaitent développer des chatbots à l'aide de ce service.

Pourquoi utiliser Azure Bot Services ? ​

L’avantage du développement de chatbots sur Azure Bot Services est le haut niveau de support de Microsoft pour ses produits. Les experts de l'entreprise communiquent activement avec la communauté technique et identifient et corrigent rapidement les vulnérabilités du service. De plus, Microsoft offre la possibilité de créer des fichiers JSON personnalisés pour fonctionner avec certaines API de Messenger, offrant ainsi aux développeurs de nombreuses possibilités lors de la création de chatbots.

Il est également important de rappeler les autres avantages d'Azure Bot Services :

  • Azure Bot Services permet aux développeurs d'utiliser des outils SDK (Software Development Kits) open source pour créer, tester et déployer des chatbots.
  • L'intégration avec les services cognitifs est un service qui utilise des outils d'apprentissage automatique au travail pour résoudre des tâches typiques. Les services cognitifs assurent un meilleur processus d'interaction entre le chatbot et l'utilisateur.
  • Multi-plateforme fait référence à la possibilité de connecter un chatbot à plusieurs canaux sans changer le code d'origine.
  • Des tonnes d'exemples open source pour faciliter le processus de développement et démarrer rapidement (il existe de nombreux exemples de code prêts à l'emploi sur GitHub).

Les développeurs peuvent étendre l'infrastructure du chatbot sur la plateforme Azure en ajoutant de nouvelles fonctionnalités. Par exemple, vous pouvez ajouter plus de canaux et utiliser chaque canal à des fins de test. Le service Cosmos DB peut être utilisé pour stocker l'état de la conversation et les informations saisies par l'utilisateur. Pour former votre chatbot, vous pouvez ajouter la compréhension du langage (LUIS). Il utilise des algorithmes d'apprentissage automatique pour mieux communiquer avec les utilisateurs. Cependant, LUIS n'est pas gratuit et tous les clients ne souhaitent pas allouer des fonds supplémentaires.

Anatomie du chatbot dans Azure Bot Services​

La structure fonctionnelle d'un chatbot créé sur Azure peut être exprimée comme suit :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

peut être vue à droite connectée à la liste des canaux possibles pour le chatbot. Cette liste sera continuellement mise à jour avec de nouvelles plateformes. En bas se trouvent les services cognitifs Microsoft disponibles sur la plateforme Azure. Ces services permettent de communiquer avec les chatbots via des requêtes vocales, des expressions faciales, des gestes, etc.

Bot Builder SDK est utilisé pour développer des chatbots sur Azure. Le produit est dans le domaine public et son principal avantage réside dans le support continu des développeurs. Dans un fork séparé sur GitHub, vous pouvez obtenir les dernières informations sur le service ou poser des questions à ses développeurs.

Création d'un chatbot​

Avant d'écrire le code, analysez les nuances à prendre en compte avant de créer un chatbot sur Azure Bot Service :

  • Mises à jour pour les fonctionnalités cassées. Microsoft Corporation met constamment à jour ses produits. Les nouvelles mises à jour cassent souvent des parties de code qui fonctionnaient auparavant. Assurez-vous donc de comprendre la liste des correctifs pour les nouvelles versions du SDK Bot Builder, et les autres manuels utilisés pour développer des chatbots peuvent devenir inutiles.
  • Solution peu évidente. Lorsque vous utilisez le SDK Bot Builder, vous devez toujours être ouvert à l’expérimentation et prêt à faire les choses différemment de ce à quoi vous êtes habitué.
  • Polyvalence. Le même chatbot peut être téléchargé sur différents canaux (Telegram, Skype, Slack, etc.) sans modifier le code source. Lors du développement de chatbots, vous devez garder à l'esprit que chaque plate-forme présente des nuances qui obligent les développeurs à adopter une approche différente lors de la création de la logique de fonctionnement de l'application.

(1) Le chatbot peut-il comprendre correctement les questions des gens

La communication avec le chatbot s'effectue via l'interface utilisateur ? L'interface utilisateur permet aux développeurs de communiquer avec le chatbot dans une langue qu'il comprend. À cette fin, Microsoft Azure utilise un système de dialogue qui suit une hiérarchie spécifique :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Vous pouvez voir ici les trois manières de base d'établir une conversation avec un chatbot :

  • Invites – Le chatbot interagit avec les utilisateurs via des invites et des réponses. Par exemple, les informations du chatbot sont fournies sous forme d’invites numériques. L'invite vérifie si l'utilisateur a répondu correctement à l'invite. En cas de succès, la conversation avec le chatbot se poursuivra. Si une réponse incorrecte est reçue de l'utilisateur, il sera invité à saisir des données valides.
  • Waterfall – Waterfall est une méthode de collecte d'informations auprès des utilisateurs à travers une série de tâches/questions consécutives. Chaque étape de la boîte de dialogue en cascade est implémentée en tant que fonction asynchrone. À chaque étape, le chatbot demande à l'utilisateur de saisir des données, attend une réponse, puis transmet les résultats à l'étape suivante. Le résultat de la première fonction est passé en paramètre à la fonction suivante, et ainsi de suite jusqu'à ce que toute la boucle du problème soit passée.
  • Composants – Les composants sont un moyen de diviser une énorme boîte de dialogue en parties plus petites et gérables. Les composants permettent aux développeurs de créer une boîte de dialogue réutilisable et de l'utiliser ultérieurement dans divers scénarios indépendants. Par exemple, vous pouvez l'utiliser pour créer une boîte de dialogue qui demandera à l'utilisateur un nom de rue/adresse/code postal dans l'ordre.

En fin de compte, vous pouvez voir les méthodes autorisées pour créer des requêtes personnalisées pour le chatbot :

  • Requête de texte (Texte)
  • Requête de numéro ( Quantité)
  • Demande de date/heure (Date Heure)
  • Confirmer la demande (Confirmer)
  • Sélectionner la demande (Sélectionner)
  • Demande d'accessoires (Pièce jointe)

Essentiellement, une requête est un dialogue par étapes : dans la première étape, le chatbot demande des données d'entrée Dans la deuxième étape, il les renvoie à l'utilisateur Une valeur valide ; , ou redémarrez la boucle de requête de données si une valeur non valide est reçue.

(2) Contrôleurs et modèles

Ci-dessous, jetez un œil au code de l'exemple de chatbot « Rappelez-moi plus tard » créé par Daniil Mikhov et ses tâches principales. lui de toute action future qu'il devra entreprendre.

Pour créer le chatbot, Mikhov a utilisé le modèle vide fourni par Visual Studio, qui comprend plusieurs types de contrôleurs : BotController et NotifyController.

BotController reçoit des messages pour le chatbot et les transmet au framework chatbot. Chatbot comprend également plusieurs modèles de déploiement pour faciliter le déploiement d'applications sur la plateforme Azure.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Notify Controller détermine quand envoyer un message à l'utilisateur. Cette question sera abordée plus en détail ultérieurement.

(3) Démarrez la fonction et remplissez l'onglet ToDoDialog

Allez dans l'onglet Startup.cs et affichez son contenu. Ici vous pouvez voir le gestionnaire d'erreurs enregistré AdapterWithErrorHandler. Si une erreur se produit dans un programme, la réaction de l'application à l'erreur est nécessaire. Notez l'enregistrement de ConversationState - utilisez-le pour indiquer au chatbot avec quel utilisateur il communique et à quelle étape de la conversation.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Jetons un coup d'œil au contenu de l'onglet ToDoDialog.cs. Mikhov déclare WaterfallSteps, qui est un ensemble d'étapes pour le dialogue en cascade, déjà mentionné ci-dessus. Dans WaterfallSteps, spécifiez quelles fonctions asynchrones sont utilisées à chaque étape pour construire la conversation entre l'utilisateur et le chatbot.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Ci-dessous, vous pouvez voir quel type d'invites de saisie le chatbot utilisera. Le contenu ici est assez standard : le chatbot posera aux gens quelques questions sur l'événement, puis fournira des rappels de planification.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Maintenant, exécutez le chatbot et testez son fonctionnement à l'aide de l'interface Bot Framework Emulator.

(4) Premier lancement et test dans l'émulateur de framework chatbot

Lors de l'exécution de cette application, un lien vers l'URL où le chatbot attendra les messages de l'utilisateur apparaîtra.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Avant de commencer le test, précisez ce lien dans le simulateur du framework chatbot :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Dans la première étape de communication, le chatbot demande à l'utilisateur de saisir le champ requis. nom de l'événement du rappel. Pour ce faire, appelez le code suivant  :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Maintenant, lorsque le chatbot sera appelé, il renverra le texte suivant : Veuillez saisir une description de l'événement. Après avoir déclaré l'événement (comme l'achat de lait) dont vous souhaitez qu'on vous rappelle, appelez le code dans la deuxième étape. Ici, le chatbot proposera l'une des trois options d'heure de rappel :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services.

Faites attention à l'utilisation de stepContext. Il enregistre toutes les informations sur la boîte de dialogue, en enregistrant les valeurs intermédiaires. Pour implémenter une liste d'heures de rappel possibles, ChoicePrompt est utilisé. Cette méthode offrira à l'utilisateur trois options et une heure de rappel possible (2 minutes, 5 minutes ou la même heure le lendemain) . Il aurait pu y avoir plus de choix, mais seuls trois ont été retenus.

En utilisant la sélection pour représenter chaque nouveau temps de sélection, vous pouvez obtenir :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Dans le simulateur du framework chatbot, ce code sera rendu comme ceci :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Vous pouvez utiliser Parse pour analyser les résultats. Pour rappel, le parsing est un processus automatisé de collecte de données et de structuration de celles-ci. Le chatbot demandera alors à l'utilisateur s'il est sûr de l'heure de rappel sélectionnée, en utilisant ConfirmPrompt pour confirmer l'accord :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Visuellement, la méthode ressemble à ceci :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

La dernière étape consiste à retirer les informations précédemment renseignées de stepContext et à générer un SavedNotificationModel, auquel une conversationReference doit être ajoutée. Sans cela, le chatbot ne peut pas reprendre la conversation avec l'utilisateur ni déterminer quel utilisateur a spécifiquement résolu le problème.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Mikhov utilise la méthode du dictionnaire comme référentiel temporaire pour ces événements, grâce à son adoption, le chatbot attribue son instanceId unique à chaque dialogue spécifique :

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Cela mettra fin à la conversation avec le chatbot. Il est possible d'afficher à l'utilisateur un texte indiquant la fin de la boîte de dialogue et de créer une demande de rappel correspondante : "Merci. La notification a été enregistrée avec succès".

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

(5) Comment le chatbot voyage dans le temps ​

Afin de localiser le chatbot dans le temps, Mikhov a créé la méthode notifiedcontroller NotifyTimeCheck(). Cette approche permet d'interroger systématiquement l'application et si un certain événement est sur le point de se produire, le chatbot récupérera l'événement dans le dictionnaire et enverra une notification à l'utilisateur.

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Pour être averti, la méthode ContinueConversationAsync() du BotAdapter est appelée, en lui transmettant la ConversationReference. Le premier paramètre de ContinueConversationAsync() doit toujours être l’appId (ID d’application) du service chatbot, sinon cela ne fonctionnera pas.

De plus, il faut également rappeler au chatbot que lorsqu'une certaine heure arrive, l'événement doit être rappelé à l'utilisateur spécifique. Les développeurs peuvent utiliser la fonction Azure (BotTimerFunction), qui sera déclenchée par un déclencheur temporel (TimerTrigger).

Instructions étape par étape sur la façon de créer un chatbot à l'aide d'Azure Bot Services

Chaque minute, la fonction enverra une requête à ce point de terminaison et commencera à rechercher les événements spécifiés. S'il atteint le délai correct, le chatbot informera l'utilisateur que l'événement programmé est sur le point de se produire.

De nos jours, WhatsApp, Facebook Messenger, Telegram et autres outils de communication ne sont pas seulement des plateformes de communication mais aussi des plateformes d'affaires. Les chatbots aident les entreprises à vendre et à promouvoir efficacement des biens et services en ligne. Automatiser les processus quotidiens, fournir les informations nécessaires sur les produits aux clients en temps opportun, recevoir et traiter les demandes – toutes ces fonctionnalités d'un chatbot correctement configuré aideront à convertir les utilisateurs en clients. Par conséquent, en tant que développeur, vous devez vous rappeler à quel point cet outil est populaire actuellement et à quel point il est cool de pouvoir créer une telle application et ainsi devenir un expert populaire. : 题 Titre original :

Comment créer un chatbot à l'aide d'Azure Bot Service : instructions étape par étape , Auteur : Daniil Mikhov

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer