评估模型、提示和代理
您可以通过将模型、提示和代理的输出与真实数据进行比较并计算评估指标来评估它们。AI 工具包简化了此过程。上传数据集并以最少的精力运行全面的评估。
评估提示和代理
您可以在 Agent Builder 中通过选择 Evaluation 选项卡来评估提示和代理。在评估之前,请根据数据集运行您的提示或代理。阅读有关批量运行的更多信息,以了解如何使用数据集。
评估提示或代理
- 在 Agent Builder 中,选择 Evaluation 选项卡。
- 添加并运行您要评估的数据集。
- 使用竖起大拇指和朝下大拇指图标对响应进行评分,并保留手动评估记录。
- 若要添加评估器,请选择 New Evaluation。
- 从内置评估器列表中选择评估器,例如 F1 分数、相关性、连贯性或相似性。注意
使用 GitHub 托管模型运行评估时,可能会应用速率限制。
- 如果需要,选择一个模型作为评估的评审模型。
- 选择 Run Evaluation 以启动评估作业。
版本控制和评估比较
AI 工具包支持提示和代理的版本控制,因此您可以比较不同版本的性能。创建新版本时,可以运行评估并将结果与以前的版本进行比较。
保存提示或代理的新版本
- 在 Agent Builder 中,定义系统或用户提示,添加变量和工具。
- 运行代理或切换到 Evaluate 选项卡并添加数据集进行评估。
- 当您对提示或代理感到满意时,请从工具栏中选择 Save as New Version。
- (可选)提供版本名称,然后按 Enter。
查看版本历史记录
您可以在 Agent Builder 中查看提示或代理的版本历史记录。版本历史记录显示所有版本以及每个版本的评估结果。
在版本历史记录视图中,您可以
- 选择版本名称旁边的铅笔图标以重命名版本。
- 选择垃圾桶图标以删除版本。
- 选择版本名称以切换到该版本。
比较版本之间的评估结果
您可以在 Agent Builder 中比较不同版本的评估结果。结果显示在表格中,显示每个评估器的分数以及每个版本的总分。
比较版本之间的评估结果
- 在 Agent Builder 中,选择 Evaluation 选项卡。
- 从代理标题中,选择 Compare with。
- 从列表中选择您要比较的版本。注意
比较功能仅在 Agent Builder 的全屏模式下可用,以便更好地查看评估结果。您可以展开 Prompt 部分以查看模型和提示详细信息。
- 选定版本的评估结果显示在表格中,允许您比较每个评估器的分数以及每个版本的总分。
内置评估器
AI 工具包提供了一组内置评估器,用于衡量模型、提示和代理的性能。这些评估器根据您的模型输出和真实数据计算各种指标。
对于代理
- 意图解析:衡量代理识别和处理用户意图的准确性。
- 任务依从性:衡量代理在已识别任务上遵循的程度。
- 工具调用准确性:衡量代理选择和调用正确工具的准确性。
用于一般用途
- 连贯性:衡量响应的逻辑一致性和流畅性。
- 流畅性:衡量自然语言的质量和可读性。
对于 RAG(检索增强生成)
- 检索:衡量系统检索相关信息的有效性。
对于文本相似度
- 相似性:AI 辅助的文本相似度测量。
- F1 分数:响应和真实数据之间标记重叠的精确率和召回率的调和平均值。
- BLEU:用于评估翻译质量的双语评估替补分数;衡量响应和真实数据之间 n-gram 的重叠。
- GLEU:用于句子级别评估的 Google-BLEU 变体;衡量响应和真实数据之间 n-gram 的重叠。
- METEOR:带显式排序的翻译评估指标;衡量响应和真实数据之间 n-gram 的重叠。
AI 工具包中的评估器基于 Azure 评估 SDK。要了解有关生成式 AI 模型可观测性的更多信息,请参阅 Azure AI Foundry 文档。
启动独立评估作业
-
在 AI 工具包视图中,选择 TOOLS > Evaluation 以打开“评估”视图。
-
选择 Create Evaluation,然后提供以下信息
- 评估作业名称:使用默认名称或输入自定义名称。
- 评估器:从内置或自定义评估器中选择。
- 评审模型:如果需要,选择一个模型作为评审模型。
- 数据集:选择一个用于学习的示例数据集,或导入一个包含
query
、response
和ground truth
字段的 JSONL 文件。
-
已创建新的评估作业。系统会提示您打开评估作业详细信息。
-
验证您的数据集并选择 Run Evaluation 以开始评估。
监视评估作业
启动评估作业后,可以在评估作业视图中查看其状态。
每个评估作业都包含一个指向所用数据集的链接、评估过程的日志、一个时间戳以及一个指向评估详细信息的链接。
查找评估结果
评估作业详细信息视图显示每个选定评估器的结果表。某些结果可能包括聚合值。
您还可以选择 Open In Data Wrangler,以使用 Data Wrangler 扩展打开数据。
创建自定义评估器
您可以创建自定义评估器来扩展 AI 工具包的内置评估功能。自定义评估器允许您定义自己的评估逻辑和指标。
创建自定义评估器
-
在 Evaluation 视图中,选择 Evaluators 选项卡。
-
选择 Create Evaluator 以打开创建表单。
-
提供所需信息
- 名称:输入自定义评估器的名称。
- 说明:描述评估器的功能。
- 类型:选择评估器类型:基于 LLM 或基于代码 (Python)。
-
按照所选类型的说明完成设置。
-
选择 Save 以创建自定义评估器。
-
创建自定义评估器后,当您创建新的评估作业时,它将出现在评估器列表中供选择。
基于 LLM 的评估器
对于基于 LLM 的评估器,使用自然语言提示定义评估逻辑。
编写提示以指导评估器评估特定质量。定义条件、提供示例,并使用 或
等变量以实现灵活性。根据需要自定义比例或反馈样式。
确保 LLM 输出 JSON 结果,例如:{"score": 4, "reason": "The response is relevant but lacks detail."}
您还可以使用 Examples 部分开始使用基于 LLM 的评估器。
基于代码的评估器
对于基于代码的评估器,使用 Python 代码定义评估逻辑。代码应返回包含评估分数和原因的 JSON 结果。
AI 工具包根据评估器名称以及是否使用外部库提供支架。
您可以修改代码以实现评估逻辑
# 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."
}