本快速入门帮助你将 GenAI 应用与 MLflow 跟踪 集成(如果使用 Databricks 笔记本作为开发环境)。 如果使用本地 IDE,请改用 IDE 快速入门 。
在本教程结束时,你将拥有:
- 一个 Databricks 笔记本,其中包含 GenAI 应用的链接 MLflow 试验
- 简单的 GenAI 应用程序,集成了 MLflow 跟踪功能。
- 在你的 MLflow 实验中,该应用的跟踪记录
环境设置
在 Databricks 工作区中创建新笔记本。 笔记本将具有默认的 MLflow 实验,该实验是 GenAI 应用程序的容器。 在 MLflow 概念部分了解有关 MLflow 试验的详细信息。
安装所需程序包:
-
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"
其次,定义并运行应用程序。 应用程序中实现跟踪功能只需:
-
mlflow.openai.autolog():自动化工具以捕获对 OpenAI SDK 调用的详细信息 -
@mlflow.trace:修饰器,便于跟踪任何 Python 函数
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 中查看跟踪
追踪将显示在笔记本单元格下方。
(可选)您可以转到 MLflow 试验 UI 查看踪迹:
- 单击右侧栏中的
- 单击试验运行旁边的打开图标
。
- 生成的跟踪将显示在“ 跟踪 ”选项卡中。
- 点击跟踪以查看其详细信息。
了解跟踪
刚刚创建的跟踪记录显示:
-
根范围:表示
my_app(...)函数的输入- 子范围:表示 OpenAI 完成请求
- 属性:包含模型名称、令牌计数和计时信息等元数据
- 输入:发送到模型的消息
- 输出:从模型接收的响应
此简单跟踪已提供对应用程序行为的宝贵见解,例如:
- 问了什么
- 生成了什么样的响应?
- 请求需要多长时间
- 使用了多少个令牌(影响成本)
对于更复杂的应用程序(如 RAG 系统或多步骤代理),MLflow 跟踪通过揭示每个组件和步骤的内部工作来提供更多价值。
后续步骤
- MLflow 跟踪指南 - 从此处开始详细了解 MLflow 跟踪
- MLflow 跟踪集成 - 具有自动跟踪集成的 20 多个库
- 跟踪概念 - 了解 MLflow 跟踪的基础知识