MLflow 3.9.0 亮点:AI 助手、仪表板及 Judge 优化
MLflow 3.9.0 是一个专注于 AI 可观测性和评估能力的重大版本,为构建、监控和优化 AI 智能体(Agent)带来了强大的新功能。此版本引入了人工智能辅助助手、用于智能体性能的综合仪表板、一种全新的 Judge 优化算法、Judge 构建器 UI、基于 LLM Judge 的持续监控以及分布式追踪功能。
1. 基于 Claude Code 的 MLflow 助手
MLflow 助手将 Claude Code 等编程智能体转化为您身边的资深 AI 工程师。与典型的聊天机器人不同,该助手了解您的代码库和上下文——它不仅仅是一个问答工具,更是一位成熟的 AI 工程师,能够查找问题的根本原因、设置质量测试,并将 LLMOps 最佳实践应用到您的项目中。
关键能力包括
- 无需额外费用:使用您现有的 Claude Code 订阅即可。MLflow 免费提供知识库和集成功能。
- 丰富的上下文辅助:能够理解您的本地代码库和项目结构,并提供量身定制的建议,而非泛泛而谈。
- 完整的开发闭环:不仅限于问答,还能获取 MLflow 数据、阅读您的代码,并为您的项目添加追踪、评估和版本控制功能。
- 完全可定制:您可以添加自定义技能、子智能体和权限设置。一切都在您的机器上运行,具有完全的透明度。
打开 MLflow UI,导航至任一实验页面中的“Assistant”(助手)面板,按照设置向导即可开始使用。
2. 智能体性能指标仪表板
GenAI 实验中新增的“Overview”(概览)选项卡提供了预构建的图表和可视化效果,可随时随地监控智能体性能。无需手动配置,即可监控延迟、请求计数和质量得分等关键指标。您可以识别智能体部署中的性能趋势和异常,并获取工具调用摘要,以了解智能体如何利用现有工具。
导航至任何 GenAI 实验并点击“Overview”选项卡即可访问仪表板。图表将根据您的追踪数据自动填充。有特定的可视化需求?请通过 GitHub Issues 提交反馈。
3. MemAlign:一种全新的 Judge 优化算法
MemAlign 是一种用于 LLM-as-a-judge 评估 的新优化算法,它能从历史反馈中学习评估准则,并在运行时动态检索相关示例。通过从人类反馈模式中学习来提高 Judge 的准确性,通过自动提取准则减少提示词工程的工作量,并根据正在评估的输入动态调整 Judge 的行为。
使用 MemAlignOptimizer 利用历史反馈来优化您的 Judge
import mlflow
from mlflow.genai.judges import make_judge
from mlflow.genai.judges.optimizers import MemAlignOptimizer
# Create a judge
judge = make_judge(
name="politeness",
instructions=(
"Given a user question, evaluate if the chatbot's response is polite and respectful. "
"Consider the tone, language, and context of the response.\n\n"
"Question: {{ inputs }}\n"
"Response: {{ outputs }}"
),
feedback_value_type=bool,
model="openai:/gpt-5-mini",
)
# Create the MemAlign optimizer
optimizer = MemAlignOptimizer(reflection_lm="openai:/gpt-5-mini")
# Retrieve traces with human feedback
traces = mlflow.search_traces(return_type="list")
# Align the judge
aligned_judge = judge.align(traces=traces, optimizer=optimizer)
4. 使用 Judge 构建器 UI 配置和创建 Judge
全新的可视化界面让您无需编写代码即可创建和测试自定义 LLM Judge 提示词。通过即时反馈快速迭代 Judge 标准和评分规则,在部署到生产环境之前在样本追踪数据上测试 Judge,并将经过验证的 Judge 导出到 Python SDK 以进行程序化集成。
导航至 MLflow UI 中的“Judges”部分并点击“Create Judge”。定义您的评估标准、评分规则,并在样本追踪数据上测试您的 Judge。满意后,导出配置以供 MLflow SDK 使用。
5. 基于 MLflow LLM Judge 的持续在线监控
无需编写代码,即可自动在传入的追踪数据上运行 LLM Judge,从而实现生产环境中智能体的持续质量监控。实时检测追踪数据流中的质量问题,利用预定义的 Judge 进行安全性、相关性、根据性(groundedness)和准确性等常见评估,并将可操作的评估结果直接附加到追踪数据上。
前往实验中的“Judges”选项卡,选择预定义 Judge 或使用您自定义的 Judge,并配置需要评估的追踪范围。评估结果将在追踪数据到达时自动附加到相应的记录中。
6. 用于跟踪端到端请求的分布式追踪
通过上下文传播跟踪跨多个服务的请求,实现对分布式 AI 系统的端到端可见性。LLM 追踪保持了微服务和外部 API 调用之间的追踪连续性,通过统一的追踪视图调试跨服务问题,并了解分布式流水线中每一步的延迟和错误情况。
使用 get_tracing_context_headers_for_http_request 和 set_tracing_context_from_http_request_headers 函数来注入和提取追踪上下文
# Service A: Inject context into the headers of the outgoing request
import requests
import mlflow
from mlflow.tracing import get_tracing_context_headers_for_http_request
with mlflow.start_span("client-root"):
headers = get_tracing_context_headers_for_http_request()
requests.post(
"https://your.service/handle", headers=headers, json={"input": "hello"}
)
# Service B: Extract context from incoming request
import mlflow
from flask import Flask, request
from mlflow.tracing import set_tracing_context_from_http_request_headers
app = Flask(__name__)
@app.post("/handle")
def handle():
headers = dict(request.headers)
with set_tracing_context_from_http_request_headers(headers):
with mlflow.start_span("server-handler") as span:
# ... your logic ...
span.set_attribute("status", "ok")
return {"ok": True}
完整更新日志
有关变更的完整列表,请参阅 版本变更日志。
后续规划
快速开始
安装 MLflow 3.9.0 以尝试这些新功能
pip install mlflow==3.9.0
分享你的反馈
我们非常期待听到你对这些新功能的体验
- GitHub Issues - 报告 Bug 或提出新功能需求
- MLflow 路线图 - 查看未来规划并分享你的想法
- ⭐ 在 GitHub 上为我们点赞 - 表达你对该项目的支持
了解更多
- 参加我们即将举行的网络研讨会,现场观看这些功能的演示
- 查看 MLflow 文档 获取详细指南
