Valutare gli agenti creati con l'API Managed Agents su Agent Platform

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

  1. Completa i passaggi descritti in Creare e gestire gli agenti per creare una risorsa Managed Agent.

  2. Installa l'SDK Agent Platform con l'estensione di valutazione:

    pip install google-cloud-aiplatform[evaluation]
    
  3. 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:

  1. Genera scenari: crea automaticamente scenari di test multi-turno diversi dalle istruzioni e dalle definizioni degli strumenti dell'agente.
  2. Esegui l'inferenza: esegui l'agente in base agli scenari generati per acquisire le tracce di conversazione.
  3. 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

Guida

Scopri come creare, aggiornare, elencare, ottenere ed eliminare gli agenti utilizzando l'API REST.

Guida

Scopri come interagire con gli agenti in fase di runtime, gestire lo stato della sessione e sostituire dinamicamente le configurazioni.

Panoramica

Scopri di più sulla valutazione degli agenti in Google Agent Platform.

Guida

Scopri come gestire le metriche di valutazione in Google Agent Platform.