Ce guide explique comment utiliser le framework d'évaluation dans l'agent IA pour la commande de repas afin de tester, de valider et de comparer vos agents IA pour la commande de repas.
L'évaluation automatisée vous permet de vérifier que votre agent de commande prend les commandes avec précision, gère les sélections de modificateurs complexes, applique correctement les règles de menu et vérifie le comportement de l'agent.
Présentation du framework d'évaluation
Le framework d'évaluation fournit une simulation et une validation automatisées pour les conversations de commande de repas. Plutôt que de tester manuellement chaque élément de menu et chaque cas limite conversationnel, vous pouvez définir des suites de tests qui exécutent des sessions client simulées par rapport à votre agent et vérifier l'état du panier et le dialogue qui en résultent.
Lors d'une exécution d'évaluation, le framework simule le côté client de la conversation à l'aide de l'un des deux types de scénarios de test suivants :
- Tours de conversation prédéfinis : fournissez une séquence scriptée d'entrées de texte client pour des tests de régression déterministes. Utilisez ce mode pour vérifier que des expressions client exactes produisent les réponses d'agent attendues, ou pour reproduire des sessions client réelles et des escalades à partir de la production.
- Simulation de session basée sur des instructions dynamiques : fournissez une instruction de commande en langage naturel de haut niveau (par exemple, commander des articles spécifiques, demander des substitutions ou poser des questions sur les allergènes). Un simulateur de client LLM joue la conversation de manière dynamique, en testant la façon dont votre agent gère un dialogue réaliste, des questions de clarification, des changements d'avis en cours de commande et des formulations client variées.
Modèle de ressource d'évaluation
Le framework d'évaluation est structuré autour de quatre ressources principales :
EvaluationDataset: collection nommée de cas d'évaluation représentant une suite de tests, telle qu'une suite de régression de menu de base ou des tests de menu petit-déjeuner.EvaluationCase: scénario de test individuel qui évalue une interaction de commande (à l'aide de tours prédéfinis ou d'instructions dynamiques) par rapport à un contexte d'évaluation et à un ensemble de correspondances.EvaluationContext: environnement d'exécution d'un scénario de test ou d'un ensemble de données, y compris l'emplacement du magasin cible, le menu actif, la tranche horaire et l'heure de début de la session simulée.EvaluationMatcher: règle d'assertion évaluée à la fin de la session de commande qui vérifie des états de panier, du texte d'énoncé ou des critères sémantiques spécifiques.
Correspondances d'évaluation
Un EvaluationMatcher définit une condition que l'agent doit remplir pour que le scénario de test réussisse. Un cas d'évaluation peut référencer plusieurs correspondances, et chaque correspondance produit un résultat booléen de réussite ou d'échec :
- Correspondance de résultat de commande : compare le panier final du client à une
Orderattendue. La correspondance vérifie que tous les articles, groupes de modificateurs, modificateurs imbriqués et quantités d'articles correspondent après normalisation. - Correspondance de chaîne d'énoncé de l'agent : vérifie si les réponses de l'agent contiennent une sous-chaîne spécifique ou correspondent à une expression régulière. Vous pouvez inverser la condition de correspondance pour vérifier que l'agent ne prononce pas d'expressions interdites.
- Correspondance de jugement LLM : utilise un juge LLM pour évaluer des critères en langage naturel qui ne peuvent pas être validés avec une correspondance de chaîne exacte. Par exemple, vous pouvez affirmer : "L'agent a confirmé si le client souhaitait du fromage avant de finaliser la commande" ou "L'agent a poliment informé le client que les milkshakes ne sont pas disponibles au petit-déjeuner".
Contextes d'évaluation
Un EvaluationContext configure l'environnement du restaurant dans lequel la session d'évaluation s'exécute :
- Magasin : nom de ressource du magasin cible (
projects/{project}/locations/{location}/brands/{brand}/stores/{store}). Le magasin détermine le menu actif, les prix, le fuseau horaire et les remplacements de personnalisation de l'agent. - Menu : nom de ressource de menu facultatif pour tester un menu candidat avant de l'associer à un magasin en production.
- ID de tranche horaire : ID de tranche horaire facultatif (tel que
breakfastoudinner) pour vérifier la disponibilité des éléments de menu et les règles de tarification pendant des périodes de repas spécifiques. - Heure de début de la session de test : timestamp ISO facultatif pour simuler des commandes passées à une heure spécifique de la journée ou un jour de la semaine.
Évaluer dans la console de l'agent IA pour la commande de repas
La console de l'agent IA pour la commande de repas fournit une interface interactive permettant de gérer les ensembles de données d'évaluation, d'exécuter des tests et d'analyser les résultats.
1. Créer un contexte d'évaluation
- Dans la console de l'agent IA pour la commande de repas, sélectionnez votre projet et votre marque.
- Dans le menu de navigation, cliquez sur Évaluation.
- Cliquez sur l'onglet Contextes.
- Cliquez sur Nouveau contexte.
- Saisissez un nom à afficher et sélectionnez le Magasin cible.
- Facultatif : sélectionnez un remplacement de Menu ou de Période de la journée spécifique.
- Cliquez sur Créer.
2. Créer des correspondances d'évaluation
- Sur la page Évaluation, cliquez sur l'onglet Correspondances.
- Cliquez sur Nouvelle correspondance.
- Saisissez un nom à afficher et choisissez le type de correspondance :
- Résultat de la commande : créez la commande attendue en sélectionnant des articles, des modificateurs et des quantités.
- Énoncé de l'agent : saisissez la sous-chaîne ou le modèle d'expression régulière requis.
- Jugement LLM : saisissez les critères en langage naturel pour le juge LLM.
- Cliquez sur Créer.
3. Créer des ensembles de données et importer des scénarios de test
Dans la console, les scénarios de test peuvent exister seuls ou être organisés en ensembles de données. Vous pouvez créer des ensembles de données directement dans la console, mais les scénarios de test doivent être importés à partir de fichiers YAML ou convertis à partir de sessions de production.
Créer un ensemble de données
- Dans la console de l'agent IA pour la commande de repas, accédez à Évaluation > Ensembles de données et cas.
- Dans le volet Ensembles de données, cliquez sur Nouvel ensemble de données.
- Saisissez un nom à afficher (par exemple,
Combo Meals Regression) et une description facultative. - Cliquez sur Créer.
Vous pouvez également cliquer sur Importer dans le volet Ensembles de données pour importer des ensembles de données à partir d'un fichier YAML.
L'exemple de fichier YAML suivant définit un ensemble de données d'évaluation avec des cas d'évaluation intégrés :
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationDatasets/DATASET_ID
displayName: Core Combo Regression
description: Core combo ordering and modifier selection regression suite
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationCases:
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
displayName: double_cheeseburger_combo
description: Tests combo meal ordering with side and drink modifier selections
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "I'd like a double cheeseburger combo."
exampleAgentResponse: "What drink and side would you like with your combo?"
- userTextInput: "Onion rings and a large diet cola, please."
exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
- userTextInput: "No, that's everything."
exampleAgentResponse: ''
Importer des cas d'évaluation
- Dans le volet Cas, cliquez sur Importer.
- Sélectionnez un fichier YAML définissant vos cas d'évaluation.
- Confirmez l'importation. Les cas importés s'affichent dans la liste Cas.
Vous pouvez également cliquer sur Exporter dans le volet Ensembles de données ou Cas pour télécharger les définitions existantes sous forme de fichiers YAML.
L'exemple de fichier YAML suivant définit des cas d'évaluation avec des tours de conversation, des contextes d'évaluation et des correspondances prédéfinis :
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
displayName: Double Cheeseburger Combo
description: Tests combo meal ordering with side and drink modifier selections
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/UTTERANCE_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "I'd like a double cheeseburger combo."
exampleAgentResponse: "What drink and side would you like with your combo?"
- userTextInput: "Onion rings and a large diet cola, please."
exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
- userTextInput: "No, that's everything."
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_2
displayName: Breakfast Allergen Inquiry
description: Tests agent handling of customer allergy questions during breakfast
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/LLM_JUDGEMENT_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "Are your pancakes prepared with peanut oil?"
- userTextInput: "Okay, I'll take the oatmeal instead."
Organiser les cas en ensembles de données
Les cas d'évaluation peuvent exister indépendamment sans appartenir à un ensemble de données. Pour organiser les cas dans un ensemble de données :
- Dans le volet Cas, sélectionnez un ou plusieurs scénarios de test à l'aide de leurs cases à cocher.
- Faites glisser les cas sélectionnés dans l'ensemble de données cible du volet Ensembles de données.
- Cliquez sur l'ensemble de données dans le volet Ensembles de données pour le développer et examiner les cas qui lui sont attribués.
4. Convertir des sessions client à partir de l'historique des commandes
Pour reproduire les problèmes signalés par les clients ou créer des suites de tests directement à partir du trafic de production réel :
- Dans le menu de navigation, cliquez sur Historique des commandes.
- Cliquez sur la ligne de la session de commande que vous souhaitez tester.
- Dans le panneau Détails de la commande, cliquez sur Convertir en cas d'évaluation.
- Sélectionnez ou créez un contexte d'évaluation et des correspondances.
- Cliquez sur Convertir. Les énoncés client tour par tour sont automatiquement convertis en cas d'évaluation.
5. Exécuter des évaluations et examiner les résultats
Vous pouvez exécuter un ensemble de données entier ou exécuter des cas sélectionnés individuellement :
- Exécuter un ensemble de données : dans le volet Ensembles de données, cliquez sur Exécuter l'ensemble de données à côté de l'ensemble de données cible.
- Exécuter des cas individuels : dans le volet Cas, sélectionnez un ou plusieurs cas à l'aide des cases à cocher, puis cliquez sur Exécuter dans la barre d'actions de sélection.
Pour surveiller les exécutions et examiner les résultats détaillés :
- Cliquez sur l'onglet Historique pour suivre la progression de l'exécution, le taux de réussite global et la durée d'exécution.
- Cliquez sur n'importe quelle exécution dans le tableau de l'historique pour afficher les résultats détaillés des cas :
- Résumé : examinez le pourcentage global de réussite ou d'échec et le nombre total de cas réussis.
- Transcriptions des tours : examinez le dialogue tour par tour entre le client simulé et l'agent.
- Détails de la correspondance : examinez les correspondances réussies ou échouées, y compris les explications du juge LLM pour les critères qualitatifs échoués.
Étape suivante
- Découvrez comment configurer les emplacements des magasins et explorer les menus.
- Testez les interactions de commande de manière interactive avec l'aperçu de l'agent.