mcpField
D
databricks-mlflow-evaluation

databricks-mlflow-evaluation

github.com/databricks测试与质量373300 次安装今天更新
代码仓库

关于 databricks-mlflow-evaluation

面向 Databricks 场景的 MLflow 3 GenAI 评估技能,在通用评估流程上补充 Unity Catalog 轨迹处理、评判器对齐及 GEPA 提示词优化。

主要功能

  1. 01Unity Catalog 轨迹导入与监控
  2. 02MemAlign 评判器对齐
  3. 03GEPA 提示词优化
  4. 04Databricks 数据集与评分器模式
  5. 05轨迹分析与回归工作流

适用场景

  1. 01从生产轨迹构建评估数据集
  2. 02根据专家反馈对齐评判器
  3. 03基于数据集优化系统提示词
  4. 04比较 Agent 版本以发现回归

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/databricks/databricks-agent-skills --skill databricks-mlflow-evaluation

安装后在 Claude Code 中输入/databricks-mlflow-evaluation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
databricks.svg
references/
CRITICAL-interfaces.md
GOTCHAS.md
patterns-context-optimization.md
patterns-datasets.md
patterns-evaluation.md
patterns-judge-alignment.md
patterns-prompt-optimization.md
patterns-scorers.md
patterns-trace-analysis.md
patterns-trace-ingestion.md
user-journeys.md

详细介绍

MLflow 3 GenAI 评估

与上游 mlflow/skills 的范围对比

开源的 mlflow/skills 仓库提供了 agent-evaluation 及相关技能(instrumenting-with-mlflow-tracing、analyze-mlflow-trace、retrieving-mlflow-traces、querying-mlflow-metrics),涵盖通用的 MLflow GenAI 评估工作流,包括 mlflow.genai.evaluate()、评分器/裁判、数据集、追踪设置以及 5 步评估循环。

此技能在该工作流之上叠加 Databricks 特定模式,而不是重复介绍该工作流。以下情况适合使用此技能:

  • Unity Catalog 追踪数据摄取——将生产追踪数据写入 UC 表,并进行基于日志的监控(patterns-trace-ingestion.md)。
  • 通过 UC SME 标注会话对齐 MemAlign 裁判——在 Databricks 中,根据领域专家收集的反馈对齐自定义裁判(patterns-judge-alignment.md)。
  • optimize_prompts() GEPA 循环——Databricks 的自动化提示词优化驱动程序,在 UC 数据集上运行(patterns-prompt-optimization.md)。
  • Databricks 风格的评分器/数据集模式——基于 UC 表的数据集,以及在 Databricks UI 中为追踪数据添加标签以便纳入(patterns-datasets.md、patterns-scorers.md)。

其他内容——通用的 mlflow.genai.evaluate() 调用、评分器编写模式、在 Databricks 之外创建数据集,以及不绑定 UC 表的 MLflow 追踪设置——以上游 mlflow/skills/agent-evaluation 技能为准。该技能是权威参考,并由 MLflow 团队持续更新。

编写任何代码之前

  1. 阅读 GOTCHAS.md - 了解 15 个以上可能导致失败的常见错误
  2. 阅读 CRITICAL-interfaces.md - 查看准确的 API 签名和数据架构

端到端工作流

根据目标选择以下工作流。每个步骤都注明了需要阅读的参考文件。

工作流 1:首次设置评估

适用于刚开始使用 MLflow GenAI 评估的用户,或为新 Agent 设置评估的用户。

步骤操作参考文件
1明确评估对象user-journeys.md(Journey 0: 策略)
2学习 API 模式GOTCHAS.md + CRITICAL-interfaces.md
3构建初始数据集patterns-datasets.md(Patterns 1-4)
4选择/创建评分器patterns-scorers.md + CRITICAL-interfaces.md(内置列表)
5运行评估patterns-evaluation.md(Patterns 1-3)
工作流 2:生产追踪数据 -> 评估数据集

适用于根据生产追踪数据构建评估数据集。

步骤操作参考文件
1搜索和筛选追踪数据patterns-trace-analysis.md(MCP 工具部分)
2分析追踪质量patterns-trace-analysis.md(Patterns 1-7)
3为要纳入的追踪数据添加标签patterns-datasets.md(Patterns 16-17)
4根据追踪数据构建数据集patterns-datasets.md(Patterns 6-7)
5添加期望值/真实标注patterns-datasets.md(Pattern 2)
工作流 3:性能优化

适用于排查 Agent 执行缓慢或成本高昂的问题。

步骤操作参考文件
1按跨度分析延迟patterns-trace-analysis.md(Patterns 4-6)
2分析令牌用量patterns-trace-analysis.md(Pattern 9)
3检测上下文问题patterns-context-optimization.md(Section 5)
4应用优化patterns-context-optimization.md(Sections 1-4, 6)
5重新评估以衡量效果patterns-evaluation.md(Pattern 6-7)
工作流 4:回归检测

用于比较 Agent 版本并发现回归问题。

步骤操作参考文件
1建立基线patterns-evaluation.md(模式 4:命名运行)
2运行当前版本patterns-evaluation.md(模式 1)
3比较指标patterns-evaluation.md(模式 6-7)
4分析失败的追踪记录patterns-trace-analysis.md(模式 7)
5调试特定故障patterns-trace-analysis.md(模式 8-9)
工作流 5:自定义评分器开发

