WandbTraceProcessor 实现了 TraceProcessor 抽象基类,可将 QitOS 运行数据流式传输到 Weights & Biases 项目。挂载后,它会在运行过程中自动记录每个 span 的指标,并在 trace 结束时写入最终汇总。
安装
wandb SDK 作为可选依赖安装。若未安装,导入 WandbTraceProcessor 会抛出 ImportError。
快速上手
WandbTraceProcessor 会使用传入的参数调用 wandb.init()。当 trace 结束时(正常结束或出错),它会写入汇总并默认调用 wandb.finish()。
构造参数
记录的指标
逐 span 指标
处理器拦截 span 结束事件,在运行过程中增量记录指标。
每次
wandb.log() 调用都会递增内部步数计数器,使 W&B 时序图表与智能体的运行进程对齐。
最终汇总
当 trace 结束时,处理器将聚合指标写入run.summary:
与其他处理器组合
add_trace_processor 会将处理器追加到全局列表,因此可以将 WandbTraceProcessor 与其他 TraceProcessor(例如默认写入磁盘的 LegacyTraceWriterProcessor)组合使用:
set_trace_processors:
搭配预设设置 config
家族预设(family preset)提供推荐的模型参数。可利用它们填充 W&B 的config 字典,让 W&B 面板反映智能体实际使用的设置:
生命周期控制
auto_finish
默认auto_finish=True,处理器会在 on_trace_end 触发时自动调用 wandb.finish()。如果需要在 QitOS trace 结束后继续向同一 W&B 运行写入自定义指标,可设置 auto_finish=False:
shutdown()
调用shutdown() 可提前关闭 W&B 运行(例如在 SIGTERM 信号处理或 notebook 清理步骤中):
auto_finish 为 True,它会调用 wandb.finish()。该方法可安全地多次调用。
force_flush()
调用force_flush() 可确保所有缓冲指标已写入 W&B 后端:
