入门:GenAI 的 MLflow 跟踪(Databricks Notebook)

本快速入门帮助你将 GenAI 应用与 MLflow 跟踪 集成(如果使用 Databricks 笔记本作为开发环境)。 如果使用本地 IDE,请改用 IDE 快速入门

在本教程结束时,你将拥有:

  • 一个 Databricks 笔记本,其中包含 GenAI 应用的链接 MLflow 试验
  • 简单的 GenAI 应用程序,集成了 MLflow 跟踪功能。
  • 在你的 MLflow 实验中,该应用的跟踪记录

快速入门教程的跟踪界面

环境设置

  1. 在 Databricks 工作区中创建新笔记本。 笔记本将具有默认的 MLflow 实验,该实验是 GenAI 应用程序的容器。 在 MLflow 概念部分了解有关 MLflow 试验的详细信息。

  2. 安装所需程序包:

    • mlflow[databricks]:使用最新版本的 MLflow 获取更多功能和改进。
    • openai:本教程将使用 OpenAI API 客户端调用 Databricks 托管的模型。
%pip install -qq --upgrade "mlflow[databricks]>=3.1.0" openai
dbutils.library.restartPython()

步骤 1:使用跟踪检测应用程序

下面的代码片段定义一个简单的 GenAI 应用,该应用使用 LLM 完成句子模板。

首先,创建一个 OpenAI 客户端以连接到 Databricks 托管的基础模型

from databricks.sdk import WorkspaceClient

# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()

model_name = "databricks-claude-sonnet-4"

或者,可以使用 OpenAI SDK 连接到 OpenAI 托管的模型:

import openai

# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured

client = openai.OpenAI()

model_name = "gpt-4o-mini"

其次,定义并运行应用程序。 应用程序中实现跟踪功能只需:

import mlflow
import os

# Enable auto-tracing for OpenAI
mlflow.openai.autolog()

# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-tracing-demo")

# Use the trace decorator to capture the application's entry point
@mlflow.trace
def my_app(input: str):
  # This call is automatically instrumented by `mlflow.openai.autolog()`
  response = client.chat.completions.create(
    model=model_name,
    temperature=0.1,
    max_tokens=200,
    messages=[
      {
        "role": "system",
        "content": "You are a helpful assistant.",
      },
      {
        "role": "user",
        "content": input,
      },
    ]
  )
  return response.choices[0].message.content

result = my_app(input="What is MLflow?")
print(result)

有关向应用添加跟踪的详细信息,请参阅 跟踪检测指南20 多个库集成

步骤 2:在 MLflow 中查看跟踪

追踪将显示在笔记本单元格下方。

笔记本追踪 UI

(可选)您可以转到 MLflow 试验 UI 查看踪迹:

  1. 单击右侧栏中的实验图标。
  2. 单击试验运行旁边的打开图标“新建窗口”图标。
  3. 生成的跟踪将显示在“ 跟踪 ”选项卡中。
  4. 点击跟踪以查看其详细信息。

了解跟踪

刚刚创建的跟踪记录显示:

  • 根范围:表示my_app(...)函数的输入
    • 子范围:表示 OpenAI 完成请求
  • 属性:包含模型名称、令牌计数和计时信息等元数据
  • 输入:发送到模型的消息
  • 输出:从模型接收的响应

此简单跟踪已提供对应用程序行为的宝贵见解,例如:

  • 问了什么
  • 生成了什么样的响应?
  • 请求需要多长时间
  • 使用了多少个令牌(影响成本)

对于更复杂的应用程序(如 RAG 系统或多步骤代理),MLflow 跟踪通过揭示每个组件和步骤的内部工作来提供更多价值。

后续步骤

示例笔记本

入门:GenAI 的 MLflow 跟踪(Databricks Notebook)

获取笔记本