跳到主要内容

设置追踪标签

标签是可变键值对,您可以将其附加到追踪中以添加有价值的元数据和上下文。此元数据有助于组织、搜索和过滤您的追踪。例如,您可以根据用户输入的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 追踪添加上下文和元数据,从而实现

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

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