评估模型、提示和代理

你可以通过将模型、提示和代理的输出与真实数据和计算评估指标进行比较来评估它们。AI Toolkit简化了这一流程。上传数据集,并以最小的努力进行全面评估。

显示 AI Toolkit 评估开始的截图。

评估提示和代理

你可以在代理构建器中选择“评估”标签来评估提示和代理。在评估之前,先将提示词或代理数据与数据集对比。阅读更多关于批量运行的内容,了解如何处理数据集。

评估提示词或代理:

  1. 代理构建器中,选择“评估”标签。
  2. 添加并运行你想评估的数据集。
  3. 使用点赞和点赞图标来评分回答并记录你的手动评估。
  4. 要添加评估器,请选择“新评估”
  5. 从内置评估器列表中选择一个评估器,如F1分数、相关性、连贯性或相似度。
    注释

    使用 GitHub 托管模型进行评估时,可能会有速率限制

  6. 如有需要,选择一个模型作为评判模型。
  7. 选择运行评估以开始评估任务。

截图显示了Agent Builder中的评估标签,提供选择评估者、判断模型以及对数据集进行评估的选项。

版本控制与评估比较

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

要保存提示词或代理的新版本:

  1. 代理构建器中,定义系统或用户提示符,添加变量和工具。
  2. 运行代理或切换到评估标签页,添加数据集进行评估。
  3. 当你对提示或代理感到满意时,从工具栏中选择“另存为新版本”。
  4. 可选地,提供版本名称并按回车。

查看版本历史

你可以在代理构建器中查看提示符或代理的版本历史。版本历史显示所有版本,并附有每个版本的评估结果。

截图显示了版本历史对话框,并列出了提示符或代理的已保存版本列表。

在版本历史视图中,你可以:

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

比较不同版本的评估结果

你可以在Agent Builder中比较不同版本的评估结果。结果以表格形式显示,显示每位评估者的得分和各版本的总分。

比较不同版本的评估结果:

  1. 代理构建器中,选择“评估”标签。
  2. 在评估工具栏中,选择“比较”。
  3. 从列表中选择你想比较的版本。
    注释

    比较功能仅在代理构建器的全屏模式下提供,以便更好地查看评估结果。你可以展开提示部分查看模型和提示详情。

  4. 所选版本的评估结果会以表格形式显示,方便你比较每位评测者的得分与各版本的总分。

截图显示了Agent Builder中的评估标签页,以及不同版本间评估结果比较的界面。

内置评估器

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

对于代理人:

  • 意图解析:衡量智能体识别和处理用户意图的准确程度。
  • 任务依从性:衡量代理完成已确定任务的表现。
  • 工具呼叫准确性:衡量代理人选择并调用正确工具的能力。

一般用途:

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

对于RAG(检索增强生成):

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

为了文本相似性:

  • 相似度:AI辅助文本相似度测量。
  • F1 评分:响应与真实信息在符号重叠中的精度和回忆的谐波平均值。
  • BLEU:翻译质量的双语评估学生评分;响应与地面真实值之间的度量在n-gram中重叠。
  • GLEU:用于句子层面评估的Google-BLEU变体;响应与地面真实值之间的度量在n-gram中重叠。
  • METEOR:带有明确排序的翻译评估度量;响应与地面真实值之间的度量在n-gram中重叠。

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

开始一份独立的评估工作

  1. 在 AI 工具包视图中,选择“评估工具”> 以打开评估视图。

  2. 选择创建评估,然后提供以下信息:

    • 评估职位名称:使用默认名称或自定义名称。
    • 评估器:选择内置或自定义评估器。
    • 评判模型:如有需要,选择一个模型作为评判模型。
    • 数据集:选择一个示例数据集进行学习,或导入包含字段的JSONL文件查询,回应, 和真实的.
  3. 新建的评估职位被创建。系统提示您打开评估职位详情。

    显示 AI 工具包中“开放评估”对话框的截图。

  4. 验证你的数据集,选择运行评估开始评估。

    显示 AI 工具包中运行评估对话框的截图。

监督评估工作

开始评估任务后,你可以在评估任务视图中查看其状态。

显示AI Toolkit中正在进行评估的截图。

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

查找评估结果

评估职位详情视图显示每位被选评者的结果表。部分结果可能包含总值。

你也可以选择“在数据整理器中打开”,用数据整理器扩展打开数据。

显示数据整理器扩展的截图及评估结果。

创建自定义评估器

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

AI Toolkit中自定义评估器创建界面的截图。

创建自定义评估器:

  1. 评估视图中,选择评估标签。

  2. 选择创建评估器以打开创建表单。

    截图显示创建新自定义评估器的表单。

  3. 提供所需信息:

    • 姓名:输入自定义评估员的名称。
    • 描述:描述评估员的工作内容。
    • 类型:选择评估器类型:基于LLM或基于代码(Python)。
  4. 按照所选类型的说明完成设置。

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

  6. 创建自定义评估员后,创建新评估任务时,它会出现在可选择的评估员列表中。

基于LLM的评估器

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

写一个提示,指导评估者评估具体品质。定义标准,提供示例,并使用变量,如或以增加灵活性。根据需要定制规模或反馈风格。

确保LLM输出JSON结果,例如:{“分数”: 4, “理由”:“回答相关但缺乏细节。”

你也可以使用示例部分开始使用基于LLM的评估器。

AI 工具包中基于LLM的评估器配置截图。

基于代码的求值器

对于基于代码的求值器,可以用Python代码定义评估逻辑。代码应返回带有评估分数和理由的JSON结果。

截图显示 AI 工具包中的评估员标签,提供创建基于代码的评估者的选项。

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 工具包中创建并运行评估作业。
  • 监控评估职位的状态并查看其结果。
  • 比较不同版本的提示词和代理之间的评估结果。
  • 查看提示词和代理的版本历史。
  • 使用内置的评估工具来衡量各种指标的性能。
  • 创建自定义评估器以扩展内置评估功能。
  • 针对不同的评估场景,使用基于LLM和代码的评估器。