Questa guida spiega come utilizzare il framework di valutazione in Food Ordering AI Agent per testare, convalidare e confrontare i tuoi agenti AI per l'ordinazione di cibo.
La valutazione automatica ti consente di verificare che l'agente di ordinazione prenda gli ordini in modo accurato, gestisca selezioni di modificatori complesse, applichi correttamente le regole del menu e verifichi il comportamento dell'agente.
Panoramica del framework di valutazione
Il framework di valutazione fornisce simulazione e verifica automatizzate per le conversazioni di ordinazione di cibo. Anziché testare manualmente ogni voce di menu e ogni caso limite conversazionale, puoi definire suite di test che eseguono sessioni cliente simulate sull'agente e verificare lo stato del carrello e il dialogo risultanti.
Durante un'esecuzione di valutazione, il framework simula il lato cliente della conversazione utilizzando uno dei due tipi di scenari di test:
- Turni di conversazione predefiniti: fornisci una sequenza di input di testo del cliente con script per test di regressione deterministici. Utilizza questa modalità per verificare che le frasi esatte del cliente producano le risposte previste dell'agente o per riprodurre sessioni ed escalation reali dei clienti dalla produzione.
- Simulazione di sessione dinamica basata su istruzioni: fornisci un'istruzione di ordinazione in linguaggio naturale di alto livello (ad esempio ordinare articoli specifici, richiedere sostituzioni o chiedere informazioni sugli allergeni). Un simulatore di clienti LLM interpreta la conversazione in modo dinamico, testando il modo in cui l'agente gestisce dialoghi realistici, domande di chiarimento, ripensamenti a metà ordine e frasi dei clienti varie.
Modello di risorsa di valutazione
Il framework di valutazione è strutturato intorno a quattro risorse principali:
EvaluationDataset: una raccolta denominata di casi di valutazione che rappresenta una suite di test, ad esempio una suite di regressione del menu principale o test di combinazioni per la colazione.EvaluationCase: un singolo scenario di test che valuta un'interazione di ordinazione (utilizzando turni predefiniti o istruzioni dinamiche) in base a un contesto di valutazione e a un insieme di matcher.EvaluationContext: l'ambiente di esecuzione per uno scenario di test o un set di dati, inclusi la sede del negozio di destinazione, il menu attivo, la fascia oraria e l'ora di inizio della sessione simulata.EvaluationMatcher: una regola di asserzione valutata alla fine della sessione di ordinazione che controlla stati specifici del carrello, testo dell'espressione o criteri semantici.
Matcher di valutazione
Un EvaluationMatcher definisce una condizione che l'agente deve soddisfare affinché lo scenario di test venga superato. Uno scenario di valutazione può fare riferimento a più matcher e ogni matcher produce un risultato booleano di superamento o non superamento:
- Matcher del risultato dell'ordine: confronta il carrello finale del cliente con un
Orderprevisto. Il matcher verifica che tutti gli articoli, i gruppi di modificatori, i modificatori nidificati e le quantità degli articoli corrispondano dopo la normalizzazione. - Matcher di stringhe di espressioni dell'agente: verifica se le risposte dell'agente contengono una sottostringa specifica o corrispondono a un'espressione regolare. Puoi invertire la condizione di corrispondenza per verificare che l'agente non pronunci frasi vietate.
- Matcher di giudizio LLM: utilizza un giudice LLM per valutare i criteri in linguaggio naturale che non possono essere convalidati con la corrispondenza esatta delle stringhe. Ad esempio, puoi affermare: "L'agente ha chiesto al cliente se voleva il formaggio prima di finalizzare l'ordine" o "L'agente ha informato gentilmente il cliente che i frappè non sono disponibili durante la colazione".
Contesti di valutazione
Un EvaluationContext configura l'ambiente del ristorante in cui viene eseguita la sessione di valutazione:
- Negozio: il nome della risorsa del negozio di destinazione (
projects/{project}/locations/{location}/brands/{brand}/stores/{store}). Il negozio determina il menu attivo, i prezzi, il fuso orario e le sostituzioni di personalizzazione dell'agente. - Menu: un nome di risorsa di menu facoltativo per testare un menu candidato prima di associarlo a un negozio in produzione.
- ID fascia oraria: un ID fascia oraria facoltativo (ad esempio
breakfastodinner) per verificare la disponibilità delle voci di menu e le regole per la determinazione del prezzo durante periodi di pasti specifici. - Ora di inizio della sessione di test: un timestamp ISO facoltativo per simulare gli ordini effettuati in un'ora specifica del giorno o della settimana.
Valuta nella console dell'agente AI per l'ordinazione di cibo
La console agente AI per l'ordinazione di cibo fornisce un'interfaccia interattiva per gestire i set di dati di valutazione, eseguire test e analizzare i risultati.
1. Crea un contesto di valutazione
- Nella console dell'agente AI per l'ordinazione di cibo, seleziona il progetto e il brand.
- Nel menu di navigazione, fai clic su Valutazione.
- Fai clic sulla scheda Contesti.
- Fai clic su Nuovo contesto.
- Inserisci un nome visualizzato e seleziona il Negozio di destinazione.
- (Facoltativo) Seleziona una sostituzione specifica per Menu o Fascia oraria.
- Fai clic su Crea.
2. Crea matcher di valutazione
- Nella pagina Valutazione, fai clic sulla scheda Matcher.
- Fai clic su Nuovo matcher.
- Inserisci un nome visualizzato e scegli il tipo di matcher:
- Risultato dell'ordine: crea l'ordine previsto selezionando articoli, modificatori e quantità.
- Espressione dell'agente: inserisci la sottostringa o il pattern di espressione regolare richiesto.
- Giudizio LLM: inserisci i criteri in linguaggio naturale per il giudice LLM.
- Fai clic su Crea.
3. Crea set di dati e importa scenari di test
Nella console, gli scenari di test possono esistere autonomamente o essere organizzati in set di dati. Puoi creare set di dati direttamente nella console, ma gli scenari di test devono essere importati da file YAML o convertiti da sessioni di produzione.
Crea un set di dati
- Nella console Agente AI per l'ordinazione di cibo, vai a Valutazione > Set di dati e casi.
- Nel riquadro Set di dati, fai clic su Nuovo set di dati.
- Inserisci un nome visualizzato (ad esempio
Combo Meals Regression) e una descrizione facoltativa. - Fai clic su Crea.
Puoi anche fare clic su Importa nel riquadro Set di dati per importare i set di dati da un file YAML.
Il seguente file YAML di esempio definisce un set di dati di valutazione con scenari di valutazione in linea:
- 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: ''
Importa scenari di valutazione
- Nel riquadro Scenari, fai clic su Importa.
- Seleziona un file YAML che definisce gli scenari di valutazione.
- Conferma il caricamento. Gli scenari importati vengono visualizzati nell'elenco Scenari.
Puoi anche fare clic su Esporta nel riquadro Set di dati o Scenari per scaricare le definizioni esistenti come file YAML.
Il seguente file YAML di esempio definisce gli scenari di valutazione con turni di conversazione, contesti di valutazione e matcher predefiniti:
- 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."
Organizza gli scenari in set di dati
Gli scenari di valutazione possono esistere indipendentemente senza appartenere a un set di dati. Per organizzare gli scenari in un set di dati:
- Nel riquadro Scenari, seleziona uno o più scenari di test utilizzando le caselle di controllo.
- Trascina gli scenari selezionati nel set di dati di destinazione nel riquadro Set di dati.
- Fai clic sul set di dati nel riquadro Set di dati per espanderlo ed esaminare gli scenari assegnati.
4. Converti le sessioni cliente dalla cronologia degli ordini
Per riprodurre i problemi segnalati dai clienti o creare suite di test direttamente dal traffico di produzione reale:
- Nel menu di navigazione, fai clic su Cronologia degli ordini.
- Fai clic sulla riga della sessione di ordinazione che vuoi testare.
- Nel riquadro Dettagli ordine, fai clic su Converti in scenario di valutazione.
- Seleziona o crea un contesto di valutazione e matcher.
- Fai clic su Converti. Le espressioni del cliente passo passo vengono convertite automaticamente in uno scenario di valutazione.
5. Esegui le valutazioni ed esamina i risultati
Puoi eseguire un intero set di dati o eseguire singoli scenari selezionati:
- Esegui un set di dati: nel riquadro Set di dati, fai clic su Esegui set di dati accanto al set di dati di destinazione.
- Esegui singoli scenari: nel riquadro Scenari, seleziona uno o più scenari utilizzando le caselle di controllo, quindi fai clic su Esegui nella barra delle azioni di selezione.
Per monitorare le esecuzioni ed esaminare i risultati dettagliati:
- Fai clic sulla scheda Cronologia per monitorare l'avanzamento dell'esecuzione, la percentuale di superamento complessiva e la durata dell'esecuzione.
- Fai clic su un'esecuzione qualsiasi nella tabella della cronologia per visualizzare i risultati dettagliati dello scenario:
- Riepilogo: esamina la percentuale complessiva di superamento o non superamento e il numero totale di scenari superati.
- Trascrizioni dei turni: esamina il dialogo passo passo tra il cliente simulato e l'agente.
- Dettagli matcher: esamina i matcher superati o non superati, incluse le spiegazioni del giudice LLM per i criteri qualitativi non superati.
Passaggi successivi
- Scopri come configurare le sedi dei negozi ed esplorare i menu.
- Testa le interazioni di ordinazione in modo interattivo con l'anteprima dell'agente.