你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Microsoft Foundry 门户中进行评估

重要

本文中标记为(预览)的项目目前以公共预览版提供。 此预览版在没有服务级别协议的情况下提供,不建议将其用于生产工作负荷。 某些功能可能不受支持,或者可能具有受限功能。 有关详细信息,请参阅 Microsoft Azure 预览版的使用条款

通过运行衡量性能、质量和安全性的评估来测试生成式 AI 模型和智能体。 在部署之前使用评估来验证行为,或在部署后监视生产质量。 评测会让您的模型或智能体基于测试数据运行,并使用内置或自定义评估器对输出结果评分。

本文介绍如何在 Foundry 门户中创建和运行评估。

先决条件

  • 一份 Azure 订阅。 免费创建一个

  • Microsoft Foundry 项目。 如果没有项目,请创建一个项目

  • 以下项之一,具体取决于评估目标:

    • 智能体评估:项目中的智能体。
    • 模型评估:已部署的模型或对即时模型的访问。
    • 数据集评估:CSV 或 JSONL 格式的测试数据集,其中包含预先存在的模型或代理输出。
  • 与已部署的 GPT 模型(例如,gpt-4.1-mini)建立Azure OpenAI 连接。 AI 辅助质量评估所必需的。

  • 在 Foundry 项目中的 Foundry User 角色。 有关详细信息,请参阅Microsoft Foundry 的基于角色的访问控制

    重要

    Foundry RBAC 角色最近已更名。 Foundry 用户Foundry 所有者Foundry 帐户所有者Foundry 项目经理之前的名称分别为“Azure AI 用户”、“Azure AI 所有者”、“Azure AI 帐户所有者”和“Azure AI 项目经理”。 在重命名推出时,你仍可能会在某些位置看到以前的名称。重命名后,角色 ID 和核心权限保持不变。

选择评估方法

根据要测试的内容选择评估方法:

目标 Scope 数据源 最适用于
Agent 完整对话 模拟数据 在部署之前,使用综合方案测试端到端代理行为。
Agent 完整对话 现有会话 评估实际用户交互以监视生产质量。
Agent 单个回合 现有数据集 调试特定的代理响应、测试工具使用情况、精细分析。
Agent 单个回合 综合数据 使用生成的查询测试单轮 Q&A 或 RAG 方案。
Agent 单个回合 现有跟踪记录 评估项目中的历史智能体跟踪。
型号 单个回合 综合数据 使用生成的提示测试模型补全结果。
型号 单个回合 现有数据集 针对特选测试集对模型性能进行基准测试。
数据集 单个回合 (数据集是目标) 在不重新运行模型或代理的情况下评估预先存在的输出。

小窍门

代理>完整对话>模拟数据开始,以在受控场景中测试您的代理的行为。 在代理上线后,使用 现有对话 来监控真实环境中的表现。

创建评估

可以从 Foundry 门户中的多个位置开始评估:

  • 评估页:在左窗格中,选择 “评估>创建”。
  • “模型”页:转到模型,选择“ 评估 ”选项卡,然后选择“ 创建”。
  • 代理页:转到代理,选择“ 评估 ”选项卡,然后选择“ 创建”。
  • 代理沙盒:转到您的代理,选择“沙盒”选项卡,然后选择“指标”,>。

步骤 1:选择评估目标

创建评估时,首先选择评估目标。 目标确定评估针对的对象:

目标 Description
Agent 评估由你选择的代理基于用户定义的输入生成的输出。 适用于 提示代理托管代理
型号 评估所选模型和用户定义的提示生成的输出。
数据集 评估测试数据集中预先存在的模型或代理输出。
Traces 评估 Application Insights 中已捕获的代理交互。 选择智能体和时间范围,门户将自动检索匹配的跟踪以供评估。 有关 SDK 等效项,请参阅 跟踪评估

小窍门

