🚀 我们很高兴宣布 MLflow Tracing(追踪)体验迎来了重大升级!
如果您不熟悉 MLflow Tracing,它是一种可观测性工具,允许您记录中间函数执行的输入和输出。它在调试生成式 AI (GenAI) 应用程序时特别有用,并且 MLflow 已经与十多个流行的 GenAI 框架集成,可以自动生成追踪,无需您更改现有代码。
从 MLflow 2.20 版本开始,您现在可以直接在 Jupyter Notebook 中查看 MLflow Trace UI,无需切换开发环境即可调试应用程序。环境切换常常会打断工作流程,而这项功能使您更容易保持专注,同时仍能可视化生成的追踪数据。
入门
首先,您需要使用 MLflow Tracking Server(追踪服务器)。在底层,MLflow 客户端需要发起网络请求来获取 UI 资源和追踪数据。
如果您不使用远程服务器,您始终可以通过运行 mlflow server
CLI 命令在本地启动一个。默认情况下,服务器将启动在 http://localhost:5000
。
在您的 Notebook 中,只需确保 MLflow Tracking URI 设置为您的追踪服务器,即可开始使用了!
import mlflow
# replace this with your own URI, if it differs
tracking_uri = "http://localhost:5000"
mlflow.set_tracking_uri(tracking_uri)
# create a new experiment to avoid cluttering the default experiment
experiment = mlflow.set_experiment("mlflow-trace-ui-demo")
# the trace UI should now show up whenever traces are generated,
# for example:
@mlflow.trace
def add(a, b):
return a + b
# running the traced function triggers the UI display
add(1, 2)
当发生以下任何事件时,将显示追踪 UI:
- 单元格中生成了一个追踪(通过自动追踪或运行手动追踪的函数时)
- 追踪对象被显式显示时(例如,通过 IPython 的
display()
函数) - 调用
mlflow.search_traces()
API 时
要亲身体验此功能,请尝试运行我们的演示 Notebook!该 Notebook 包含上述所有三种场景的详细示例,以及一个简短的 LangChain RAG 演示,以便在您的开发循环中更真实地感受此功能。
禁用和重新启用显示
此功能默认启用,但可以通过调用 mlflow.tracing.disable_notebook_display()
随时关闭。要移除已渲染的显示,您需要重新运行单元格(或简单地清除单元格输出)。
如果要重新启用显示,可以调用 mlflow.tracing.enable_notebook_display()
。
Bug 报告和反馈
要报告 bug 或提供反馈,请在 MLflow GitHub repo 中提出问题。我们期待您的来信!