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 il servizio di valutazione di AI generativa. Puoi generare scenari di test sintetici, eseguire l'agente su questi scenari e valutare le tracce delle conversazioni risultanti con metriche predefinite.

Prima di iniziare

  1. Completa i passaggi descritti in Crea e gestisci gli agenti per creare una risorsa Agente gestito.

  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'ID progetto Google Cloud .
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

Flusso di lavoro di valutazione

La valutazione di un agente gestito prevede tre passaggi:

  1. Genera scenari: crea automaticamente scenari di test diversi e a più turni dalle istruzioni e dalle definizioni degli strumenti dell'agente.
  2. Esegui l'inferenza: esegui l'agente sugli scenari generati per acquisire le tracce della conversazione.
  3. Valutazione: assegna un punteggio alle tracce della 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'ID progetto Google Cloud .
  • AGENT_ID: l'ID della risorsa agente. Per saperne di più su come recuperare o elencare gli agenti personalizzati per trovare i loro ID, consulta Elenca 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 sugli scenari generati. L'agente esegue ogni scenario e produce una traccia della conversazione che acquisisce l'intera interazione, 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 valutare le tracce della conversazione con metriche predefinite. Per la valutazione degli agenti 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() visualizza un report interattivo con punteggi aggregati, motivazioni per caso e tracce della conversazione dell'agente, inclusa la topologia del sistema (strumenti e istruzioni dell'agente).

Valuta le interazioni esistenti

Puoi anche valutare le interazioni che sono già state registrate con l'agente. Questo è 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 Invia un'interazione a un agente personalizzato.

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto Google Cloud .
  • 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, recuperare ed eliminare gli agenti utilizzando l'API REST.

Guida

Scopri come interagire con gli agenti in fase di runtime, gestire lo stato della sessione ed eseguire l'override dinamico delle 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.