Évaluations des playbooks

Ce guide explique comment utiliser la fonctionnalité d'évaluations intégrée à la console Dialogflow CX pour vérifier le fonctionnement de votre agent et éviter toute régression après les mises à jour. Dialogflow 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 cas de test, une "réponse de référence" à laquelle Dialogflow compare les performances de l'agent pour les calculer. Chaque cas 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.

  1. Pour créer un environnement, cliquez sur Environnements dans le menu de gauche, puis sélectionnez + Créer.
  2. Choisissez les versions des playbooks, des flux et des outils que vous souhaitez utiliser pour mesurer les performances de l'agent.
  3. 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 votre historique des conversations, créer une conversation à enregistrer en tant que scénario de test ou importer des scénarios de test dans Dialogflow.

Créer un scénario de test dans la console

  1. Accédez à Historique des conversations dans le menu de gauche.
  2. Pour créer une conversation, activez votre agent (par exemple, en appelant son numéro de téléphone) afin de créer une conversation dans l'historique des conversations. Sélectionnez la conversation que vous souhaitez utiliser comme cas de test.
  3. Consultez la conversation et vérifiez les réponses de l'agent, les outils invoqués et le ton de chaque réponse. Lorsque vous êtes satisfait du résultat, cliquez sur Créer un cas de test en haut à droite de la fenêtre.
  4. Indiquez un nom à afficher pour le scénario de test et précisez vos attentes concernant les événements qui doivent se produire au niveau de la conversation. Cela peut inclure des outils, des playbooks et des flux que vous prévoyez d'appeler au cours de la conversation. Cliquez sur + Ajouter une attente pour ajouter d'autres attentes. Pour que les attentes soient évaluées dans l'ordre séquentiel indiqué (de haut en bas), activez l'option Validation séquentielle.
  5. Cliquez sur Enregistrer pour enregistrer votre scénario de test.

Importer des scénarios de test

  1. Les cas de test doivent être au format CSV suivant.
  2. Pour importer des scénarios de test dans le système, cliquez sur Importer en haut du menu des scénarios de test.
  3. Dans le menu qui s'affiche, sélectionnez le fichier stocké localement ou saisissez le chemin d'accès à son bucket Cloud Storage.
  4. Vos scénarios de test devraient maintenant s'afficher dans le menu des scénarios de test.

Exécuter un scénario de test

  1. Cliquez sur Scénarios de test dans le menu de gauche, puis sélectionnez le ou les scénarios de test auxquels vous souhaitez comparer votre agent. Il peut s'agir d'un ou de plusieurs scénarios de test.
  2. Cliquez sur Exécuter les scénarios de test sélectionnés.

