跳到主要内容

期望概念

什么是期望?

MLflow 中的期望代表了您 GenAI 应用程序的真实情况或期望的输出。它们提供了一种标准化的方法来捕获您的 AI 系统针对给定输入应该产生的内容,从而建立衡量实际性能的参考点。

期望是系统性评估的基础,使您能够定义清晰的质量标准,并衡量您的应用程序在不同场景和用例下满足这些标准的程度。

Expectations in UI

用例

真实情况定义

为您的 GenAI 应用程序应生成的内容建立清晰、可衡量的标准。例如,为事实性问题定义期望的答案,或为结构化输出定义期望的格式。

专家知识捕获

通过让主题专家定义复杂场景的正确输出来捕获领域专业知识,创建知识库,以指导开发和评估。

质量标准

为安全、准确和合规性要求设定明确的质量基准。期望有助于确保您的 AI 符合组织和监管标准。

模型比较

使用期望作为一致的基线来比较不同的模型、提示或配置。这使得能够客观地评估哪种方法最能满足您的要求。

核心结构

期望始终由了解您的 AI 系统正确行为的人类专家创建。Expectation MLflow 中的对象提供了一个标准容器,用于存储这些真实情况值以及有关其创建的元数据。期望与 Trace 或 Trace 中的特定 Span 相关联,允许您在任何粒度级别定义期望的行为。

期望对象模式

字段类型描述
namestr标识被定义为真实情况的特定方面的字符串
valueAny期望值,可以是

  • 文本响应(例如,"法国的首都是巴黎"
  • 结构化数据(例如,{"category": "complaint", "priority": "high"}
  • 列表(例如,用于期望检索结果的 ["doc_123", "doc_456"]
  • 代表期望输出的任何 JSON 可序列化值
sourceAssessmentSource期望的来源,对于期望始终为 HUMAN 类型。ID 通常标识定义真实情况的专家(例如,电子邮件、用户名或团队标识符)。
metadataOptional[dict[str, str]]可选的键值对,提供期望的上下文,例如置信度、使用的标注指南或版本信息。
create_time_msint创建期望的时间戳,以毫秒为单位。
last_update_time_msint最后更新期望的时间戳,以毫秒为单位。
trace_idstr期望附加到的 trace 的 ID。
span_idOptional[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 评委或代码
内容真实情况值质量分数、通过/失败判断
用法评估的参考点实际评估结果

最佳实践

  1. 明确具体:定义清晰明确的期望。避免含糊不清、可能被多种方式解释的期望。

  2. 考虑边缘情况:包含对边缘情况和错误场景的期望,而不仅仅是“最佳路径”示例。

  3. 版本化您的标准:使用元数据跟踪用于创建期望的指南或标准的版本。

  4. 定位合适的粒度:当您需要验证更大工作流中的特定操作(如检索或解析)时,使用 span 级别的期望。

  5. 保持一致性:确保多位专家在为相似场景定义期望时使用相同的标准。

与评估集成

期望与 MLflow 的评估功能携手合作

  • 自动化比较:使用期望作为自动化评估指标的真实情况
  • 人工审查:在手动审查过程中将实际输出与期望进行比较
  • LLM 评委评估:为 LLM 评委提供期望作为上下文,以获得更准确的评估
  • 性能跟踪:随着时间的推移监控您的系统在满足期望方面的表现

后续步骤