Comment créer un chatbot avec Dialogflow Enterprise Edition et Dialogflow API V2

Dans ce didacticiel, nous allons apprendre à créer un chatbot à l'aide de Dialogflow Enterprise Edition et de Dialogflow API V2. Ce didacticiel vient s’ajouter à la liste de didacticiels qui couvre Google Cloud et sa formidable suite de produits et services.

Créer un chatbot avec Dialogflow Enterprise Edition et Dialogflow API V2

À la fin de ce didacticiel, vous comprendrez mieux ce qui suit.

  1. Introduction à Dialogflow
  2. Introduction à Dialogflow Enterprise Edition
  3. Comment créer un agent dans Dialogflow
  4. Compréhension des intentions et des entités
  5. Construire l'agent du service clientèle
  6. Fonctionnalités et fonctions cloud et API Dialogflow V2
  7. Comment créer un agent de service clientèle Chatbot
  8. Stocker les informations sur les billets dans le magasin de données Cloud
  9. Conclusion
  10. Références

Puisque nous avons beaucoup à couvrir dans ce tutoriel, commençons.

1. Introduction à Dialogflow:

Dialogflow est une suite de développement de bout en bout permettant de créer des interfaces de conversation pour les sites Web, les applications mobiles, les plates-formes de messagerie courantes et les appareils IoT. Il peut être utilisé pour créer des chatbots, des assistants vocaux, etc. particulièrement pertinents, capables d’avoir des interactions naturelles et riches avec vos utilisateurs.
Dialogflow s’appuie également sur l’apprentissage automatique de la machine pour reconnaître l’intention et le contexte de ce que dit un utilisateur, ce qui permet à une interface de conversation de fournir des réponses extrêmement efficaces et précises. Donc, au moment de ce tutoriel, Google propose deux versions de Dialogflow.

  • Dialogflow Standard Edition: gratuit pour tous
  • Dialogflow Enterprise Edition: offre Premium et service au fur et à mesure.

2. Introduction à Dialogflow Enterprise Edition:

Dialogflow Enterprise Edition est disponible dans le cadre de Google Cloud Platform (GCP). Il fournit des interactions textuelles et vocales illimitées, des quotas d'utilisation en volume supérieurs et le support de Google Cloud. Dialogflow Enterprise Edition est une offre premium, disponible sous forme de service à la carte.
Dialogflow Enterprise Edition est idéal pour les entreprises ayant besoin d'un service de niveau entreprise pouvant facilement évoluer pour prendre en charge les modifications de la demande des utilisateurs.

3. Comment créer un agent dans Dialogflow Enterprise Edition:

Dans Dialogflow Standard Edition, vous pouvez accéder à dialogflow.com pour créer votre agent. Alors que, pour Dialogflow Enterprise Edition, nous créons d’abord un projet dans la plate-forme Google Cloud et utilisons l’API Dialogflow. Suivez les étapes ci-dessous dans Comment créer un chatbot à l'aide de Dialogflow Enterprise Edition et de Dialogflow API V2.

3.1 Configuration du projet et authentification:

Tout d'abord, nous devons créer un projet Google Cloud Platform à l'aide de https://console.cloud.google.com/.

  • Créez ou sélectionnez un projet GCP existant.
  • Activez l'API Dialogflow V2 pour ce projet.
  • Cliquez sur ACTIVER APIS AND SERVICES
  • Recherchez l'API Dialogflow dans la barre de recherche et cliquez dessus.
  • Allez-y et cliquez sur ACTIVER L'API.
  • 3.2 Créer un agent Dialogflow.
  • Après avoir activé l'API, cliquez sur l'onglet Agent Dialogflow et choisissez un nom d'agent pour votre projet.
  • Nom d'agent
  • La langue
  • Fuseau horaire
  • Cliquez sur le bouton Créer pour créer un agent Dialgflow Enterprise Edition.
  • Par conséquent, pour la suite de notre didacticiel, nous allons créer l'agent que nous avons créé sur GCP à l'aide de dialogflow.com. Alors, cliquez sur l'agent Ouvrir à dialogflow.com
  • Par conséquent, une fois que vous avez cliqué sur le lien, vous devez également choisir votre compte Google. Choisissez le même compte Google avec lequel vous avez créé le projet en premier lieu.
  • Il devrait maintenant vous montrer également une page pour permettre à dialogflow d'afficher et de gérer les données. Enfin, cliquez sur Autoriser.
  • En outre, vérifiez les paramètres du compte et cliquez sur ACCEPTER.
  • Enfin, vous verrez maintenant le tableau de bord Dialgflow et au moment de ce didacticiel, vous pourrez également voir un message disant que «Dialogflow API V2 a été officiellement lancé. C'est désormais l'API par défaut pour tous les nouveaux agents Dialogflow et toutes les nouvelles fonctionnalités ne seront publiées que sur la V2. Apprenez à migrer vos agents V1 ici. ”

