跳到主要内容

追踪生成式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。

pip install --upgrade "mlflow>=3.1"
MLflow 版本建议

虽然追踪功能在 MLflow 2.15.0+ 中可用,但强烈建议安装 MLflow 3(特别是 3.1 或更高版本),以获得最新的 GenAI 功能,包括扩展的追踪功能和强大的支持。

步骤 2:启动 MLflow 跟踪服务器

注意

MLflow 实验是 GenAI 应用程序的容器。 使用 MLflow OSS,您可以运行本地跟踪服务器来存储您的实验和跟踪。

  1. 在您的终端中启动 MLflow 跟踪服务器

    mlflow server --host 127.0.0.1 --port 8080
  2. 打开您的浏览器并导航到 http://127.0.0.1:8080 以访问 MLflow UI

  3. 您将看到 MLflow 跟踪界面,其中将显示实验和跟踪

步骤 3:设置您的环境

注意

对于 MLflow OSS,您需要配置您的环境以连接到您的本地跟踪服务器,并为您的 LLM 提供商设置 API 密钥。

在您的终端中设置以下环境变量

export MLFLOW_TRACKING_URI=http://127.0.0.1:8080
export OPENAI_API_KEY=<your-openai-api-key>

步骤 4:检测您的应用程序

为您的应用程序选择合适的集成

  1. 安装所需的 Python 包

    pip install -U mlflow openai
  2. 在您的项目目录中创建一个名为 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?")
  3. 运行应用程序

    python app.py

步骤 5:在 MLflow 中查看跟踪

  1. 导航到您的 MLflow UI,地址为 http://127.0.0.1:8080
  2. 您现在将在 跟踪 选项卡中看到生成的跟踪
  3. 单击跟踪以查看其详细信息

了解跟踪

您刚刚创建的跟踪显示

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

这个简单的跟踪已经提供了关于您应用程序行为的有价值的见解,例如

  • 提出了什么问题
  • 生成了什么响应
  • 请求花费了多长时间
  • 使用了多少令牌(影响成本)

后续步骤

恭喜! 您已经成功地使用 MLflow OSS 跟踪构建了您的第一个 GenAI 应用程序!

提示

对于更复杂的应用程序,如 RAG 系统或多步骤代理,MLflow 追踪通过揭示每个组件和步骤的内部运作,提供了更大的价值。 您还可以使用不同的 LLM 提供商进行实验,并使用 MLflow 的跟踪功能比较它们的性能。