评估模型、提示词和智能体

您可以通过将模型、提示词和智能体的输出与基准数据进行比较并计算评估指标来对它们进行评估。Foundry Toolkit 简化了此过程。上传数据集并以最小的投入运行全面的评估。

Screenshot showing the start of an evaluation in Foundry Toolkit.

评估提示词和智能体

您可以在 Agent Builder 中通过选择 Evaluation(评估)选项卡来评估提示词和智能体。在评估之前,请针对数据集运行您的提示词或智能体。

要评估提示词或智能体

  1. Agent Builder 中,选择 Evaluation(评估)选项卡。
  2. 添加并运行您想要评估的数据集。
  3. 使用点赞和点踩图标对响应进行评分,并保留您的手动评估记录。
  4. 要添加评估器,请选择 New Evaluation(新建评估)。
  5. 从内置评估器列表中选择一个评估器,例如 F1 分数、相关性、连贯性或相似度。
    注意

    使用 GitHub 托管的模型运行评估时,可能会适用 速率限制

  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.

版本控制与评估对比

Foundry 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.

内置评估器

Foundry Toolkit 提供了一套内置评估器,用于衡量模型、提示词和智能体的性能。这些评估器基于您的模型输出和基准数据计算各种指标。

针对智能体

  • 意图解析:衡量智能体识别和解决用户意图的准确程度。
  • 任务遵循:衡量智能体执行既定任务的情况。
  • 工具调用准确性:衡量智能体选择和调用正确工具的情况。

针对通用目的

  • 连贯性:衡量响应的逻辑一致性和流畅度。
  • 流利度:衡量自然语言质量和可读性。

针对 RAG(检索增强生成)

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

针对文本相似度

  • 相似度:人工智能辅助的文本相似度测量。
  • F1 分数:响应与基准之间标记重叠的精确率和召回率的调和平均数。
  • BLEU:用于翻译质量的双语评估替补分数;衡量响应与基准之间 n-gram 的重叠情况。
  • GLEU:用于句子级评估的 Google-BLEU 变体;衡量响应与基准之间 n-gram 的重叠情况。
  • METEOR:具有显式排序的翻译评估指标;衡量响应与基准之间 n-gram 的重叠情况。

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

启动独立的评估作业

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

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

    • 评估作业名称:使用默认名称或输入自定义名称。
    • 评估器:从内置或自定义评估器中选择。
    • 判定模型:如果需要,选择一个模型作为判定模型。
    • 数据集:选择用于学习的示例数据集,或导入包含 query(查询)、response(响应)和 ground truth(基准)字段的 JSONL 文件。
  3. 一个新的评估作业已创建。系统会提示您打开评估作业详情。

    Screenshot showing the Open Evaluation dialog in Foundry Toolkit.

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

    Screenshot showing the Run Evaluation dialog in Foundry Toolkit.

监控评估作业

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

Screenshot showing a running evaluation in Foundry Toolkit.

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

查找评估结果

评估作业详情视图显示了每个选定评估器的结果表。某些结果可能包含汇总值。

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

Screenshot showing the Data Wrangler extension with evaluation results.

创建自定义评估器

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

Screenshot showing the custom evaluator creation interface in Foundry Toolkit.

要创建自定义评估器

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

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

    Screenshot showing the form to create a new custom evaluator.

  3. 提供所需信息

    • 名称:输入自定义评估器的名称。
    • 描述:描述该评估器的功能。
    • 类型:选择评估器类型:基于 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 Foundry Toolkit.

基于代码的评估器

对于基于代码的评估器,请使用 Python 代码定义评估逻辑。该代码应返回包含评估分数和理由的 JSON 结果。

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

Foundry 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."
    }

pytest 评估

使用 pytest 和 Visual Studio Code 的测试工具为您的智能体创建全面评估。

  1. 在树视图中找到智能体并选中它,以便在主区域显示 Agent Builder 视图。

  2. 选择 Evaluation(评估)选项卡。显示评估设置功能以构建 pytest 评估项目的截图。

  3. 选择“Scaffold Evaluation Code”(构建评估代码)按钮。

  4. 选择要构建的评估器并点击 OK。无论您选择哪个评估器,以后都可以根据需要编辑代码。

  5. 选择应在其中创建构建测试代码的文件夹。Visual Studio Code 的新实例将打开,并加载新的构建测试项目。

  6. 打开 README.md。“Quick Start”(快速入门)部分包含设置步骤(此处也已涵盖)。README.md 包含有助于理解如何修改项目的其他有用信息。

  7. 使用下面的一行命令来创建 Python 环境并安装依赖项。

    • Windows

      python -m venv .venv; .\.venv\Scripts\activate; pip install uv; uv pip install -r requirements.txt --prerelease=allow
      
    • MacOS / Linux

      python3 -m venv .venv && source .venv/bin/activate && pip install uv && uv pip install -r requirements.txt --prerelease=allow
      
  8. 在 VS Code 中选择 Python 环境。打开命令面板(Ctrl+Shift+PCmd+Shift+P),运行 Python: Select Interpreter,然后选择新建的环境。

  9. 打开 .env 文件并验证您的配置。它已预先配置了连接到 Foundry 中智能体的信息。

  10. 打开 data.jsonl 文件。其中包含 JSONL 格式的示例数据。您应该修改此数据,并根据所选评估器的类型,可能需要添加额外的属性和值。例如,某些评估器可能需要 queryresponsecontextground_truth 或其他属性的组合。您可以添加自己的自定义属性并在测试工具逻辑中处理它们。

  11. 在 VS Code 中打开 Testing(测试)面板(在活动栏中选择烧瓶图标)

  12. 选择测试代码旁边的播放按钮以运行所有测试。

  13. 在 Test Results(测试结果)面板中查看结果。

您学到了什么

在本文中,您学习了如何

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