3.3 Créer un compte de service.

  • Avant de poursuivre le dialogue, assurons-nous également que quelques éléments supplémentaires sont configurés.
  • Dans la page Comptes de service Google Cloud, sélectionnez votre projet.
  • Vous devriez voir un écran similaire à celui présenté ci-dessous.
  • Téléchargez une clé privée au format JSON.
  • Dans la console GCP, accédez à API et services, puis cliquez sur les informations d'identification.
  • Cliquez sur Créer les informations d'identification et choisissez Clé du compte de service.
  • Sélectionnez votre compte de service dans la liste déroulante, choisissez JSON et cliquez sur Créer. Cela téléchargera la clé JSON sur votre ordinateur. Enregistrez-le en toute sécurité.
  • Définissez la variable d’environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin du fichier JSON contenant la clé de votre compte de service. Ouvrez la fenêtre du terminal ou une invite de commande et exécutez la commande suivante selon votre système d'exploitation.

Exemple: Linux ou macOS

Remplacez [CHEMIN] par le chemin du fichier JSON contenant la clé de votre compte de service.

exporter GOOGLE_APPLICATION_CREDENTIALS = "[CHEMIN]"

Par exemple:

export GOOGLE_APPLICATION_CREDENTIALS = "/ home / utilisateur / Téléchargements / service-account-file.json"

Exemple: Windows

Remplacez [CHEMIN] par le chemin du fichier JSON contenant la clé de votre compte de service et par [FILE_NAME] par le nom du fichier.

Avec invite de commande:

set GOOGLE_APPLICATION_CREDENTIALS = [CHEMIN]

3.4 Installez et initialisez le Cloud SDK.

  • Suivez les instructions comme indiqué dans le document.
  • Enfin, en suivant ces étapes, vous devez obtenir un fichier de clé de compte de service (en JSON) qui vous permettra de vous authentifier auprès de l’API Dialogflow V2 dans ce Quickstart:
  • gcloud auth activate – service – compte - clé – fichier = service – compte – clé – fichier
  • Une fois que vous avez suivi les étapes ci-dessus, vous avez activé les informations d'identification du compte de service.

4. Compréhension des intentions et des entités dans Dialogflow:

Intentions: une intention représente un mappage entre ce que dit l'utilisateur et les actions à prendre par votre logiciel.

Les interfaces d'intention comportent également les sections suivantes:

  • Phrases de formation
  • action
  • Réponse
  • Les contextes

Entités: les entités sont des outils puissants utilisés pour extraire les valeurs de paramètre des entrées en langage naturel. Toutes les données importantes que vous souhaitez obtenir à la demande d’un utilisateur auront une entité correspondante.

Vous comprendrez également mieux les intentions et les entités à mesure que nous passons à la section suivante du didacticiel.

5. Construisez l'agent du service clientèle:

Étant donné que nous construisons un agent de service clientèle, nous devrons également d'abord accueillir le client. Nous pouvons y parvenir grâce à l'intention de bienvenue.

5.1 Bienvenue à l'utilisateur

  • Cliquez sur Welcome Intent.
  • Dans les phrases de formation, ajoutez quelques phrases que vos utilisateurs utiliseraient pour démarrer la conversation.
  • En outre, l'étape suivante consiste à ajouter la réponse appropriée du chatbot pour accueillir l'utilisateur et lui demander une question spécifique.
  • Enfin, cliquez sur Enregistrer l'intention. Vous devriez également voir un message contextuel indiquant que la formation de l'agent est terminée.

5.2 Créer l'intention de soumettre un ticket

  • Cliquez sur CREER INTENT. Cela créera une nouvelle intention dans laquelle vous devrez spécifier un nom pour votre intention. Appelons-le Submit Ticket.
  • Après cela, cliquez sur Training Phrases pour ajouter des phrases indiquant ce qu'un utilisateur pourrait dire.
  • Une fois que vous avez ajouté quelques phrases d'apprentissage avec succès, ajoutons une réponse pour obtenir plus d'informations de la part de l'utilisateur.
  • Cliquez sur Ajouter une réponse et tapez une réponse à quelque chose comme ceci. Sûr! Je peux vous aider avec ça. Veuillez indiquer votre nom pour le billet.
  • Cliquez sur Enregistrer pour enregistrer l'intention de soumission du ticket.

5.3 Créer une intention de suivi pour collecter le nom

  • Pour que nous puissions créer une intention de suivi. Suivez les étapes ci-dessous.
  • Cliquez sur Intentions dans le panneau de navigation de gauche.
  • Passez la souris sur Soumettre l'intention du ticket. Vous verrez s'ajouter l'option d'intention de suivi vers le côté droit.
  • Cela devrait vous donner une liste déroulante. Choisissez Personnalisé dans la liste.
  • Vous devriez maintenant voir une intention de suivi créée. Cliquez sur Submit Ticket - custom.
  • Changeons le nom en quelque chose de logique. Remplacez le nom de l'intention par Submit Ticket - collect name.
  • Ajoutez quelques phrases d'entraînement.
  • "Je suis John"
  • "Mon nom est Sachin"
  • "Am Lucy"
  • Vous pouvez également voir qu'il mettra automatiquement en évidence les noms sous Entities @ sys.given-name.
  • De plus, sous Actions et paramètres, vous devriez voir ce qui suit, comme indiqué ci-dessous.
  • Enfin, ajoutez une réponse pour capturer plus d'informations de l'utilisateur. $ prénom-nom contiendra le nom du client.
  • «Merci $ prénom donné! Quel est ton numéro de téléphone?"
  • Enregistrer l'intention de former l'agent.

5.4 Créer une intention de suivi pour récupérer le numéro de téléphone.

  • Tout d’abord, passez la souris sur Soumettre le ticket - recueillez l’intention du nom. Vous verrez s'ajouter l'option d'intention de suivi vers le côté droit.
  • Cela devrait vous donner une liste déroulante. Choisissez Personnalisé dans la liste.
  • Vous devriez maintenant voir une intention de suivi créée. Cliquez sur Submit Ticket - collect name - custom.
  • Changeons le nom en quelque chose de logique. Remplacez le nom de l'intention par Submit Ticket - collect phone.
  • Ajoutez quelques phrases d'entraînement. Ce ne sont que des échantillons.
  • mon numéro de téléphone est le + 1231232432
  • numéro de portable est +1 234234234
  • +1234324234
  • Changez l'entité de @ sys.number en @ sys.phone-number.
  • Enfin, ajoutez une réponse pour capturer une information supplémentaire de l'utilisateur. $ numéro de téléphone contiendra le nom du client.
  • "Merci! Maintenant, décris ton problème ».
  • Enregistrer l'intention de former l'agent.

5.5 Créer l’intention de suivi pour collecter la description du problème du client.

  • Comme pour les étapes précédentes, créez une intention de suivi appelée Soumettre le ticket - Description de la collecte.
  • Ajoutez quelques phrases d'entraînement. Ce ne sont que des exemples de données à des fins de démonstration.
  • mon téléphone n'arrête pas de redémarrer
  • problème avec wifi
  • Problèmes Bluetooth
  • L'écran ne répond pas.
  • écran gelé
  • Laissez les réponses vides. La raison pour laquelle nous la laissons vide est que nous voulons que les réponses proviennent de notre serveur après avoir capturé toutes les informations de l'utilisateur et généré un numéro de ticket à renvoyer à l'utilisateur.
  • De plus, pour que nous puissions le relier à un serveur ou aux fonctions cloud de ce cas, nous devons permettre les accomplissements.
  • Cliquez sur Fulfilments et activez l'appel webhook pour cette intention.
  • Cliquez sur le bouton Enregistrer pour enregistrer la description de soumission - collecte.

6. Accomplissements et fonctions du nuage:

Fulfilments se compose de Webhook et de Cloud Functions par firebase. Puisque nous essayons de voir comment créer un chatbot avec Dialogflow Enterprise Edition et Dialogflow API V2, nous devons donc en savoir plus sur Webhook ou les fonctions de cloud de Firebase.

Webhook: La configuration d'un webhook vous permet de transmettre des informations provenant d'une intention correspondante à un service Web et d'obtenir un résultat.

