Table des matières:

Créer des actions personnalisées pour Google Assistant : 12 étapes
Créer des actions personnalisées pour Google Assistant : 12 étapes

Vidéo: Créer des actions personnalisées pour Google Assistant : 12 étapes

Vidéo: Créer des actions personnalisées pour Google Assistant : 12 étapes
Vidéo: Comment se Créer un PLAN d'ACTION efficace (dans n'importe quel domaine) 2024, Juillet
Anonim
Image
Image
Définir les autorisations de votre compte Google
Définir les autorisations de votre compte Google

Voyant le potentiel de Google Assistant tel qu'il était présenté dans Google I/O 18 ainsi que Volvo Cars dans leur système d'infodivertissement, je n'ai pas pu résister à l'essayer. J'ai réutilisé l'un de mes anciens projets, VasttraPi et l'ai interfacé avec Google Assistant. Si vous souhaitez en savoir plus sur le projet, je serais ravi que vous consultiez l'article associé sur mon blog: Actions personnalisées pour Google Assistant.

Dans ce Instructable, nous passons en revue les étapes nécessaires pour lancer votre propre action Google Assistant qui communiquera avec votre serveur et vous répondra, en répertoriant les départs à venir. Gardez à l'esprit que nous n'allons pas utiliser le SDK car nous l'exécutons entièrement dans Google Assistant et non dans notre propre appareil. Dans l'ensemble, cela restera simple. Votre action sera utilisable sur les appareils prenant en charge Google Assistant tels que les téléphones, les tablettes, les assistants à domicile et les appareils portables et vous pourrez même la partager comme vous le feriez avec une application sur le Play Store !

L'un des principaux avantages de créer quelque chose comme celui-ci par rapport à l'utilisation de services tels que IFTTT est que vous pouvez créer des réponses personnalisées sur votre serveur qui seront lues par Google Assistant. Dans IFTTT, la communication est pour moi à sens unique.

Les sujets suivants seront abordés:

  • Créer votre premier projet Action
  • Création de votre intention personnalisée
  • Création de votre entité personnalisée
  • Paramétrer un webhook pour réaliser votre action
  • Mise en place d'un serveur REST simple, écrit en Python avec Flask, qui fournira les réponses ou "fulfillment"
  • Tester votre projet Action
  • Libérer votre projet Action

Ici, vous ne trouverez pas beaucoup de détails ou de théorie sur les différentes fonctions et concepts de Google Assistant. Si elles vous intéressent, je vous suggère fortement de suivre le tutoriel officiel ou de regarder cette vidéo.

Étape 1: Définissez les autorisations de votre compte Google

Avant de commencer, nous devons nous assurer que Google Assistant dispose des autorisations appropriées.

  1. Accédez aux contrôles d'activité
  2. Assurez-vous que les éléments suivants sont activés:

    1. Activité sur le Web et les applications
    2. Informations sur l'appareil
    3. Activité vocale et audio

Étape 2: Créez votre action

Créez votre action
Créez votre action
Créez votre action
Créez votre action
  1. Allez dans Actions Console et cliquez sur "Ajouter/importer un projet"
  2. Appelons ce projet Actions "local-traffic-planner".
  3. Cliquez sur "Créer un projet".
  4. Sur la page suivante, ne choisissez pas de catégorie et cliquez sur « Ignorer ».
  5. Vous devriez maintenant être dans la page principale de la console d'actions.

Étape 3: Appel d'action

Appel d'action
Appel d'action
Appel d'action
Appel d'action

Déterminez comment vous souhaitez déclencher l'Assistant Google pour démarrer votre action.

  1. Cliquez sur "Décidez comment votre action est invoquée" sous "Configuration rapide".
  2. Appelez-le "Mon planificateur de trafic local" et cliquez sur "Enregistrer".
  3. Cliquez sur l'invite « MISE À JOUR DES ÉCHANTILLONS D'INVOCATIONS » qui s'affiche après avoir cliqué sur Enregistrer.

    Vous pouvez également trouver cette option sous « Informations sur le répertoire »

  4. Ajoutez "Demander à mon planificateur de trafic local" comme nouvelle invocation et cliquez sur "Enregistrer".

Étape 4: Ajoutez votre première action

Ajoutez votre première action
Ajoutez votre première action
Ajoutez votre première action
Ajoutez votre première action
  1. Cliquez sur "Actions" dans la barre de gauche.
  2. Cliquez sur "AJOUTER VOTRE PREMIÈRE ACTION".
  3. Sélectionnez "Intention personnalisée" puis cliquez sur "Créer".
  4. Vous serez redirigé vers la page Dialogflow où vous implémenterez la logique principale.

Étape 5: Phrases de formation pour votre intention