即时模型:即时模型是无需创建部署即可立即使用的无部署模型。 创建评估时,可以直接从模型选取器中选择即时模型作为评估目标或判断模型。

步骤 2:选择评估范围

注意

此步骤仅适用于 代理数据集 目标。 模型评估始终使用单个回合。

选择要评估智能体性能的方式:

Scope Description 最适用于
完整对话(预览版) 从头到尾评估完整的多回合对话。 度量整体对话质量、任务完成和用户满意度。 测试端到端代理体验、客户满意度和聊天流。
单个回合 评估对话中的单个智能体响应。 度量每轮次指标,例如工具选择准确性和响应质量。 调试特定的代理行为、测试工具使用情况和精细分析。

步骤 3:选择数据源

数据源选项取决于评估目标和范围。

用于对话评估(智能体 > 完整对话)(预览版)

选择对话数据的来源:

模拟数据

通过让代理基于数据集中的场景描述运行来生成合成对话。 使用此选项可在部署前在受控方案中测试代理的行为。

  1. 选择 “模拟数据”。

  2. 选择“ 生成 ”以打开模拟配置对话框。

  3. 选择文件:选择包含场景描述的数据集。 数据集中的每个行描述用于生成模拟对话的方案。

    显示模拟对话框中数据集预览的屏幕截图。

  4. 选择模型:选择模拟聊天中用户的模型:

    • gpt-4.1 (建议用于复杂方案)
    • gpt-4o
    • gpt-4o-mini
    • gpt-4.1-mini
  5. 配置模拟设置

    • 每个方案的模拟会话数:为数据集中的每个行生成多少个会话(1-5)。 每个场景中的多个对话有助于识别智能体行为的差异。
    • 每个会话的轮次数:每个会话允许的最大轮次数(1-50)。 当任务完成或达到此限制时,会话将结束。
  6. 选择 “确认 ”以保存模拟配置。

现有会话

评估智能体已与用户进行的真实对话。

  1. 选择 现有对话
  2. 配置筛选选项:
    • 对话数:从日期范围(1-100)采样的最大对话数。
    • 时间范围:按时间段筛选对话。 使用快速筛选器(最后一天、7D、1M、3M)或选择自定义日期范围。
  3. 浏览并选择要包含在评估中的特定对话。

对于单个回合评估

选择评估数据的来源:

综合数据

使用 AI 生成测试查询。 选择 “合成 ”并配置行数和描述要生成的数据的提示。 还可以上传文件以提高相关性。

注意

合成数据生成需要具有响应 API 功能的模型。 有关可用性,请参阅 响应 API 区域可用性

现有数据集

使用 CSV 或 JSONL 格式的已准备数据集。 选择 “现有数据集 ”,然后从项目的数据资产中选择一个文件。 仅支持 CSV 和 JSONL 文件格式。

现有跟踪(仅限智能体)

评估项目中的历史智能体跟踪。 选择 现有跟踪 并按日期范围进行筛选以选择跟踪。

多模式内容(预览版)

所有评估目标都支持图像和音频内容。 每个内容类型都使用特定的 JSONL 架构:

图像内容:

  • image_url:图像作为数据 URI(例如 data:image/png;base64,...)或可公开访问的 URL。
  • caption:图像内容的文本说明。
{"image_url": "data:image/png;base64,iVBOR...", "caption": "A red to blue color gradient"}

音频内容:

  • audio_data: 音频以 base64 编码的 WAV 数据形式成为数据 URI(例如 data:audio/wav;base64,...)。
  • expected:预期音频内容的文本说明。

注意

目前仅支持 WAV 音频格式。

{"audio_data": "data:audio/wav;base64,UklGR...", "expected": "A short beep tone at 440 Hz"}

数据集还可以使用聊天消息对话格式,其中音频和图像数据作为数据 URI 或可公开访问的 URL 嵌入在单个聊天消息列中。

以下示例显示了包含嵌入图像和音频内容的聊天数据集列:

