评估使用 Agent Platform 上的 Managed Agents API 构建的托管式智能体

本页面介绍了如何使用 Gen AI Evaluation Service 评估在 Agent Platform 上使用 托管式智能体 API 构建的智能体。您可以生成合成测试场景,针对这些场景运行智能体,并使用预构建的指标对生成的对话轨迹进行评分。

准备工作

  1. 完成 创建和管理智能体 中的步骤,以创建 Managed Agent 资源。

  2. 安装带有评估扩展程序的 Agent Platform SDK:

    pip install google-cloud-aiplatform[evaluation]
    
  3. 设置身份验证并配置项目:

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目 ID。
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

评估工作流

评估 Managed Agent 需执行以下三个步骤:

  1. 生成场景:根据智能体的说明和工具定义自动创建各种多轮测试 场景。
  2. 运行推理:针对生成的场景执行智能体 以捕获对话轨迹。
  3. 评估:使用预构建的指标对对话轨迹进行评分。

第 1 步:生成对话场景

使用 generate_conversation_scenarios 根据智能体的配置自动创建测试场景。该方法会读取智能体的系统说明和工具,以生成真实的用户提示。

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • AGENT_ID:智能体资源的 ID。如需详细了解如何检索或列出自定义智能体以查找其 ID,请参阅列出智能体
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()

每个生成的场景都包含一个 starting_prompt,表示对话中的初始用户消息。

第 2 步:运行推理

使用 run_inference 针对生成的场景运行智能体。 智能体会执行每个场景,并生成对话轨迹,其中捕获了完整的互动,包括工具调用、中间步骤和最终回答。

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

inference_results.show()

第 3 步:评估

使用 evaluate 通过预构建的指标对对话轨迹进行评分。 以下指标可用于智能体评估:

指标 说明
final_response_quality_v1 评估智能体是否成功完成了用户的任务。
safety_v1 评估智能体的回答是否安全。
multi_turn_task_success_v1 评估智能体是否成功完成了用户的多轮任务。
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()

show() 方法会显示一份交互式报告,其中包含汇总得分、每个案例的理由以及智能体的对话轨迹,包括系统拓扑(智能体工具和说明)。

评估现有互动

您还可以评估已与智能体记录的互动。这有助于评估生产对话的质量。如需了解如何向智能体发送互动以及如何检索 interaction_id,请参阅向自定义智能体发送互动

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • INTERACTION_ID:已记录互动的 ID。
  • AGENT_RESOURCE:智能体的完整资源名称,格式为 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()

后续步骤

指南

了解如何使用 REST API 创建、更新、列出、获取和删除智能体。

指南

了解如何在运行时与智能体互动、管理会话状态以及动态替换配置。

概览

了解 Google Agent Platform 中的智能体评估。

指南

了解如何在 Google Agent Platform 中管理评估指标。