Phrases de formation pour votre intention
Phrases de formation pour votre intention
  1. Choisissez votre fuseau horaire et cliquez sur "Créer".
  2. Sur la page suivante, laissez les intentions existantes et cliquez sur "CREATE INTENT".
  3. Donnez à l'intention un nom raisonnable, c'est-à-dire « départs ».
  4. Allez dans "Phrases d'entraînement" et cliquez sur "Ajouter des phrases d'entraînement".
  5. Utilisez les phrases suivantes pour entraîner votre modèle afin qu'il puisse interpréter ce que vous lui dites:

    1. je suis à la maison en ce moment
    2. Pour le moment je suis chez moi
    3. je suis dans notre appartement en ce moment
    4. je suis assis à la maison
    5. Actuellement je suis près du travail
    6. je suis au travail
    7. je suis au bureau
    8. Travail
    9. Accueil

Étape 6: Entités

Entités
Entités
Entités
Entités

Maintenant que vous avez spécifié ce qui devrait être plus ou moins attendu comme entrée, nous devons définir quelles parties de l'entrée présentent un intérêt pour notre logique métier afin qu'elles puissent être extraites et mises en évidence sur notre serveur. Dans notre cas, nous voulons savoir si l'utilisateur est à la maison ou au travail, afin de pouvoir répondre avec les départs de la gare spécifique. Voyons comment nous pouvons le faire.

  1. Si vous double-cliquez sur un ou plusieurs mots des phrases d'entraînement, vous obtiendrez une liste d'entités prédéfinies. Vous pouvez en savoir plus sur chacune d'entre elles ici. Dans l'ensemble, le plus approprié serait @sys.location mais je pense qu'il est préférable et plus simple de créer notre propre entité que nous devrions appeler @current-location.
  2. Cliquez sur l'option "Entités" sur le côté gauche.
  3. Cliquez sur "CRÉER UNE ENTITÉ".
  4. Définissez le nom sur "current-location" et définissez deux valeurs de référence ainsi que leurs synonymes:

    1. domicile

      maison, maison, appartement, berceau

    2. travail

      travail, bureau, Aptiv, code mines (lol je plaisante)

  5. Cliquez sur "Enregistrer. Pour un effet supplémentaire, vous pouvez également cliquer sur "Autoriser l'expansion automatisée" pour donner à Google Assistant davantage de libertés pour essayer de faire correspondre plus de synonymes avec vos valeurs de référence.

Étape 7: Action et paramètres

Action et paramètres
Action et paramètres
Action et paramètres
Action et paramètres
Action et paramètres
Action et paramètres
Action et paramètres
Action et paramètres

Il est temps de donner un sens aux mots-clés contenus dans vos phrases d'entraînement.

  1. Cliquez sur « Intents », puis accédez à votre Intent personnalisé, c'est-à-dire « départs » si vous avez suivi mes suggestions de noms.
  2. Faites défiler jusqu'à "Phrases d'entraînement".
  3. Double-cliquez sur les mots qui indiquent votre emplacement actuel et choisissez la balise @current-location dans la fenêtre contextuelle.
  4. Faites défiler jusqu'à "Actions et paramètres", cliquez sur "gérer"
  5. Si tout a été fait correctement, vous verrez votre nouvelle entité y être répertoriée.
  6. Cochez la case "Obligatoire" qui fait apparaître une nouvelle colonne, "Invites". Les invites sont ce que l'utilisateur doit entendre si rien qui correspond à l'attente n'a été fourni.
  7. Cliquez sur "Définir les invites" et insérez quelque chose comme "Je n'ai pas compris votre position. Où êtes-vous en ce moment ?".

Étape 8: Accomplissement

Accomplissement
Accomplissement
Accomplissement
Accomplissement
Accomplissement
Accomplissement

Il est maintenant temps de connecter votre service Web à l'action de l'assistant Google. Votre hook sera appelé lorsque cette intention spécifique sera déclenchée et devrait produire l'accomplissement de cette action. Avant cela, nous voulons également définir notre intention de conclure l'action après avoir été accomplie.

  1. Allez dans "Réponses" et cliquez sur "AJOUTER UNE RÉPONSE".
  2. N'ajoutez aucune réponse, activez simplement "Définir cette intention comme fin de conversation".
  3. Faites défiler jusqu'à « Fulfillment », cliquez sur « ENABLE FULFILLMENT », puis activez « Activer l'appel webhook pour cette intention ».
  4. Cliquez sur « Enregistrer », puis accédez à l'option « Exécution » sur le côté gauche.
  5. Activez l'option "Webhook" et insérez l'URL qui est "écoutée" par votre serveur Web.

    Chaque fois que l'intention est déclenchée, elle enverra une requête POST à votre site Web avec le corps de la requête contenant un objet JSON avec l'emplacement actuel de l'utilisateur

  6. Cliquez sur Enregistrer.
  7. Nous sommes maintenant prêts à créer notre service web, mais avant cela, assurons-nous que notre Action nous accueille de manière appropriée.

Étape 9: Intention de bienvenue

Intention de bienvenue
Intention de bienvenue
Intention de bienvenue
Intention de bienvenue

Afin de personnaliser l'expérience utilisateur, nous devons créer un message d'accueil approprié pour nous chaque fois que nous déclenchons notre action.

  1. Allez dans "Intents" puis cliquez sur "Default Welcome Intent".
  2. Faites défiler jusqu'à "Réponses", supprimez celles qui existent et insérez ce que vous voulez que votre action vous accueille une fois qu'elle est initiée.
  3. Cliquez sur "Enregistrer".

