现已发布!阅读关于 11 月新增功能和修复的内容。

评估模型、提示和代理

您可以通过将模型、提示和代理的输出与真实数据进行比较并计算评估指标来评估它们。AI Toolkit 简化了此过程。上传数据集并轻松运行全面评估。

Screenshot showing the start of an evaluation in AI Toolkit.

评估提示和代理

您可以在 **Agent Builder** 中通过选择 **Evaluation**(评估)选项卡来评估提示和代理。在评估之前,请针对数据集运行您的提示或代理。详细了解 Bulk run(批量运行)以了解如何处理数据集。

评估提示或代理

  1. 在 **Agent Builder** 中,选择 **Evaluation**(评估)选项卡。
  2. 添加并运行要评估的数据集。
  3. 使用向上和向下的大拇指图标为响应评分,并记录手动评估。
  4. 要添加评估器,请选择 **New Evaluation**(新评估)。
  5. 从内置评估器列表中选择一个评估器,例如 F1 分数、相关性、一致性或相似性。
    注意

    使用 GitHub 托管的模型运行评估时,可能会应用 Rate limits(速率限制)。

  6. 如果需要,请选择一个模型用作评估的判断模型。
  7. 选择 **Run Evaluation**(运行评估)以启动评估作业。

Screenshot showing the Evaluation tab in Agent Builder with options to select evaluators, judging models, and run evaluation against a dataset.

版本控制和评估比较

AI Toolkit 支持提示和代理的版本控制,因此您可以比较不同版本的性能。创建新版本时,您可以运行评估并与先前版本比较结果。

保存提示或代理的新版本

  1. 在 **Agent Builder** 中,定义系统或用户提示,添加变量和工具。
  2. 运行代理或切换到 **Evaluate**(评估)选项卡并添加数据集进行评估。
  3. 对提示或代理满意后,从工具栏中选择 **Save as New Version**(另存为新版本)。
  4. (可选)提供版本名称并按 Enter 键。

查看版本历史记录

您可以在 **Agent Builder** 中查看提示或代理的版本历史记录。版本历史记录显示所有版本以及每个版本的评估结果。

Screenshot showing the Version History dialog with a list of saved versions of a prompt or agent.

在版本历史记录视图中,您可以

  • 选择版本名称旁边的铅笔图标以重命名版本。
  • 选择垃圾桶图标以删除版本。
  • 选择版本名称以切换到该版本。

比较版本之间的评估结果

您可以在 **Agent Builder** 中比较不同版本的评估结果。结果显示在表格中,显示每个评估器的得分以及每个版本的总体得分。

比较版本之间的评估结果

  1. 在 **Agent Builder** 中,选择 **Evaluation**(评估)选项卡。
  2. 从评估工具栏中,选择 **Compare**(比较)。
  3. 从列表中选择要与之比较的版本。
    注意

    比较功能仅在 Agent Builder 的全屏模式下可用,以获得更好的评估结果可见性。您可以展开 **Prompt**(提示)部分以查看模型和提示的详细信息。

  4. 选定版本的评估结果显示在表格中,允许您比较每个评估器的得分以及每个版本的总体得分。

Screenshot showing the Evaluation tab in Agent Builder with the interface for comparing evaluation results between different versions.

内置评估器

AI Toolkit 提供了一套内置评估器,用于衡量模型、提示和代理的性能。这些评估器根据您的模型输出和真实数据计算各种指标。

对于代理

  • Intent Resolution(意图解析):衡量代理识别和处理用户意图的准确性。
  • Task Adherence(任务依从性):衡量代理在执行已识别任务方面的表现。
  • Tool Call Accuracy(工具调用准确性):衡量代理选择和调用正确工具的准确性。

通用

  • Coherence(一致性):衡量响应的逻辑一致性和流畅性。
  • Fluency(流畅性):衡量自然语言的质量和可读性。

对于 RAG(检索增强生成)

  • Retrieval(检索):衡量系统检索相关信息的有效性。

对于文本相似性

  • Similarity(相似性):AI 辅助文本相似性测量。
  • F1 Score(F1 分数):响应和真实数据之间词元重叠的精确率和召回率的调和平均数。
  • BLEU:翻译质量的双语评估帮手得分;衡量响应和真实数据之间 n-gram 的重叠。
  • GLEU:Google-BLEU 变体,用于句子级评估;衡量响应和真实数据之间 n-gram 的重叠。
  • METEOR:带显式排序的翻译评估指标;衡量响应和真实数据之间 n-gram 的重叠。