[
  {
    "role": "system",
    "content": "..."
  },
  {
    "role": "user",
    "content": [
      {
        "type": "text",
        "text": "What are in these images?"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/path/image.png"
        }
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "data:image/png;base64,iVBORw0KGgo..."
        }
      }
    ]
  },
  {
    "role": "assistant",
    "content": "..."
  },
  {
    "role": "user",
    "content": [
      {
        "type": "text",
        "text": "Tell me the tones for the voices?"
      },
      {
        "type": "input_audio",
        "input_audio": {
          "data": "https://example.com/path/voice.wav",
          "format": "wav"
        }
      },
      {
        "type": "input_audio",
        "input_audio": {
          "data": "data:audio/wav;base64,UklGRigAAA...",
          "format": "wav"
        }
      }
    ]
  }
]

可以直接在评估创建流和评估结果视图中预览图像和播放音频剪辑。

步骤 4:配置代理

注意

此步骤仅在 代理 评估中显示。

自定义代理在评估期间的行为方式:

  1. 查看评估中涉及的代理列表。
  2. 对于每个代理,选择“ 配置 ”以自定义其行为:
    • 系统提示:修改代理的评估说明。
    • 用户提示:指定在评估期间将每个数据集项发送到代理的方式。
  3. 评估运行会保留代理配置。

用户提示配置

用户提示定义如何将测试输入传递到代理。 默认情况下,门户使用 {{item.query}} 将数据集查询直接传递给智能体。

在大多数情况下,可以使用默认值。 仅当代理需要其他输入格式时更改此值。 例如,如果您的代理使用托管代理协议,或者需要包含其他字段的结构化输入。

常见模式:

Format 何时使用
{{item.query}} 违约。 直接从数据集传递查询字段。
{{item.messages}} 适用于将会话历史记录作为输入的代理。
自定义 JSON 适用于需要结构化请求体的托管智能体或 API。

小窍门

使用自定义提示测试数据集中可能不会自然发生的边缘事例或特定方案。

步骤 5:配置字段映射

注意

使用现有数据(现有对话、现有数据集或现有跟踪)时,将显示此步骤。

将数据字段映射到每个计算器期望的字段。 必填字段取决于评估范围。

用于对话评估(多轮次)

领域 Description 必选
消息 聊天格式的对话消息。 是的
tool_definitions 可用于代理的工具或函数定义。 是的

对于单个回合评估(单回合)

领域 Description 必选
query 用户查询或提示。 是的
响应 模型或代理响应。 是的
context 检索 RAG 方案的上下文。
ground_truth 预期正确答案以供比较。
tool_calls 智能体进行的工具调用。
tool_definitions 可用的工具定义。

门户会自动尝试对您的数据集字段进行映射。 如果字段显示为 “未分配”,请选择下拉列表以从数据集手动分配列。

注意

必填字段标有星号 (*) 。 如果必填字段未分配,评估器将失败。

步骤 6:选择测试条件

选择要用于评估的评估器。 Microsoft Foundry 提供三类内置评估器。 可用的评估器取决于您的评估范围。

代理评估器

评估代理如何处理任务、工具和用户意向。 仅适用于 单个回合 范围。

评估者 Description
意向解析 度量代理是否已正确识别并解决用户的意图。
任务依从性 衡量代理遵循的说明和约束程度。
工具调用成功 评估工具调用是否成功执行。
工具选择 度量代理是否为任务选择了适当的工具。
工具输出利用率 评估代理在响应中如何使用工具输出。
工具输入准确性 度量代理是否向工具提供了正确的输入。
工具调用准确度 工具使用的总体准确性。

质量评估器

测量生成的响应的总体质量。 大多数质量评估器都可用于所有评估范围。 带有★标记的评估器均支持会话级和轮次级分析。

评估者 Description 对话支持
客户满意度 预测用户对代理交互的满意度。
任务完成 评估代理是否已成功完成请求的任务。
相干 测量逻辑流和响应的一致性。
Groundedness 度量响应是否以提供的上下文为基础。
响应完整性 评估响应是否完全解决用户查询的问题。
流畅 评估自然语言质量。
Relevance 评估响应与查询的相关程度。

安全评估者

确定潜在的内容和安全风险。 仅适用于 单个回合 范围。

评估者 Description
暴力 检测响应中的暴力内容。
性别 检测色情内容。
自残 检测与自我伤害相关的内容。
仇恨/不公平 检测可恨或有偏见的内容。

门户根据评估目标和范围预先选择建议的评估器:

  • 完整对话:客户满意度、任务完成、一致性、基础性
  • 单个回合(现有数据):所有智能体评估器以及质量和安全评估器
  • 单个回合(合成/跟踪):相关性、基础性、流畅性、一致性

小窍门

您可以根据需要添加或删除评估器。 选择 自定义计算器 以使用项目中定义的计算器。

步骤 7:查看和提交

  1. 输入用于您的评估的名称
  2. 查看配置:
    • 评估目标和范围
    • 数据源和数据集
    • 所选评估者
    • 字段映射(如果适用)
  3. 选择 “提交 ”以开始评估。

提交后,评估运行将启动。 评估通常在几分钟内完成,具体取决于数据集大小和要模拟的对话数。

要确认您的评估已成功启动:

  1. 在左窗格中,选择“ 评估”。
  2. 在列表中找到您的评估。 “状态”列显示当前状态:
    • 进行中:评估正在进行。
    • 已完成:评估成功完成。
    • 部分:某些评估器已完成,但其他评估器失败。
    • 失败:评估遇到错误。

若要查看详细结果,请选择评估名称或查看 评估结果

小窍门

对于编程评估工作流,请使用 Azure AI 评估 SDK。 请参阅 如何使用 SDK 运行批处理评估

故障排除

评估超时或运行缓慢

  • 减少聊天或数据集行数。
  • 对于模拟场景,请减少每次对话的最大轮数。
  • 检查您的评判模型是否有足够的配额。

字段映射错误

  • 确认您的数据集是否包含您的评估范围所需的列。
  • 对于对话评估,请确保 消息 列包含格式正确的聊天消息。
  • 检查数据集中的列名称是否与预期的字段名称匹配。

超出模型配额

  • 用于 AI 辅助评估的评判模型会占用你的 Azure OpenAI 配额。
  • 使用较小的数据集或等待配额刷新。
  • 请考虑使用 gpt-4.1-mini 而不是 gpt-4.1,以进行更具成本效益的评估。

最佳做法

用于基于仿真的评估

  • 从小开始:从每个方案 1 个对话开始,5-10 轮次,以在纵向扩展之前验证设置。
  • 多种方案:包括各种方案说明来测试不同的代理功能。
  • 迭代优化提示词:如果代理表现不符合预期,请使用 配置代理 步骤调整提示词。

对于现有对话评估

  • 代表性示例:选择表示典型用户交互的对话。
  • 包括边界情况:不要只评估成功的对话——也要纳入具有挑战性的情境。
  • 定期评估:计划定期评估以跟踪一段时间内的代理性能。

用于模型评估

  • 基准数据集:使用标准化数据集比较各个版本的模型性能。
  • 测试已部署模型和即时模型:将优化后的部署与基本模型进行比较。

用于数据集评估

  • 预计算输出:离线生成输出,并进行批量评估,以提高成本效益。
  • 对数据集进行版本控制:跟踪哪个数据集版本生成了哪些评估结果。

一般提示

  • 比较计算器:通过多个计算器运行相同的数据以获取全面的视图。
  • 跟踪趋势:使用评估历史记录确定性能改进或回归。
  • 处理结果:使用评估见解优化代理提示、工具定义和配置。

详细了解如何评估生成式 AI 模型和代理程序: