web-dev-qa-db-fra.com

Paramètre non défini dans l'action Google

J'ai un agent DialogFlow à tester sur Google Assistant. J'ai créé une intention relativement simple appelée "Nom du groupe" avec les phrases d'apprentissage suivantes:

  • Mon nom est Ryan.
  • Facture
  • Je suis Steve
  • Le nom est Bond. James Bond.

Il a deux paramètres:

  • Obligatoire: given-name avec l'entité @sys.given-name et la valeur stockée sous le nom $given-name
  • last-name avec l'entité @sys.last-name et la valeur $last-name

Je peux très bien tester la console de test DialogFlow. Mais lorsque j'essaie de "Voir comment cela fonctionne dans Google Assistant." Je reçois l'erreur suivante:

La requête contient un argument invalide. Le motif de requête 'Le nom est Liaison. $SchemaOrg_Person:given-name$SchemaOrg_Person:last-name.' contient un paramètre non défini 'last-name.'

Si je supprime la phrase de formation "James Bond", cela fonctionne bien. Mais je voudrais l'inclure. Qu'est-ce que je fais mal?

Voici une capture d'écran de l'intention à l'origine du problème:

 troublesome intent

Voici le lien sur lequel je clique pour essayer dans Google Assistant:

 Open in Google Assistant

Et enfin, voici le message d'erreur qui apparaît dans le coin inférieur droit de l'écran lorsque je clique sur ce lien:

 Error message pop-up

9
Ryan

J'ai soudainement reçu quelques-uns de ces messages d'erreur en cliquant à la fois sur le lien "Voir comment cela fonctionne dans Google Assistant" et en soumettant l'application à la production.

Il semble que les caractères comme les apostrophes et les traits d'union dans les phrases d'apprentissage posent problème et peuvent donner ce message d'erreur.

En outre, il s'est plaint d'une variante des phrases d'apprentissage que je ne trouvais nulle part, peu importe combien j'avais regardé toutes les langues, toutes les pages des phrases et toutes les intentions. J'ai finalement trouvé la phrase en question en exportant le projet et en cherchant dans les fichiers JSON. Ensuite, je pourrais supprimer la phrase localement, supprimer l'intention dans Dialogflow et effectuer une importation dans Dialogflow. (D'après ce que j'ai compris, cela avait gâché une intention de suivi qu'il avait également dans le JSON (nulle part dans l'interface utilisateur) et qui était associé à des parties de certaines phrases d'apprentissage.

1
Roy Solberg

Je me suis heurté à cela lorsque je travaillais avec des paramètres d'intention et des entités personnalisées. Lorsque vous marquez des entités dans vos phrases d'apprentissage, assurez-vous qu'elles sont liées aux paramètres que vous avez définis dans votre intention. 

Exemple

Dans votre cas, changer les balises de phrase d'apprentissage en types @ sys.given-name: prénoms et @ sys.last-name: nom de famille pourraient résoudre ce problème.

0
Jordi

Essayez de supprimer le point de la phrase. Alors il sera:

"The name's Bond. James Bond"
0
XeaL Storm