Étape 10: votre service Web Python

Votre service Web Python
Votre service Web Python

Créons un serveur Python rapide et sale en utilisant Flask. Pas de captures d'écran pour cette étape, mais cela devrait être assez simple.

  1. Ouvrez un nouvel onglet et créez un compte sur pythonanywhere.com
  2. Vérifiez votre e-mail.
  3. Configurez votre application Web en cliquant sur "Ouvrir l'onglet Web".
  4. Cliquez sur "Ajouter une nouvelle application Web" et sélectionnez "Flask" comme framework Web Python.
  5. Sélectionnez Python 3.6 et cliquez sur "Suivant".
  6. Choisissez le chemin dans lequel vous voulez que votre "flask_app.py" réside. Je l'ai placé directement dans mon dossier de départ en tant que "/home/votre-nom d'utilisateur/flask_app.py".
  7. Retournez à la page principale en cliquant sur le logo Python dans le coin supérieur gauche.
  8. Sous fichiers, cliquez sur "flask_app.py" pour commencer à l'éditer.
  9. Lorsque l'éditeur de texte Web s'ouvre, collez le code suivant et cliquez sur "Enregistrer". L'idée générale est qu'en fonction du JSON analysé provenant de Google Assistant, notre serveur effectuera une action (par exemple, lire ou écrire) et le rapportera en tant que réponse. /fulfillment qui doit être lu à l'utilisateur.
  10. Cliquez à nouveau sur « Ouvrir l'onglet Web » puis sur le bouton vert « Recharger ».
  11. À présent, vous devriez avoir votre propre serveur Web Python exécuté à l'adresse "https://your-username.pythonanywhere.com/departures".

Étape 11: Testez votre action

Testez votre action
Testez votre action
Testez votre action
Testez votre action
Testez votre action
Testez votre action
Testez votre action
Testez votre action

OK, vous avez à peu près terminé. Testons maintenant toute la pile et faisons fonctionner cet exemple "Hello world" !

  1. Cliquez sur « Intégrations » dans la barre latérale gauche.
  2. Cliquez sur "Paramètres d'intégration" sous l'option Google Assistant.
  3. Sous "Invocation implicite, ajoutez le nom de votre intention, c'est-à-dire "départs" afin qu'il puisse être déclenché directement en disant quelque chose comme "Hey Google, parle à mon planificateur de trafic local des départs de la maison".
  4. Activez les modifications "Aperçu automatique".
  5. Cliquez sur "Test" qui ouvrira une nouvelle page.
  6. Tapez "Parler à mon planificateur de trafic local".
  7. Votre action doit être invoquée, ce qui devrait vous accueillir avec l'une des réponses d'intention de bienvenue précédemment définies.
  8. Tapez ensuite "Je suis au travail". Votre serveur Python doit être contacté et la réponse sera lue par Google Assistant.

Cool n'est-ce pas ? Imaginez maintenant ce que vous pouvez faire en interagissant avec des capteurs, des actionneurs et d'autres API via votre assistant Google.

Étape 12: Libérez votre action

Libérez votre action
Libérez votre action
Libérez votre action
Libérez votre action
Libérez votre action
Libérez votre action

Une fois que vous avez fini de tester votre Action et qu'elle est en bon état, il est temps de partager l'amour avec le monde ou, si cela n'a pas de sens, avec vos amis et votre famille.

  1. Revenez à votre console Actions et sélectionnez votre action de planificateur de trafic local.
  2. Sous « Préparez-vous au déploiement », cliquez sur « Entrez les informations requises pour répertorier votre action dans le répertoire Actions ».
  3. Entrez une courte description, une description plus longue, un petit logo, vos coordonnées, un lien vers la politique de confidentialité (si vous n'allez pas partager cela publiquement, mettez simplement un lien vers votre site Web ou quelque chose) et une catégorie.
  4. Faites défiler vers le haut et cliquez sur "Enregistrer".
  5. Cliquez sur l'option « Libérer » dans la barre de gauche.
  6. Ici, vous pouvez choisir dans quel état se trouve votre action. Si vous ne voulez pas entendre la réponse « Obtenons la version de test de Mon planificateur de trafic local », vous devez faire une version publique à part entière. Cependant, cela nécessite un examen par Google et ne sera pas couvert dans ce didacticiel. Au lieu de cela, vous pouvez toujours partager cela avec jusqu'à 20 personnes en choisissant une version Alpha et en les ajoutant en tant que testeurs Alpha.
  7. Ajoutez des testeurs alpha en leur envoyant un lien ou en ajoutant leurs e-mails.
  8. Cliquez sur "ENVOYER POUR ALPHA", cochez les cases, cliquez sur "ENVOYER" et le tour est joué !

Maintenant, votre action est en ligne et peut être consultée par vous et vos amis. S'amuser!

Si vous êtes intéressé par le code que j'ai utilisé, jetez un œil au projet sur GitHub.

Conseillé: