跳到主要内容

设置追踪标签

标签是可变的键值对,您可以将其附加到追踪中,以添加有价值的元数据和上下文。这些元数据对于组织、搜索和筛选您的追踪非常有用。例如,您可以根据用户输入的A主题、运行环境或正在使用的模型版本来标记您的追踪。

MLflow 提供了灵活性,可以通过其 API 或 MLflow UI 随时添加、更新或删除标签,即使在追踪已记录之后。

何时使用追踪标签

追踪标签特别适用于

  • 会话管理:按对话会话或用户交互对追踪进行分组
  • 环境追踪:区分生产、预演和开发追踪
  • 模型版本控制:追踪哪个模型版本生成了特定的追踪
  • 用户上下文:将追踪与特定用户或客户群关联
  • 性能监控:根据性能特征标记追踪
  • A/B 测试:区分不同的实验变体

设置活跃追踪上的标签

使用 mlflow.update_current_trace() 在追踪执行期间添加标签。

import mlflow


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


result = my_func(5)

示例:在生产系统中设置服务标签

import mlflow
import os


@mlflow.trace
def process_user_request(user_id: str, session_id: str, request_text: str):
# Add comprehensive tags for production monitoring
mlflow.update_current_trace(
tags={
"user_id": user_id,
"session_id": session_id,
"environment": os.getenv("ENVIRONMENT", "development"),
"model_version": os.getenv("MODEL_VERSION", "1.0.0"),
"request_type": "chat_completion",
"priority": "high" if "urgent" in request_text.lower() else "normal",
}
)

response = f"Processed: {request_text}"
return response
注意

当键不存在时,mlflow.update_current_trace() 函数会将指定的标签添加到当前追踪中。如果键已存在,它将使用新值更新该键。

总结

追踪标签提供了一种强大的方式,可以为您的 MLflow 追踪添加上下文和元数据,从而实现

  • 更好的组织:将相关追踪分组
  • 强大的筛选:使用搜索快速查找特定追踪
  • 运维监控:按类别追踪性能和问题
  • 用户分析:了解用户行为模式
  • 调试:添加有助于故障排除的上下文

无论您是在追踪执行期间还是之后添加标签,标签都能使您的追踪数据对于生产监控和分析更具价值和可操作性。