In dieser Anleitung wird beschrieben, wie Sie das Bewertungs-Framework in Food Ordering AI Agent verwenden, um Ihre KI-basierten Agenten für Essensbestellungen zu testen, zu validieren und zu vergleichen.
Mit der automatisierten Bewertung können Sie prüfen, ob Ihr Bestellagent Bestellungen korrekt aufnimmt, komplexe Modifikatorauswahlen verarbeitet, Menüregeln richtig anwendet und das Verhalten des Agenten überprüft.
Überblick über das Bewertungs-Framework
Das Bewertungs-Framework bietet eine automatisierte Simulation und Überprüfung für Food Ordering-Unterhaltungen. Anstatt jedes Menüelement und jeden Grenzfall manuell zu testen, können Sie Testreihen definieren, die simulierte Kundensitzungen mit Ihrem Agenten ausführen und den resultierenden Warenkorbstatus und Dialog überprüfen.
Während einer Bewertungsrunde simuliert das Framework die Kundenseite der Unterhaltung mit einer von zwei Arten von Testfällen:
- Vordefinierte Unterhaltungsrunden: Bieten Sie eine geskriptete Sequenz von Kundentext-Eingaben für deterministische Regressionstests. Verwenden Sie diesen Modus, um zu prüfen, ob genaue Kundenformulierungen die erwarteten Agentenantworten erzeugen, oder um echte Kundensitzungen und Eskalationen aus der Produktion zu reproduzieren.
- Dynamische sitzungsbasierte Simulation mit Anweisungen: Geben Sie eine allgemeine Anweisung zur Bestellung in natürlicher Sprache an, z. B. zum Bestellen bestimmter Artikel, zum Anfordern von Ersatzartikeln oder zum Fragen nach Allergenen. Ein LLM-Kundensimulator spielt die Unterhaltung dynamisch durch und testet, wie Ihr Agent mit realistischen Dialogen, klärenden Fragen, Änderungen der Bestellung während des Bestellvorgangs und unterschiedlichen Kundenformulierungen umgeht.
Ressourcenmodell für die Bewertung
Das Bewertungs-Framework ist um vier primäre Ressourcen herum strukturiert:
EvaluationDataset: Eine benannte Sammlung von Bewertungsfällen, die eine Testreihe darstellen, z. B. eine Regressionstestreihe für das Kernmenü oder Tests für Frühstückskombinationen.EvaluationCase: Ein einzelnes Testszenario, das eine Bestellinteraktion (mit vordefinierten Runden oder dynamischen Anweisungen) anhand eines Bewertungskontexts und einer Reihe von Matchern bewertet.EvaluationContext: Die Ausführungsumgebung für einen Testfall oder ein Dataset, einschließlich des Zielgeschäftsstandorts, des aktiven Menüs, der Tageszeit und der simulierten Startzeit der Sitzung.EvaluationMatcher: Eine Assertionsregel, die am Ende der Bestellsitzung ausgewertet wird und bestimmte Warenkorbstatus, Äußerungstexte oder semantische Kriterien überprüft.
Bewertungs-Matcher
Ein EvaluationMatcher definiert eine Bedingung, die der Agent erfüllen muss, damit der Testfall erfolgreich ist. Ein Bewertungsfall kann auf mehrere Matcher verweisen und jeder Matcher erzeugt ein boolesches Ergebnis (bestanden oder nicht bestanden):
- Matcher für Bestellresultate: Vergleicht den endgültigen Warenkorb des Kunden mit einer erwarteten
Order. Der Matcher prüft, ob alle Artikel, Modifikatorgruppen, verschachtelten Modifikatoren und Artikelmengen nach der Normalisierung übereinstimmen. - Matcher für Agentenäußerungen: Prüft, ob die Antworten des Agenten eine bestimmte Teilzeichenfolge enthalten oder mit einem regulären Ausdruck übereinstimmen. Sie können die Übereinstimmungsbedingung umkehren, um zu prüfen, ob der Agent keine verbotenen Formulierungen verwendet.
- Matcher für LLM-Bewertungen: Verwendet einen LLM-Bewerter, um Kriterien in natürlicher Sprache zu bewerten, die nicht mit einer genauen Stringübereinstimmung validiert werden können. Sie können beispielsweise Folgendes festlegen: „Der Agent hat bestätigt, ob der Kunde Käse wollte, bevor er die Bestellung abgeschlossen hat“ oder „Der Agent hat den Kunden höflich darüber informiert, dass Milchshakes während des Frühstücks nicht verfügbar sind.“
Bewertungskontexte
Ein EvaluationContext konfiguriert die Restaurantumgebung, in der die Bewertungssitzung ausgeführt wird:
- Geschäft: Der Ressourcenname des Zielgeschäfts (
projects/{project}/locations/{location}/brands/{brand}/stores/{store}). Das Geschäft bestimmt das aktive Menü, die Preise, die Zeitzone und die Überschreibungen für die Anpassung des Agenten. - Menü: Ein optionaler Ressourcenname für das Menü, um ein Kandidatenmenü zu testen, bevor es mit einem Geschäft in der Produktion verknüpft wird.
- Tageszeit-ID: Eine optionale Tageszeit-ID (z. B.
breakfastoderdinner), um die Verfügbarkeit von Artikeln auf der Speisekarte und Preismodellregeln während bestimmter Essenszeiten zu prüfen. - Startzeit der Testsitzung: Ein optionaler ISO-Zeitstempel, um Bestellungen zu simulieren, die zu einer bestimmten Tageszeit oder an einem bestimmten Wochentag aufgegeben wurden.
Bewertung in der Food Ordering KI-Agent Console
Die Food Ordering KI-Agent-Konsole bietet eine interaktive Oberfläche zum Verwalten von Bewertungs-Datasets, Ausführen von Tests und Analysieren von Ergebnissen.
1. Bewertungskontext erstellen
- Wählen Sie in der Food Ordering KI-Agent-Konsole Ihr Projekt und Ihre Marke aus.
- Klicken Sie im Navigationsmenü auf Bewertung.
- Klicken Sie auf den Tab Kontexte.
- Klicken Sie auf Neuer Kontext.
- Geben Sie einen Anzeigenamen ein und wählen Sie das Zielgeschäft Store aus.
- Optional: Wählen Sie eine bestimmte Überschreibung für Menü oder Tageszeit aus.
- Klicken Sie auf Erstellen.
2. Bewertungs-Matcher erstellen
- Klicken Sie auf der Seite Bewertung auf den Tab Matcher.
- Klicken Sie auf Neuer Matcher.
- Geben Sie einen Anzeigenamen ein und wählen Sie den Matchertyp aus:
- Bestellresultat: Erstellen Sie die erwartete Bestellung, indem Sie Artikel, Modifikatoren und Mengen auswählen.
- Agentenäußerung: Geben Sie die erforderliche Teilzeichenfolge oder das Muster für den regulären Ausdruck ein.
- LLM-Bewertung: Geben Sie die Kriterien in natürlicher Sprache für den LLM-Bewerter ein.
- Klicken Sie auf Erstellen.
3. Datasets erstellen und Testfälle importieren
In der Console können Testfälle einzeln vorhanden sein oder in Datasets organisiert werden. Sie können Datasets direkt in der Console erstellen, Testfälle müssen jedoch aus YAML-Dateien importiert oder aus Produktionssitzungen konvertiert werden.
Dataset erstellen
- Rufen Sie in der Food Ordering KI-Agent-Konsole Bewertung > Datasets und Fälle auf.
- Klicken Sie im Bereich Datasets auf Neues Dataset.
- Geben Sie einen Anzeigenamen ein (z. B.
Combo Meals Regression) und optional eine Beschreibung. - Klicken Sie auf Erstellen.
Sie können auch im Bereich Datasets auf Importieren klicken, um Datasets aus einer YAML-Datei zu importieren.
In der folgenden YAML-Beispieldatei wird ein Bewertungs-Dataset mit Inline-Bewertungsfällen definiert:
- 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: ''
Bewertungsfälle importieren
- Klicken Sie im Bereich Fälle auf Importieren.
- Wählen Sie eine YAML-Datei aus, in der Ihre Bewertungsfälle definiert sind.
- Bestätigen Sie den Upload. Die importierten Fälle werden in der Liste Fälle angezeigt.
Sie können auch im Bereich Datasets oder Fälle auf Exportieren klicken, um vorhandene Definitionen als YAML-Dateien herunterzuladen.
In der folgenden YAML-Beispieldatei werden Bewertungsfälle mit vordefinierten Unterhaltungsrunden, Bewertungskontexten und Matchern definiert:
- 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."
Fälle in Datasets organisieren
Bewertungsfälle können unabhängig voneinander vorhanden sein, ohne zu einem Dataset zu gehören. So organisieren Sie Fälle in einem Dataset:
- Wählen Sie im Bereich Fälle einen oder mehrere Testfälle über die Kästchen aus.
- Ziehen Sie die ausgewählten Fälle in das Ziel-Dataset im Bereich Datasets.
- Klicken Sie im Bereich Datasets auf das Dataset, um es zu maximieren und die zugewiesenen Fälle zu prüfen.
4. Kundensitzungen aus dem Bestellverlauf konvertieren
So reproduzieren Sie von Kunden gemeldete Probleme oder erstellen Testreihen direkt aus dem tatsächlichen Produktions-Traffic:
- Klicken Sie im Navigationsmenü auf Bestellverlauf.
- Klicken Sie auf die Zeile für die Bestellsitzung, die Sie testen möchten.
- Klicken Sie im Bereich Bestelldetails auf In Bewertungsfall konvertieren.
- Wählen Sie einen Bewertungskontext und Matcher aus oder erstellen Sie sie.
- Klicken Sie auf Konvertieren. Die Kundenaussagen werden automatisch in einen Bewertungsfall konvertiert.
5. Bewertungen ausführen und Ergebnisse prüfen
Sie können ein ganzes Dataset ausführen oder einzelne ausgewählte Fälle:
- Dataset ausführen: Klicken Sie im Bereich Datasets neben dem Ziel-Dataset auf Dataset ausführen.
- Einzelne Fälle ausführen: Wählen Sie im Bereich Fälle einen oder mehrere Fälle über die Kästchen aus und klicken Sie dann in der Aktionsleiste für die Auswahl auf Ausführen.
So überwachen Sie Ausführungen und prüfen detaillierte Ergebnisse:
- Klicken Sie auf den Tab Verlauf, um den Fortschritt der Ausführung, die allgemeine Erfolgsrate und die Ausführungsdauer zu verfolgen.
- Klicken Sie in der Verlaufstabelle auf eine beliebige Ausführung, um detaillierte Fallergebnisse aufzurufen:
- Zusammenfassung: Prüfen Sie den Gesamtprozentsatz für „Bestanden“ oder „Nicht bestanden“ und die Gesamtzahl der bestandenen Fälle.
- Transkripte der Unterhaltungsrunden: Prüfen Sie den Dialog zwischen dem simulierten Kunden und dem Agenten.
- Matcher-Details: Prüfen Sie, welche Matcher bestanden oder nicht bestanden wurden, einschließlich der Erklärungen des LLM-Bewerters für nicht bestandene qualitative Kriterien.
Nächste Schritte
- Informationen zum Konfigurieren von Geschäftsstandorten und zum Erkunden von Menüs.
- Bestellinteraktionen interaktiv mit der Agentenvorschau testen.