追踪生成式AI应用(IDE)
本快速入门指南可帮助您在本地 IDE 开发环境中使用 MLflow OSS 将您的 GenAI 应用与 MLflow 追踪集成。
您将实现的目标
完成本教程后,您将拥有
- 一个用于 GenAI 应用的本地 MLflow 实验
- 使用 MLflow OSS 设置了本地开发环境
- 使用 MLflow 追踪来检测您的应用。
先决条件
- Python 3.9+:本地 Python 环境
- OpenAI API 密钥:用于访问 OpenAI 模型(或其他 LLM 提供商)
步骤 1:安装 MLflow
在本地 IDE 中工作时,您需要安装 MLflow OSS。
- MLflow 3
- MLflow 2.x
pip install --upgrade "mlflow>=3.1"
pip install --upgrade "mlflow>=2.15.0,<3.0.0"
虽然追踪功能在 MLflow 2.15.0+ 中可用,但强烈建议安装 MLflow 3(特别是 3.1 或更高版本),以获得最新的 GenAI 功能,包括扩展的追踪功能和强大的支持。
步骤 2:启动 MLflow 跟踪服务器
MLflow 实验是 GenAI 应用程序的容器。 使用 MLflow OSS,您可以运行本地跟踪服务器来存储您的实验和跟踪。
-
在您的终端中启动 MLflow 跟踪服务器
mlflow server --host 127.0.0.1 --port 8080
-
打开您的浏览器并导航到
http://127.0.0.1:8080
以访问 MLflow UI -
您将看到 MLflow 跟踪界面,其中将显示实验和跟踪
步骤 3:设置您的环境
对于 MLflow OSS,您需要配置您的环境以连接到您的本地跟踪服务器,并为您的 LLM 提供商设置 API 密钥。
- 使用环境变量
- 使用 .env 文件
在您的终端中设置以下环境变量
export MLFLOW_TRACKING_URI=http://127.0.0.1:8080
export OPENAI_API_KEY=<your-openai-api-key>
-
在您的项目根目录中创建一个
.env
文件MLFLOW_TRACKING_URI=http://127.0.0.1:8080
OPENAI_API_KEY=<your-openai-api-key> -
安装
python-dotenv
包pip install python-dotenv
-
在您的代码中加载环境变量
# At the beginning of your Python script
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
步骤 4:检测您的应用程序
为您的应用程序选择合适的集成
- OpenAI
- Anthropic Claude
-
安装所需的 Python 包
pip install -U mlflow openai
-
在您的项目目录中创建一个名为
app.py
的 Python 文件在这里,我们使用
@mlflow.trace
装饰器,它可以轻松地跟踪任何 Python 应用程序,并结合 OpenAI 自动检测来捕获对 OpenAI SDK 调用的详细信息。import mlflow
import openai
import os
# Set the MLflow tracking URI
mlflow.set_tracking_uri("http://127.0.0.1:8080")
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Create an OpenAI client
client = openai.OpenAI()
# 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="gpt-4o-mini",
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": input,
},
],
)
return response.choices[0].message.content
my_app(input="What is MLflow?") -
运行应用程序
python app.py
-
安装所需的 Python 包
pip install -U mlflow anthropic
-
在您的项目目录中创建一个名为
app.py
的 Python 文件import anthropic
import mlflow
# Enable auto-tracing for Anthropic
mlflow.anthropic.autolog()
# Set the MLflow tracking URI
mlflow.set_tracking_uri("http://127.0.0.1:8080")
mlflow.set_experiment("Anthropic")
# Configure your API key.
client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
# Use the create method to create new message.
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Claude"},
],
) -
设置您的 Anthropic API 密钥并运行
export ANTHROPIC_API_KEY=<your-anthropic-api-key>
python app.py
步骤 5:在 MLflow 中查看跟踪
- 导航到您的 MLflow UI,地址为
http://127.0.0.1:8080
- 您现在将在 跟踪 选项卡中看到生成的跟踪
- 单击跟踪以查看其详细信息
了解跟踪
您刚刚创建的跟踪显示
- 根 Span:表示
my_app(...)
函数的输入- 子 Span:表示 LLM 完成请求
- 属性:包含元数据,如模型名称、令牌计数和计时信息
- 输入:发送到模型的消息
- 输出:从模型收到的响应
这个简单的跟踪已经提供了关于您应用程序行为的有价值的见解,例如
- 提出了什么问题
- 生成了什么响应
- 请求花费了多长时间
- 使用了多少令牌(影响成本)
后续步骤
恭喜! 您已经成功地使用 MLflow OSS 跟踪构建了您的第一个 GenAI 应用程序!
- 了解更多关于追踪的信息:了解 追踪概念、用于更多控制的 手动追踪、追踪用户和会话,以及 追踪环境和上下文 到您的跟踪。
- 评估您的应用程序:使用 MLflow 的 评估功能来衡量您的 GenAI 应用程序的质量。
对于更复杂的应用程序,如 RAG 系统或多步骤代理,MLflow 追踪通过揭示每个组件和步骤的内部运作,提供了更大的价值。 您还可以使用不同的 LLM 提供商进行实验,并使用 MLflow 的跟踪功能比较它们的性能。