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:
Il a deux paramètres:
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:
Voici le lien sur lequel je clique pour essayer dans 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:
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.
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.
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.
Essayez de supprimer le point de la phrase. Alors il sera:
"The name's Bond. James Bond"