用于创建项目专属的评估指标。

步骤操作参考文件
1了解评分器接口CRITICAL-interfaces.md(评分器部分)
2选择评分器模式patterns-scorers.md(模式 4-11)
3对于多 Agent 评分器patterns-scorers.md(模式 13-16)
4使用评估进行测试patterns-evaluation.md(模式 1)
工作流 6:Unity Catalog 追踪记录导入与生产监控

用于将追踪记录存储在 Unity Catalog 中、为应用添加检测功能,并启用持续生产监控。

步骤操作参考文件
1将 UC 架构关联到实验patterns-trace-ingestion.md(模式 1-2)
2设置追踪记录目标位置patterns-trace-ingestion.md(模式 3-4)
3为应用添加检测功能patterns-trace-ingestion.md(模式 5-8)
4配置追踪记录来源(Apps/Serving/OTEL)patterns-trace-ingestion.md(模式 9-11)
5启用生产监控patterns-trace-ingestion.md(模式 12-13)
6查询和分析 UC 追踪记录patterns-trace-ingestion.md(模式 14)
工作流 7:使用 MemAlign 对评审器进行对齐

用于调整 LLM 评审器,使其符合领域专家的偏好。经过良好对齐的评审器能提升所有下游用途的效果:评估准确性、生产监控信号和提示词优化质量。此工作流本身也很有价值,不依赖提示词优化。

步骤操作参考文件
1使用 make_judge 设计基础评审器(任意反馈类型)patterns-judge-alignment.md(模式 1)
2运行 evaluate(),为成功的追踪记录添加标签patterns-judge-alignment.md(模式 2)
3构建 UC 数据集 + 创建 SME 标注会话patterns-judge-alignment.md(模式 3)
4标注完成后,使用 MemAlign 对齐评审器patterns-judge-alignment.md(模式 4)
5将对齐后的评审器注册到实验patterns-judge-alignment.md(模式 5)
6使用对齐后的评审器重新评估(基线)patterns-judge-alignment.md(模式 6)
工作流 8:使用 GEPA 自动优化提示词

用于使用 optimize_prompts() 自动改进已注册的系统提示词。此工作流适用于任何评分器;搭配已对齐的评审器(工作流 7)可获得最准确的领域信号。如需了解结合对齐与优化的完整端到端流程,请参阅 user-journeys.md 中的 Journey 10。

步骤操作参考文件
1构建优化数据集(输入 + 预期结果)patterns-prompt-optimization.md(模式 1)
2使用 GEPA 和评分器运行 optimize_prompts()patterns-prompt-optimization.md(模式 2)
3注册新版本,并根据条件进行推广patterns-prompt-optimization.md(模式 3)

参考文件速查

参考文件用途阅读时机
GOTCHAS.md常见错误编写代码前务必先阅读
CRITICAL-interfaces.mdAPI 签名、架构编写任何评估代码时
patterns-evaluation.md运行评估、进行比较执行评估时
patterns-scorers.md创建自定义评分器内置评分器无法满足需求时
patterns-datasets.md构建数据集准备评估数据时
patterns-trace-analysis.md调试追踪记录分析 Agent 行为时
patterns-context-optimization.md令牌/延迟优化Agent 速度慢或成本高时
patterns-trace-ingestion.mdUC 追踪记录设置、监控设置追踪记录存储或生产监控时
patterns-judge-alignment.mdMemAlign 评判器对齐、标注会话、SME 反馈让评判器与领域专家偏好保持一致时
patterns-prompt-optimization.mdGEPA 优化:构建数据集、optimize_prompts()、推广运行自动化提示词改进时
user-journeys.md高层级工作流、完整的领域专家优化循环启动新的评估项目或运行完整的对齐 + 优化流程时

关键 API 事实

  • 使用: mlflow.genai.evaluate()(不要使用 mlflow.evaluate())
  • 数据格式: {"inputs": {"query": "..."}}(必须使用嵌套结构)
  • predict_fn: 接收 **unpacked kwargs(而非字典)
  • MemAlign: 与评分器无关(适用于任何 feedback_value_type,包括 float、bool、categorical);嵌入模型会大量消耗令牌,因此请显式设置 embedding_model
  • 标签架构名称匹配: 标注会话中的标签架构 name 必须与 evaluate() 中使用的评判器 name 匹配,align() 才能配对分数
  • 对齐后的评判器分数: 可能低于未对齐的评判器分数,这是预期情况,意味着评判器现在更准确,而不是 Agent 退步了
  • GEPA 优化数据集: 每条记录都必须同时包含 inputs 和 expectations(与评估数据集不同)
  • 情景记忆: 延迟加载——在首次使用评判器前,打印 get_scorer() 结果不会显示情景记忆
  • optimize_prompts: 需要 MLflow >= 3.5.0
  • UC 模型服务评判器模型: databricks:/system.ai.<model> 评判器/评分器 URI 需要满足最低版本要求,并可能遇到 404(旧客户端)或 403(旧版端点名称)错误——有关版本、确切错误文本和修复方法,请参阅 GOTCHAS.md -> "Custom Judge Model Format"

完整列表请参阅 GOTCHAS.md。

相关技能

评论

支持 Markdown