Compartir a través de

附加自定义标记和元数据

将键值对附加到跟踪以便于组织、搜索和筛选。

标记 是可变的,可以在日志记录后进行更新。 使用标记获取可能会更改的动态信息,例如用户反馈、审阅状态或数据质量评估。

元数据写入一次,日志记录后不可变。 使用元数据获取在执行期间捕获的固定信息,例如模型版本、环境或系统配置。

本指南介绍如何设置和管理元数据和标记。

API/方法 用例
mlflow.update_current_trace API。 在代码执行期间在活动跟踪上设置标记或元数据。
MlflowClient.set_trace_tag API。 在完成的跟踪上设置或更新标记。
MLflow UI 在完成的跟踪上设置或更新标记。

先决条件

  1. 安装 MLflow 和所需包

    pip install --upgrade "mlflow[databricks]>=3.1.0" openai "databricks-connect>=16.1"
    
  2. 请按照设置环境快速入门创建 MLflow 试验。

在活动跟踪上设置元数据

如果使用自动跟踪或 Fluent API 创建跟踪,并且希望在跟踪执行期间将元数据添加到跟踪,则可以使用函数 mlflow.update_current_trace

例如,下面的代码示例将 "model_version": "v1.2.3" 元数据添加到为 my_func 函数创建的跟踪:

import mlflow

@mlflow.trace
def my_func(x):
    mlflow.update_current_trace(metadata={"model_version": "v1.2.3", "environment": "production"})
    return x + 1

my_func(10)

注释

设置元数据后是不可变的。 如果尝试使用已存在的键更新元数据,操作将被忽略,原始值将保持不变。

在活动跟踪上设置标记

如果使用自动跟踪或 fluent API 创建跟踪,并且希望在跟踪执行期间将标记添加到跟踪,则可以使用函数 mlflow.update_current_trace

例如,下面的代码示例将 "fruit": "apple" 标记添加到为 my_func 函数创建的跟踪:

@mlflow.trace
def my_func(x):
    mlflow.update_current_trace(tags={"fruit": "apple"})
    return x + 1

my_func(10)

注释

当键不存在时,该 mlflow.update_current_trace 函数会将指定的标记添加到当前跟踪中。 如果密钥已存在,则会使用新值更新密钥。

在已完成的跟踪上设置标记

要在已完成并记录到后端存储中的跟踪上设置标记,请使用 mlflow.set_trace_tag 方法在跟踪上设置标记,使用 mlflow.delete_trace_tag 方法从跟踪中删除标记。

import mlflow

# Create and execute a traced function
@mlflow.trace
def process_data(data):
    return data.upper()

# Execute the function to create a trace
result = process_data("hello world")

# Get the trace_id from the most recent trace
trace_id = mlflow.get_last_active_trace_id()

# Set a tag on the trace
mlflow.set_trace_tag(trace_id=trace_id, key="review_status", value="approved")

# Set another tag
mlflow.set_trace_tag(trace_id=trace_id, key="data_quality", value="high")

# Delete a tag from the trace
mlflow.delete_trace_tag(trace_id=trace_id, key="data_quality")

通过 MLflow UI 设置标记

或者,可以从 MLflow UI 更新或删除跟踪上的标记。 为此,请导航到跟踪选项卡,然后单击要更新的标记旁边的铅笔图标。

追踪标签更新

后续步骤

特性参考

有关本指南中的概念和功能的详细信息,请参阅: