本快速入门帮助你将 GenAI 应用与 MLflow 跟踪 集成(如果使用 Databricks 笔记本作为开发环境)。 如果使用本地 IDE,请改用 IDE 快速入门 。
在本教程结束时,你将拥有:
- 一个 Databricks 笔记本,其中包含 GenAI 应用的链接 MLflow 试验
- 借助于 MLflow 跟踪功能的简易 GenAI 应用
- 在你的 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 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 跟踪的基础知识