AI Toolkit 中的评估器基于 Azure Evaluation SDK。要了解有关生成式 AI 模型可观察性的更多信息,请参阅 Microsoft Foundry 文档

启动独立的评估作业

  1. 在 AI Toolkit 视图中,选择 **TOOLS**(工具)> **Evaluation**(评估)以打开评估视图。

  2. 选择 **Create Evaluation**(创建评估),然后提供以下信息

    • Evaluation job name(评估作业名称):使用默认名称或输入自定义名称。
    • Evaluator(评估器):从内置或自定义评估器中选择。
    • Judging model(判断模型):如果需要,选择一个模型用作判断模型。
    • Dataset(数据集):选择一个示例数据集进行学习,或导入一个具有 query(查询)、response(响应)和 ground truth(真实数据)字段的 JSONL 文件。
  3. 将创建一个新的评估作业。系统会提示您打开评估作业详细信息。

    Screenshot showing the Open Evaluation dialog in AI Toolkit.

  4. 验证您的数据集并选择 **Run Evaluation**(运行评估)以开始评估。

    Screenshot showing the Run Evaluation dialog in AI Toolkit.

监控评估作业

启动评估作业后,您可以在评估作业视图中查看其状态。

Screenshot showing a running evaluation in AI Toolkit.

每个评估作业都包含一个指向所用数据集的链接、评估过程的日志、一个时间戳以及一个指向评估详细信息的链接。

查找评估结果

评估作业详细信息视图显示一个表格,其中包含每个选定评估器的结果。某些结果可能包括汇总值。

您还可以选择 **Open In Data Wrangler**(在 Data Wrangler 中打开),使用 Data Wrangler 扩展打开数据。

Screenshot showing the Data Wrangler extension with evaluation results.

创建自定义评估器

您可以创建自定义评估器来扩展 AI Toolkit 的内置评估功能。自定义评估器允许您定义自己的评估逻辑和指标。

Screenshot showing the custom evaluator creation interface in AI Toolkit.

创建自定义评估器

  1. 在 **Evaluation**(评估)视图中,选择 **Evaluators**(评估器)选项卡。

  2. 选择 **Create Evaluator**(创建评估器)以打开创建表单。

    Screenshot showing the form to create a new custom evaluator.

  3. 提供所需信息

    • Name(名称):为您的自定义评估器输入一个名称。
    • Description(描述):描述评估器的工作。
    • Type(类型):选择评估器类型:基于 LLM 或基于代码(Python)。
  4. 遵循所选类型的说明完成设置。

  5. 选择 **Save**(保存)以创建自定义评估器。

  6. 创建自定义评估器后,它将出现在评估器列表中,供您在创建新评估作业时选择。

基于 LLM 的评估器

对于基于 LLM 的评估器,使用自然语言提示定义评估逻辑。

编写一个提示来指导评估器评估特定质量。定义标准、提供示例,并使用 等变量来提高灵活性。根据需要自定义量表或反馈样式。

确保 LLM 输出 JSON 结果,例如:{"score": 4, "reason": "The response is relevant but lacks detail."}(响应相关但缺乏细节)。

您还可以使用 **Examples**(示例)部分来开始使用您的基于 LLM 的评估器。

Screenshot showing the LLM-based evaluator configuration in AI Toolkit.

基于代码的评估器

对于基于代码的评估器,使用 Python 代码定义评估逻辑。代码应返回一个 JSON 结果,包含评估分数和原因。

Screenshot showing the Evaluators tab in AI Toolkit with options for creating code-based evaluators.

AI Toolkit 会根据您的评估器名称以及您是否使用外部库提供一个脚手架。

您可以修改代码以实现您的评估逻辑

# The method signature is generated automatically. Do not change it.
# Create a new evaluator if you want to change the method signature or arguments.
def measure_the_response_if_human_like_or_not(query, **kwargs):
    # Add your evaluator logic to calculate the score.

    # Return an object with score and an optional string message to display in the result.
    return {
        "score": 3,
        "reason": "This is a placeholder for the evaluator's reason."
    }

您学到了什么

在本文中,您学习了如何

  • 在 VS Code 的 AI Toolkit 中创建和运行评估作业。
  • 监控评估作业的状态并查看其结果。
  • 比较提示和代理不同版本的评估结果。
  • 查看提示和代理的版本历史记录。
  • 使用内置评估器通过各种指标来衡量性能。
  • 创建自定义评估器以扩展内置评估功能。
  • 使用基于 LLM 和基于代码的评估器来处理不同的评估场景。
© . This site is unofficial and not affiliated with Microsoft.