Avaliar agentes criados com a API Managed Agents na Agent Platform

Nesta página, descrevemos 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. Siga 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 do agente e nas definições de ferramentas.
  2. Executar 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 o generate_conversation_scenarios para criar automaticamente cenários de teste com base na configuração do seu agente. O método lê a instrução do sistema e as ferramentas do agente para produzir comandos realistas do usuário.

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 rastreamento de conversa que captura toda a interação, 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 rastreamentos 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 com sucesso.
safety_v1 Avalia se as respostas do agente são seguras.
multi_turn_task_success_v1 Avalia se o agente concluiu com sucesso 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 rastreamentos de conversa do agente, incluindo a topologia do sistema (ferramentas e instruções do agente).

Avaliar interações atuais

Também é possível avaliar interações já gravadas com o agente. Isso é útil para avaliar a qualidade das conversas de produção. Para saber como enviar uma interação a um agente e 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 seu 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 tempo 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 Agent Platform do Google.

Guia

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