Résultats des tests

  1. Accéder aux résultats : les derniers résultats d'exécution des tests s'affichent pour chaque scénario de test dans la vue Scénario de test une fois l'exécution terminée :
    1. Similarité sémantique : mesure la similarité des conversations de l'agent par rapport à la "réponse idéale" (réponses dans le cas de test). Des réponses parfaites sont nécessaires pour obtenir cette métrique. Les valeurs peuvent être 0 (incohérent), 0,5 (assez cohérent) ou 1 (très cohérent).
    2. Précision de l'appel d'outil : valeur qui reflète la fidélité avec laquelle la conversation inclut les outils qui doivent être appelés au cours de la conversation. Les valeurs sont comprises entre 0 et 1. Si aucun outil n'est utilisé dans la conversation, la précision sera affichée sous la forme -- (N/A).
    3. Latence : temps total nécessaire à l'agent pour traiter une requête d'utilisateur final et lui répondre (différence entre la fin de l'énoncé de l'utilisateur et le début de la réponse de l'agent). Cette valeur est exprimée en secondes.
  2. 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, vous pouvez cliquer sur "Enregistrer comme de référence" pour remplacer le scénario de test d'origine.
  3. Filtrer et trier les résultats : vous pouvez filtrer et trier les résultats de l'évaluation en fonction de l'une des métriques générées ou d'un environnement spécifique. Cela vous permet de suivre les variations de performances après chaque mise à jour.

Mise en forme des scénarios de test pour l'importation par lot

Cette section explique comment mettre en forme un fichier CSV pour importer des cas 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 seul cas de test peut s'étendre sur plusieurs lignes du fichier CSV. La première ligne d'un cas de test définit ses propriétés générales (comme son nom et sa langue). Chaque ligne suivante de ce cas de test définit un seul tour de conversation (l'utilisateur dit quelque chose, l'agent est censé répondre).

Le fichier CSV doit comporter une ligne d'en-tête en 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 être dans l'ordre indiqué. Ces deux éléments sont nécessaires pour la première ligne d'un nouveau cas de test. Vous pouvez créer un cas de test en fournissant de nouvelles valeurs DisplayName et LanguageCode.

  • DisplayName : nom de votre cas de test. Cette valeur n'est renseignée que pour la première ligne d'un nouveau cas de test.
  • LanguageCode : code de langue du test (par exemple, en, en-US, es).

En-têtes facultatifs

Vous pouvez inclure l'un des en-têtes facultatifs suivants pour fournir plus de détails sur vos cas de test. Elles peuvent être dans n'importe quel ordre après les deux premières colonnes obligatoires.

Métadonnées du cas de test

  • Tags : tags séparés par des espaces pour organiser les tests (par exemple, "payments onboarding").
  • Remarques : 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.

Saisie utilisateur

  • UserInput.Input.Text : texte que l'utilisateur "saisit" pour un tour donné.
  • UserInput.InjectedParameters : paramètres à injecter dans la conversation au début d'un tour, au format JSON.

Sortie de l'agent

  • AgentOutput.QueryResult.ResponseMessages.Text : texte exact avec lequel, selon vous, l'agent a répondu.
  • AgentOutput.QueryResult.Parameters : paramètres que vous affirmez avoir été extraits par l'agent, au format de chaîne JSON.

Attentes

  • OrderedExpectations.ExpectedFlow : flux que vous attendez comme actif après le tour.
  • OrderedExpectations.ExpectedIntent : l'intention que vous vous attendez à voir correspondre au tour.
  • OrderedExpectations.ExpectedAgentReply : texte avec lequel vous vous attendez à ce que l'agent réponde. Il peut s'agir d'une sous-chaîne de la réponse complète.
  • OrderedExpectations.ExpectedOutputParameter : paramètres que vous prévoyez d'être définis à la fin du tour, mis en forme sous forme de chaîne JSON.

Métadonnées audio

  • AudioTurnMetadata Métadonnées pour les tests audio, mises en forme sous forme de chaîne JSON.

Créer un scénario de test

Les cas de test sont organisés par lignes de données.

  1. Pour commencer un nouveau cas de test, remplissez la ligne de métadonnées correspondante.
    • Règle : cette ligne doit comporter une valeur dans la colonne DisplayName.
    • Action : saisissez les valeurs pour DisplayName et LanguageCode. Vous pouvez également ajouter des tags, des notes ou un TestCaseConfigV2.StartResource dans cette ligne. Les colonnes de tours de conversation (comme UserInput.Input.Text) doivent être laissées vides sur cette ligne. Si vous utilisez des tags, séparez-les par un espace. Exemple : tag1 tag2 tag3. Si vous utilisez TestCaseConfigV2.StartResource, ajoutez le préfixe start_flow: ou start_playbook: au nom de la ressource. Exemple : start_flow:projects/p/locations/l/agents/a/flows/f.
  2. Ajoutez un tour de conversation au scénario de test que vous venez de commencer en ajoutant une ligne juste en dessous.
    • Règle : La colonne DisplayName doit être vide. Cela indique au parser 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.Text et OrderedExpectations.ExpectedAgentReply. Pour les colonnes nécessitant du code JSON, vous devez fournir un objet JSON valide sous forme de chaîne. Exemple : {"param_name": "param_value", "number_param": 123}.