Questa pagina descrive come valutare gli agenti creati con l'API Managed Agents su Agent Platform utilizzando Gen AI evaluation service. Puoi generare scenari di test sintetici, eseguire l'agente su di essi e assegnare un punteggio alle tracce di conversazione risultanti con metriche predefinite.
Prima di iniziare
Completa i passaggi descritti in Creare e gestire gli agenti per creare una risorsa Managed Agent.
Installa l'SDK Agent Platform con l'estensione di valutazione:
pip install google-cloud-aiplatform[evaluation]Configura l'autenticazione e il progetto:
Sostituisci quanto segue:
- PROJECT_ID: l' Google Cloud ID progetto.
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
Flusso di lavoro di valutazione
La valutazione di un Managed Agent prevede tre passaggi:
- Genera scenari: crea automaticamente scenari di test multi-turno diversi dalle istruzioni e dalle definizioni degli strumenti dell'agente.
- Esegui l'inferenza: esegui l'agente in base agli scenari generati per acquisire le tracce di conversazione.
- Valuta: assegna un punteggio alle tracce di conversazione utilizzando metriche predefinite.
Passaggio 1: genera scenari di conversazione
Utilizza generate_conversation_scenarios per creare automaticamente scenari di test in base alla configurazione dell'agente. Il metodo legge le istruzioni di sistema e gli strumenti dell'agente per produrre prompt utente realistici.
Sostituisci quanto segue:
- PROJECT_ID: l' Google Cloud ID progetto.
- AGENT_ID: l'ID della risorsa agente. Per ulteriori informazioni su come recuperare o elencare gli agenti personalizzati per trovare i relativi ID, consulta Elencare gli agenti.
AGENT_RESOURCE = f"projects/PROJECT_ID/locations/global/agents/AGENT_ID"
scenarios = client.evals.generate_conversation_scenarios(
agent=AGENT_RESOURCE,
config={
"count": 5,
"generation_instruction": "Generate scenarios where a user asks for a refund.",
},
)
scenarios.show()
Ogni scenario generato include un starting_prompt che rappresenta il messaggio iniziale dell'utente in una conversazione.
Passaggio 2: esegui l'inferenza
Utilizza run_inference per eseguire l'agente in base agli scenari generati.
L'agente esegue ogni scenario e produce una traccia di conversazione che acquisisce l'interazione completa, incluse le chiamate agli strumenti, i passaggi intermedi e la risposta finale.
inference_results = client.evals.run_inference(
agent=AGENT_RESOURCE,
src=scenarios,
config={"user_simulator_config": {"max_turn": 5}}
)
inference_results.show()
Passaggio 3: valuta
Utilizza evaluate per assegnare un punteggio alle tracce di conversazione con metriche predefinite.
Per la valutazione dell'agente sono disponibili le seguenti metriche:
| Metrica | Descrizione |
|---|---|
final_response_quality_v1 |
Valuta se l'agente ha completato correttamente l'attività dell'utente. |
safety_v1 |
Valuta se le risposte dell'agente sono sicure. |
multi_turn_task_success_v1 |
Valuta se l'agente ha completato correttamente l'attività multi-turno dell'utente. |
from agentplatform import types
eval_result = client.evals.evaluate(
dataset=inference_results,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()
Il metodo show() mostra un report interattivo con punteggi aggregati, motivazioni per caso e le tracce di conversazione dell'agente, inclusa la topologia di sistema (istruzioni e strumenti dell'agente).
Valuta le interazioni esistenti
Puoi anche valutare le interazioni già registrate con l'agente. Questa funzionalità è utile per valutare la qualità delle conversazioni di produzione. Per informazioni su come inviare un'interazione a un agente e su come recuperare l'interaction_id, consulta Inviare un'interazione a un agente personalizzato.
Sostituisci quanto segue:
- PROJECT_ID: l' Google Cloud ID progetto.
- INTERACTION_ID: l'ID di un'interazione registrata.
- AGENT_RESOURCE: il nome completo della risorsa dell'agente, nel
formato
projects/PROJECT_ID/locations/global/agents/AGENT_ID.
interactions_dataset = types.EvaluationDataset(
eval_cases=[
types.EvalCase(
interactions_data_source=types.InteractionsDataSource(
interaction=f"projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID",
gemini_agent_config=types.GeminiAgentConfig(
gemini_agent=AGENT_RESOURCE,
),
),
),
]
)
eval_result = client.evals.evaluate(
dataset=interactions_dataset,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()
Passaggi successivi
Creare e gestire gli agenti
Scopri come creare, aggiornare, elencare, ottenere ed eliminare gli agenti utilizzando l'API REST.
Interagire con gli agenti
Scopri come interagire con gli agenti in fase di runtime, gestire lo stato della sessione e sostituire dinamicamente le configurazioni.
Valutazione dell'agente
Scopri di più sulla valutazione degli agenti in Google Agent Platform.
Gestire le metriche di valutazione
Scopri come gestire le metriche di valutazione in Google Agent Platform.