期望概念
什么是期望?
MLflow 中的期望代表了您 GenAI 应用程序的真实情况或期望的输出。它们提供了一种标准化的方法来捕获您的 AI 系统针对给定输入应该产生的内容,从而建立衡量实际性能的参考点。
期望是系统性评估的基础,使您能够定义清晰的质量标准,并衡量您的应用程序在不同场景和用例下满足这些标准的程度。
用例
真实情况定义
为您的 GenAI 应用程序应生成的内容建立清晰、可衡量的标准。例如,为事实性问题定义期望的答案,或为结构化输出定义期望的格式。
专家知识捕获
通过让主题专家定义复杂场景的正确输出来捕获领域专业知识,创建知识库,以指导开发和评估。
质量标准
为安全、准确和合规性要求设定明确的质量基准。期望有助于确保您的 AI 符合组织和监管标准。
模型比较
使用期望作为一致的基线来比较不同的模型、提示或配置。这使得能够客观地评估哪种方法最能满足您的要求。
核心结构
期望始终由了解您的 AI 系统正确行为的人类专家创建。Expectation
MLflow 中的对象提供了一个标准容器,用于存储这些真实情况值以及有关其创建的元数据。期望与 Trace 或 Trace 中的特定 Span 相关联,允许您在任何粒度级别定义期望的行为。
期望对象模式
字段 | 类型 | 描述 |
---|---|---|
name | str | 标识被定义为真实情况的特定方面的字符串 |
value | Any | 期望值,可以是
|
source | AssessmentSource | 期望的来源,对于期望始终为 HUMAN 类型。ID 通常标识定义真实情况的专家(例如,电子邮件、用户名或团队标识符)。 |
metadata | Optional[dict[str, str]] | 可选的键值对,提供期望的上下文,例如置信度、使用的标注指南或版本信息。 |
create_time_ms | int | 创建期望的时间戳,以毫秒为单位。 |
last_update_time_ms | int | 最后更新期望的时间戳,以毫秒为单位。 |
trace_id | str | 期望附加到的 trace 的 ID。 |
span_id | Optional[str] | 期望附加到的 span 的 ID,如果它针对 trace 内的特定操作。例如,您可以为 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 评委或代码 |
内容 | 真实情况值 | 质量分数、通过/失败判断 |
用法 | 评估的参考点 | 实际评估结果 |
最佳实践
-
明确具体:定义清晰明确的期望。避免含糊不清、可能被多种方式解释的期望。
-
考虑边缘情况:包含对边缘情况和错误场景的期望,而不仅仅是“最佳路径”示例。
-
版本化您的标准:使用元数据跟踪用于创建期望的指南或标准的版本。
-
定位合适的粒度:当您需要验证更大工作流中的特定操作(如检索或解析)时,使用 span 级别的期望。
-
保持一致性:确保多位专家在为相似场景定义期望时使用相同的标准。
与评估集成
期望与 MLflow 的评估功能携手合作
- 自动化比较:使用期望作为自动化评估指标的真实情况
- 人工审查:在手动审查过程中将实际输出与期望进行比较
- LLM 评委评估:为 LLM 评委提供期望作为上下文,以获得更准确的评估
- 性能跟踪:随着时间的推移监控您的系统在满足期望方面的表现