Avaliar agentes criados com a API Managed Agents na Agent Platform

Esta página descreve como avaliar agentes criados com a API Agentes Gerenciados na Agent Platform usando o serviço de avaliação de IA generativa. É possível gerar cenários de teste sintéticos, executar o agente neles e pontuar os rastros de conversa resultantes com métricas pré-criadas.

Antes de começar

  1. Conclua as etapas em Criar e gerenciar agentes para criar um recurso de agente gerenciado.

  2. Instale o SDK da Agent Platform com a extensão de avaliação:

    pip install google-cloud-aiplatform[evaluation]
    
  3. Configure a autenticação e o projeto:

    Substitua:

    • PROJECT_ID: o ID do projeto do Google Cloud .
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

Fluxo de trabalho de avaliação

A avaliação de um agente gerenciado segue três etapas:

  1. Gerar cenários: crie automaticamente cenários de teste diversos e multiturno com base nas instruções e definições de ferramentas do agente.
  2. Executar a inferência: execute o agente nos cenários gerados para capturar rastros de conversa.
  3. Avaliar: pontue os rastros de conversa usando métricas pré-criadas.

Etapa 1: gerar cenários de conversa

Use generate_conversation_scenarios para criar automaticamente cenários de teste com base na configuração do agente. O método lê a instrução e as ferramentas do sistema do agente para produzir comandos de usuário realistas.

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • AGENT_ID: o ID do recurso do agente. Para mais informações sobre como recuperar ou listar agentes personalizados para encontrar os IDs deles, consulte Listar agentes.
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()

Cada cenário gerado inclui um starting_prompt que representa a mensagem inicial do usuário em uma conversa.

Etapa 2: executar a inferência

Use run_inference para executar o agente nos cenários gerados. O agente executa cada cenário e produz um rastro de conversa que captura a interação completa, incluindo chamadas de ferramentas, etapas intermediárias e a resposta final.

inference_results = client.evals.run_inference(
    agent=AGENT_RESOURCE,
    src=scenarios,
    config={"user_simulator_config": {"max_turn": 5}}
)

inference_results.show()

Etapa 3: avaliar

Use evaluate para pontuar os rastros de conversa com métricas pré-criadas. As seguintes métricas estão disponíveis para avaliação de agentes:

Métrica Descrição
final_response_quality_v1 Avalia se o agente concluiu a tarefa do usuário.
safety_v1 Avalia se as respostas do agente são seguras.
multi_turn_task_success_v1 Avalia se o agente concluiu a tarefa multiturno do usuário.
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()

O método show() mostra um relatório interativo com pontuações agregadas, justificativas por caso e os rastros de conversa do agente, incluindo a topologia do sistema (instruções e ferramentas do agente).

Avaliar interações atuais

Também é possível avaliar interações que já foram gravadas com o agente. Isso é útil para avaliar a qualidade das conversas de produção. Para informações sobre como enviar uma interação a um agente e como recuperar o interaction_id, consulte Enviar uma interação a um agente personalizado.

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • INTERACTION_ID: o ID de uma interação gravada.
  • AGENT_RESOURCE: o nome completo do recurso do agente, no 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()

A seguir

Guia

Saiba como criar, atualizar, listar, receber e excluir agentes usando a API REST.

Guia

Saiba como interagir com agentes no ambiente de execução, gerenciar o estado da sessão e substituir configurações de forma dinâmica.

Visão geral

Saiba mais sobre a avaliação de agentes na Google Agent Platform.

Guia

Saiba como gerenciar métricas de avaliação na Google Agent Platform.