Fonctions Cloud par Firebase: pour un test et une implémentation Webhook simples, vous pouvez utiliser la zone Fonctions Cloud pour Firebase de la page Fulfillments. Dans la plupart des cas, le niveau gratuit «Spark» de Firebase est tout ce dont vous aurez besoin. Les limitations de niveaux et les informations de tarification des autres niveaux sont disponibles sur la page de tarification de Firebase.

Autoriser:

  • Cliquez sur Fulfillment dans le menu de gauche.
  • Activez également la bascule pour l'éditeur en ligne.
  • Éditeur en ligne: Vous pouvez utiliser votre propre code ou copier-coller le code ci-dessous dans l'éditeur en ligne.
'use strict';
const http = require ('http');
// Importe la bibliothèque cliente Google Cloud
const Datastore = require ('@ google-cloud / datastore');
// Votre identifiant de projet Google Cloud Platform
const projectId = 'REPLACE_WITH_YOUR_PROJECT_ID';
// instancie un client
const datastore = Datastore ({
  projectId: projectId
});
// Le genre pour la nouvelle entité
const kind = 'ticket';
// Le genre pour la nouvelle entité
const kind = 'ticket';
exports.dialogflowFirebaseFulfillment = (req, res) => {
  console.log ('Corps de la demande de dialogue:' + JSON.stringify (req.body));
  // Obtenir la ville et la date de la demande
  let ticketDescription = req.body.queryResult ['queryText']; // incidence est un paramètre requis
  // let name = req.body.result.contexts [0] .parameters ['prenom.original'];
  let username = req.body.queryResult.outputContexts [1] .parameters ['prenom.original'];
  let phone_number = req.body.queryResult.outputContexts [1] .parameters ['phone-number.original'];
  console.log ('description is' + ticketDescription);
  console.log ('nom est' + nom d'utilisateur);
  console.log ('numéro de téléphone est' + phone_number);
  function randomIntInc (faible, élevée) {
    renvoyer Math.floor (Math.random () * (haut - bas + 1) + bas);
  }
  let ticketnum = randomIntInc (11111,99999);
  // La clé Cloud Datastore pour la nouvelle entité
  const taskKey = datastore.key (genre);
  // prépare la nouvelle entité
  tâche const = {
    clé: taskKey,
    Les données: {
      description: ticketDescription,
      nom d'utilisateur: nom d'utilisateur,
      phoneNumber: phone_number,
      ticketNumber: ticketnum
    }
  };
  console.log ("incidence is", tâche);
  // Enregistre l'entité
  datastore.save (tâche)
  .then (() => {
    console.log (`Saved $ {task.key}: $ {task.data.description}`);
    res.setHeader ('Content-Type', 'application / json');
    // Réponse à envoyer à Dialogflow
    res.send (JSON.stringify ({'omplmentText ': "J'ai enregistré votre ticket avec succès, le numéro du ticket est" + ticketnum + ". Un membre du service d'assistance communiquera avec vous dans les 24 heures."}));
    //res.send (JSON.stringify ({'omplmentText ': "J'ai enregistré votre ticket avec succès, le numéro du ticket est" + ticketnum + ". Une personne du service d'assistance vous contactera dans les 24 heures.", "fillmentMessages" ': "J'ai enregistré votre ticket avec succès, le numéro du ticket est" + ticketnum + ". Une personne du service d'assistance vous contactera dans les 24 heures."}));
  })
  .catch ((err) => {
    console.error ('ERROR:', err);
    res.setHeader ('Content-Type', 'application / json');
    res.send (JSON.stringify ({'speech': "Une erreur s'est produite lors de l'enregistrement, réessayez ultérieurement", 'displayText': "Une erreur s'est produite lors de l'enregistrement, réessayez plus tard"}));
  });
}
  • Remplacez project_id par votre propre identifiant de projet pour la plateforme cloud Google à la ligne 6. Vous devriez trouver l'ID du projet sous Tableau de bord> Informations sur le projet dans la console Google Cloud.
  • Parce que nous allons utiliser Google Cloud Datastore pour stocker les informations de ticket, nous devons ajouter les dépendances nécessaires sous package.json.
  • Copiez le code ci-dessous et ajoutez-le à votre package.json dans l'éditeur en ligne ou ajoutez simplement le code à la ligne 20 pour ajouter la dépendance au datastore dans le cloud.
{
  "name": "dialogflowFirebaseFulfillment",
  "description": "Il s'agit de l'exécution par défaut d'un agent Dialogflow utilisant Cloud Functions pour Firebase",
  "version": "0.0.1",
  "privé": vrai,
  "licence": "Apache Version 2.0",
  "author": "Google Inc.",
  "moteurs": {
    "noeud": "~ 6.0"
  },
  "scripts": {
    "start": "firebase serve --only functions: dialogflowFirebaseFulfillment",
    "deploy": "firebase deploy --only fonctions: dialogflowFirebaseFulfillment"
  },
  "dépendances": {
    "actions-on-google": "2.0.0-alpha.4",
    "firebase-admin": "^ 4.2.1",
    "firebase-functions": "^ 0.5.7",
    "dialogflow": "^ 0.1.0",
    "@ google-cloud / datastore": "^ 1.1.0",
    "dialogflow-accomplissement": "0.3.0-beta.3"
  }
}
  • Cliquez sur le bouton DÉPLOYER pour déployer nos fonctions de cloud.
  • Le déploiement peut prendre quelques secondes.
  • Remarque: Les fonctions cloud ci-dessus sont servies à l'aide des nouvelles API Dialogflow API V2 ou V2. Par conséquent, certains des codes commentés dans le fichier index.js étaient basés sur l'API V1. Cela montre donc combien il est simple de migrer de la V1 à la V2 API dans Dialogflow. Je ferai bientôt un tutoriel séparé sur la migration de l'API V1 vers l'API V2.

7. Comment créer un agent de service clientèle Chatbot:

Enfin, il est temps pour nous de tester notre agent et d’implémenter notre chatbot. Dialogflow nous permet d’intégrer facilement notre agent à plusieurs plates-formes telles que Google Assistant, Facebook Messenger, Slack, le Web, etc.

Pour ce tutoriel, nous verrons comment créer notre agent et l'intégrer à notre propre site Web.

  • Cliquez sur Intégrations dans le menu de navigation de gauche.
  • Activer la démonstration Web
  • Une fenêtre pop-up avec un lien généré apparaîtra.
  • Tout d’abord, cliquez sur le lien pour que votre chatbot tire son épingle du jeu.
  • En conséquence, vous pouvez également utiliser le code d'intégration pour ajouter le chatbot à votre site Web.

8. Stockez les informations sur le ticket dans Google Cloud Datastore:

Enfin, notre chatbot est opérationnel. Le plus remarquable est que si vous passez par les fonctions du cloud, nous capturons les détails suivants sur le client.

  • Capturer les informations client
  • Nom d'utilisateur
  • numéro de téléphone
  • la description

8.1 Stocker les détails dans Google Cloud Datastore:

Nous pouvons également voir les détails que nous avons capturés via notre chatbot dans notre banque de données Google Cloud.

  • Accédez à la console Google Cloud.
  • Cliquez sur le menu de navigation pour afficher les options.
  • Choisissez Banque de données -> Entités.
  • Par conséquent, affichez les données capturées par le Chatbot avec toutes les informations spécifiques.
Google Cloud Datastore avec des informations sur les billets

9. Conclusion

En conclusion, il s’agit d’un long didacticiel couvrant divers aspects de la création d’un chatbot à l’aide de Dialogflow Enterprise Edition et de Dialogflow API V2. En outre, nous avons également appris à capturer les informations de l'utilisateur et à les stocker à l'aide de Google Cloud Datastore. Par conséquent, cela ne fait que gratter la surface et les possibilités de tirer parti des services Dialogflow et Google Cloud sont infinies. J'ai fait de mon mieux pour couvrir ce didacticiel à chaque étape afin que vous puissiez facilement apprendre à développer de telles applications. Dans le prochain didacticiel, nous allons également apprendre à utiliser ceci sous la forme d'assistant Google et à migrer de l'API V1 à l'API V2.

Enfin, on se voit tous dans la prochaine série de tutoriels. Jusque-là, consultez également mes autres messages de didacticiel sur Comment créer une application pour Google Assistant avec Dialogflow Enterprise Edition et Actions sur Google, sur l'analyse des sentiments avec l'API Google Cloud en langage naturel et sur l'analyse d'entité à l'aide de l'API en langage naturel Google Cloud et sur la prise en main de Flutter . Découvrez plus de tutoriels sur techwithsach.com

10. Références:

  • Console Google Cloud
  • En savoir plus sur Dialogflow Enterprise Edition
  • Dialogflow Standard Edition
  • Comment utiliser la nouvelle API Dialogflow V2