面向 GenAI 的 MLflow 追踪数据模型
MLflow Traces(追踪)捕获您 GenAI 应用程序的完整执行流程,为请求从输入到输出的处理过程提供详细的可观察性。该追踪数据模型基于 OpenTelemetry 标准构建,为您的 GenAI 系统的调试、性能分析和质量评估提供了丰富的上下文。
概述
一个追踪(Trace)代表您 GenAI 应用程序的一次执行,包含理解该特定请求期间发生的所有步骤、数据转换和上下文信息。
追踪结构:两大核心组件
📊 TraceInfo:轻量级元数据
TraceInfo 提供关于追踪的基本元数据,以便快速导航、筛选和分析,而无需检查详细的执行数据。
📋 TraceData:详细执行
TraceData 包含完整的执行细节,包括代表您 GenAI 应用程序中各个操作的所有 Span。
Span 架构:构建基石
Span 是捕获您追踪中单个操作的基本单位。每个 Span 代表您 GenAI 应用程序执行流程中的一个特定步骤。
面向 GenAI 的专用 Span 类型
不同的 Span 类型通过量身定制的数据结构捕获特定的 GenAI 操作。
聊天模型 Span
聊天模型 Span 捕获 LLM 交互,并带有用于对话数据的特殊属性。
属性 | 目的 | 内容 |
---|---|---|
mlflow.chat.messages | 对话历史 | 系统/用户/助手消息列表 |
mlflow.chat.tools | 可用函数 | 用于函数调用的工具定义 |
检索器 Span
检索器 Span 捕获文档搜索操作,并提供结构化输出。
字段 | 目的 | 内容 |
---|---|---|
page_content | 文档文本 | 检索到的文档内容 |
metadata.doc_uri | 源位置 | 文档源 URI |
metadata.chunk_id | 片段标识符 | 特定块引用 |
id | 唯一标识符 | 文档块 ID |
标签:可搜索的上下文
标签提供可搜索的元数据,从而实现强大的筛选和分析功能。
追踪生命周期和使用模式
从开发到生产的流程
与其它 MLflow 实体的关系
追踪与更广泛的 MLflow 生态系统集成,以实现全面的 GenAI 应用程序管理。
数据分析和质量模式
性能分析
追踪通过 Span 计时和属性实现全面的性能监控。
- 端到端延迟:追踪总执行时间
- 组件瓶颈:单个 Span 的性能
- 资源利用率:Token 使用量、API 调用、计算成本
- 错误模式:失败的 Span 及其特征
质量评估
追踪数据支持系统化的质量评估。
- 输入/输出验证:验证数据转换
- 对话分析:聊天模型交互模式
- 检索有效性:文档搜索性能
- 错误关联:将故障与特定条件联系起来
商业智能
丰富的标签功能支持以业务为中心的分析。
- 用户行为:基于会话和用户的模式
- 成本归因:按业务部门划分的资源使用情况
- 功能采用:A/B 测试和功能标志分析
- 运营指标:环境和部署性能
追踪数据模型的优势
🔍 完整的可观察性
- 分层可见性:理解嵌套操作关系
- 丰富的上下文:标签和属性提供可搜索的元数据
- OpenTelemetry 兼容性:与现有的可观察性工具集成
📊 数据驱动的决策
- 性能优化:识别瓶颈和改进机会
- 质量跟踪:监控应用程序质量随时间变化的趋势
- 成本管理:跟踪资源使用情况和优化机会
🔄 开发集成
- 调试支持:用于故障排除的详细执行流程
- 评估数据集:从生产追踪创建测试用例
- 持续改进:系统化的质量提升工作流程
🎯 业务对齐
- 以用户为中心的分析:按用户群体跟踪体验
- 功能验证:衡量新功能的影响
- 合规性支持:审计跟踪和数据治理
开始使用追踪数据
理解追踪数据模型可以支持几个关键工作流程。
- 🔍 追踪分析:查询和筛选追踪以查找特定模式
- 📊 性能监控:跟踪整个应用程序的关键指标
- 🧪 质量评估:根据追踪数据创建系统化测试
- 💡 持续改进:利用洞察来增强您的 GenAI 应用程序
分层的 Span 结构,结合丰富的元数据和专用模式,为全面的 GenAI 应用程序可观察性和持续改进奠定了基础。