期望概念
什么是期望?
MLflow 中的**期望**代表您的 GenAI 应用程序的真实情况或所需输出。它们提供了一种标准化的方式来捕获您的 AI 系统在给定输入下应该产生什么,从而建立衡量实际性能的参考点。
期望是系统评估的基础,使您能够定义明确的质量标准,并衡量您的应用程序在不同场景和用例中满足这些标准的程度。
用例
事实真相定义
为您的 GenAI 应用程序应该产生的内容建立清晰、可衡量的标准。例如,定义事实问题的预期答案或结构化输出的所需格式。
专家知识捕获
通过让主题专家定义复杂场景的正确输出,捕获领域专业知识,从而创建可指导开发和评估的知识库。
质量标准
为安全、准确性和合规性要求设定明确的质量基准。期望有助于确保您的 AI 符合组织和法规标准。
模型比较
使用期望作为一致的基线来比较不同的模型、提示或配置。这使得能够客观评估哪种方法最能满足您的要求。
核心结构
期望总是由了解 AI 系统正确行为的人类专家创建。MLflow 中的 Expectation
对象提供了一个标准容器,用于存储这些真实值及其创建元数据。期望与 Trace 或 Trace 中的特定 Span 相关联,允许您在任何粒度级别定义预期行为。
期望对象架构
字段 | 类型 | 描述 |
---|---|---|
名称 | 字符串 | 标识被定义为真实情况的特定方面的字符串 |
值 | 任意 | 预期值,可以是
|
来源 | 评估来源 | 期望的来源,对于期望始终是 HUMAN 类型。ID 通常标识定义真实情况的专家(例如,电子邮件、用户名或团队标识符)。 |
元数据 | 可选[字典[字符串,字符串]] | 提供期望上下文的可选键值对,例如置信度、使用的注释指南或版本信息。 |
创建时间毫秒 | 整数 | 期望创建的时间戳,以毫秒为单位。 |
上次更新时间毫秒 | 整数 | 期望上次更新的时间戳,以毫秒为单位。 |
跟踪 ID | 字符串 | 期望所附加的跟踪的 ID。 |
跨度 ID | 可选[字符串] | 期望所附加的跨度的 ID,如果它针对跟踪中的特定操作。例如,您可以为 RAG 应用程序中应检索的文档设置期望。 |
期望示例
事实问题的预期答案
{
"name": "expected_answer",
"value": "The capital of France is Paris. It has been the capital since 987 AD and is home to over 2 million people.",
"source": {
"source_type": "HUMAN",
"source_id": "geography_expert@company.com"
},
"metadata": {
"confidence": "high",
"reference": "Company knowledge base v2.1"
}
}
预期分类输出
{
"name": "expected_classification",
"value": {
"category": "customer_complaint",
"sentiment": "negative",
"priority": "high",
"department": "billing"
},
"source": {
"source_type": "HUMAN",
"source_id": "support_team_lead@company.com"
},
"metadata": {
"classification_version": "v3.2",
"based_on": "Historical ticket analysis"
}
}
RAG 系统的预期文档检索
{
"name": "expected_documents",
"value": ["policy_doc_2024_v3", "faq_billing_section", "terms_of_service_5.1"],
"source": {
"source_type": "HUMAN",
"source_id": "rag_specialist@company.com"
},
"metadata": {
"relevance_threshold": "0.85",
"expected_order": "by_relevance"
}
}
与反馈的主要区别
虽然期望和反馈都是 MLflow 中的评估类型,但它们有不同的用途
方面 | 期望 | 反馈 |
---|---|---|
目的 | 定义 AI 应该产生什么 | 评估 AI 的表现如何 |
时间 | 在开发之前或期间设置 | AI 生成输出后应用 |
来源 | 始终来自人类专家 | 可以来自人类、LLM 评委或代码 |
内容 | 真实值 | 质量分数、通过/失败判断 |
用法 | 评估的参考点 | 实际评估结果 |
最佳实践
-
具体:定义清晰明确的期望。避免可能以多种方式解释的模糊期望。
-
考虑边缘情况:包括边缘情况和错误场景的期望,而不仅仅是正常路径示例。
-
版本化您的标准:使用元数据跟踪用于创建期望的指南或标准的版本。
-
目标适当的粒度:当您需要在较大的工作流程中验证特定操作(如检索或解析)时,使用跨度级别的期望。
-
保持一致性:确保多个专家在定义相似场景的期望时使用相同的标准。
与评估的集成
期望与 MLflow 的评估功能协同工作
- 自动化比较:使用期望作为自动化评估指标的真实情况
- 人工审查:在人工审查期间将实际输出与期望进行比较
- LLM 评委评估:向 LLM 评委提供期望作为上下文,以进行更准确的评估
- 性能跟踪:随着时间的推移监控您的系统满足期望的程度