Ce guide explique comment utiliser la fonctionnalité d'évaluation intégrée dans la console Dialogflow CX pour vérifier les capacités de votre agent et éviter toute régression après les mises à jour. Dialogflow CX fournit des métriques prêtes à l'emploi pour vous aider à évaluer les performances de votre agent.
Toutes les métriques, à l'exception de la latence, nécessitent au moins un scénario de test, une "réponse de référence" à laquelle Dialogflow CX compare les performances de l'agent pour mesurer les résultats. Chaque scénario de test peut être mesuré dans le contexte d'un environnement, ce qui vous permet de spécifier différentes versions de playbooks, de flux et d'outils à utiliser dans l'évaluation des performances de l'agent.
(Facultatif) Créer un environnement
La création d'un environnement est facultative. Si vous n'en créez pas, la valeur par défaut est Brouillon.
- Accédez à Environnements, puis cliquez sur Créer.
- Choisissez les versions des playbooks, des flux et des outils que vous souhaitez utiliser pour mesurer les performances de l'agent.
- Cliquez sur Enregistrer pour enregistrer l'environnement.
Créer un scénario de test
Vous pouvez créer un scénario de test à partir d'une conversation existante dans l'historique de vos conversations, créer une conversation à enregistrer en tant que scénario de test ou importer des scénarios de test dans Dialogflow CX.
Créer un scénario de test dans la console
- Accédez à Historique des conversations dans le menu de navigation.
- Pour créer une conversation, activez votre agent, par exemple en appelant son numéro de téléphone. Lorsque vous avez une conversation que vous souhaitez utiliser comme scénario de test, sélectionnez-la.
- Affichez la conversation et vérifiez les réponses de l'agent, les outils appelés et la façon dont chaque réponse est formulée. Lorsque vous êtes satisfait, sélectionnez Créer un scénario de test.
- Indiquez un nom à afficher pour le scénario de test et spécifiez vos attentes concernant les événements qui doivent se produire au niveau de la conversation. Il peut s'agir d'outils, de playbooks et de flux que vous prévoyez d'appeler au cours de la conversation. Sélectionnez + Ajouter une attente pour ajouter d'autres attentes. Pour que les attentes soient évaluées dans l'ordre séquentiel, de haut en bas, activez l'option Validation séquentielle.
- Cliquez sur Save (Enregistrer) pour enregistrer le scénario de test.
Importer des scénarios de test
- Les scénarios de test doivent être au format CSV suivant.
- Pour importer des scénarios de test dans le système, cliquez sur Importer en haut du menu des scénarios de test.
- Dans le menu qui s'affiche, sélectionnez le fichier stocké localement ou saisissez le chemin d'accès à son bucket Cloud Storage.
- Vos scénarios de test devraient maintenant s'afficher dans le menu des scénarios de test.
Exécuter un scénario de test
- Accédez à Cas de test dans le menu de navigation, puis sélectionnez les cas de test avec lesquels vous souhaitez comparer votre agent. Vous pouvez sélectionner un ou plusieurs scénarios de test.
- Cliquez sur Exécuter les scénarios de test sélectionnés.
Résultats des tests
- Accéder aux résultats : les résultats de la dernière exécution du test s'affichent pour chaque scénario de test dans la vue Scénario de test une fois l'exécution terminée :
- Similarité sémantique : mesure la similarité entre les conversations de l'agent et la "réponse de référence" (réponses dans le scénario de test). Des réponses de référence sont requises pour recevoir cette métrique. Les valeurs peuvent être 0 (incohérent), 0,5 (assez cohérent) ou 1 (très cohérent).
- Justesse des appels d'outils : indique si la conversation inclut fidèlement les outils censés être appelés pendant la conversation. Les valeurs sont comprises entre 0 et 1. Si aucun outil n'est utilisé dans la conversation, la précision s'affiche sous la forme
--(non applicable). - Latence : temps total nécessaire à l'agent pour traiter une requête utilisateur et y répondre, mesuré en secondes comme la différence entre la fin de l'énoncé de l'utilisateur et le début de la réponse de l'agent.
- Mettre à jour le scénario de test de référence : si la dernière exécution reflète les modifications attendues en raison d'une mise à jour de l'agent, sélectionnez Enregistrer comme référence pour écraser le scénario de test d'origine.
- Filtrer et trier les résultats : vous pouvez filtrer et trier les résultats d'évaluation en fonction de l'une des métriques générées ou d'un environnement spécifique pour suivre les changements de performances après chaque mise à jour.
Formatage des scénarios de test pour l'importation par lot
Cette section explique comment mettre en forme un fichier CSV pour importer des scénarios de test par lot pour votre agent. Le système lit ce fichier pour créer un ensemble structuré de scénarios de test, chacun contenant un ou plusieurs tours de conversation.
Un même scénario de test peut s'étendre sur plusieurs lignes du fichier CSV. La première ligne d'un scénario de test définit ses propriétés globales, par exemple son nom et sa langue. Chaque ligne suivante de ce scénario de test définit un seul tour de conversation, où l'utilisateur dit quelque chose et l'agent répond.
En-tête
Le fichier CSV doit comporter une ligne d'en-tête sur la toute première ligne. Cet en-tête définit les données de chaque colonne.
En-têtes obligatoires
Les deux en-têtes obligatoires doivent apparaître dans l'ordre indiqué. Les deux sont obligatoires pour la première ligne d'un nouveau scénario de test. Vous pouvez lancer un nouveau scénario de test en fournissant de nouvelles valeurs DisplayName et LanguageCode.
DisplayName: nom de votre scénario de test. Cette valeur n'est renseignée que pour la première ligne d'un nouveau scénario de test.LanguageCode: code de langue du test (par exemple,en,en-US,es).
En-têtes facultatifs
Vous pouvez inclure les en-têtes facultatifs suivants pour fournir plus de détails sur vos scénarios de test. Elles peuvent être placées dans n'importe quel ordre après les deux premières colonnes obligatoires.
Métadonnées du scénario de test :
- Tags : tags séparés par des espaces pour organiser les tests (par exemple, "paiements intégration").
- Remarque : Notes en texte libre ou description de l'objectif du scénario de test.
TestCaseConfigV2.StartResource: spécifiez le flux ou le playbook avec lequel démarrer le test.
Entrée utilisateur :
UserInput.Input.Text: texte saisi par l'utilisateur pour un tour donné.UserInput.InjectedParameters: paramètres à injecter dans la conversation au début d'un tour, au format d'une chaîne JSON.
Sortie de l'agent :
AgentOutput.QueryResult.ResponseMessages.Text: texte exact de la réponse de l'agent.AgentOutput.QueryResult.Parameters: paramètres extraits par l'agent, au format d'une chaîne JSON.
Attentes ordonnées :
OrderedExpectations.ExpectedFlow: flux que vous souhaitez activer après le tour.OrderedExpectations.ExpectedIntent: l'intent qui doit correspondre au tour de parole.OrderedExpectations.ExpectedAgentReply: texte que l'agent doit renvoyer, qui peut être une sous-chaîne de la réponse complète.OrderedExpectations.ExpectedOutputParameter: paramètres que vous souhaitez définir à la fin du tour, au format d'une chaîne JSON.
Métadonnées audio :
AudioTurnMetadata: métadonnées pour les tests audio, au format d'une chaîne JSON.
Créer un scénario de test
Les scénarios de test sont organisés par lignes de données.
- Pour démarrer un nouveau scénario de test, remplissez sa ligne de métadonnées :
- Règle : Cette ligne doit comporter une valeur dans la colonne
DisplayName. - Action : Saisissez des valeurs pour
DisplayNameetLanguageCode. Si nécessaire, incluez des tags, des notes ou unTestCaseConfigV2.StartResourcesur cette ligne. Laissez les colonnes de tour de conversation (telles queUserInput.Input.Text) vides sur cette ligne. Si vous utilisez des tags, séparez-les par un espace (par exemple,tag1 tag2 tag3). Si vous utilisezTestCaseConfigV2.StartResource, ajoutez le préfixestart_flow:oustart_playbook:au nom de la ressource (par exemple,start_flow:projects/p/locations/l/agents/a/flows/f).
- Règle : Cette ligne doit comporter une valeur dans la colonne
- Ajoutez un tour de conversation au scénario de test que vous venez de commencer en ajoutant une nouvelle ligne juste en dessous :
- Règle : La colonne
DisplayNamedoit être vide. Cela indique à l'analyseur qu'il s'agit d'un tour appartenant au scénario de test précédent. - Action : remplissez les colonnes qui décrivent l'action de l'utilisateur et la réponse attendue de l'agent pour ce tour, par exemple
UserInput.Input.TextetOrderedExpectations.ExpectedAgentReply. Pour les colonnes nécessitant du JSON, vous devez fournir un objet JSON valide sous forme de chaîne (par exemple,{"param_name": "param_value", "number_param": 123}).
- Règle : La colonne