SuperAPI AI 工具集

nooa-capturing-traces

智能体与模型

查看项目

更新于 10-16 02:33

技能介绍

用途:为 NVIDIA OO Agents 捕获执行追踪,将每次智能体方法调用、LLM 调用、代码执行与工具调用记录为 OpenTelemetry 跨度(采用 OpenInference 语义约定),按 session.id 分组、按调用层级嵌套。

主要能力:自动追踪(零配置)在 Agent.init() 时每个进程尝试一次,探测 http://localhost:5001 或 $OTLP_ENDPOINT,可达则流式发送;不可达则静默禁用,不会自动回退到文件(仅当显式设置 OTLP_ENDPOINT 且不可达时向 stderr 打印警告)。显式追踪可指定导出器,如 exporters 的 jsonl(每会话一个 {trace_dir}/{session_id}.jsonl)、journal(默认,发送查看器)、local_otlp、otlp、langfuse、console。可同时使用多个导出器,可用 set_session 指定会话 ID。

使用方式:启用需导入 enable_tracing、exporters、flush_traces,调用 enable_tracing(exporters=[...]),运行后调用 flush_traces() 强制刷新。可用 @no_trace 装饰器让单个方法不产生跨度。追踪内容涵盖方法、generation、litellm.acompletion、code_execution、method_call、tool_execution 等。JSONL 文件为 OTLP JSON Lines,每行一个 resourceSpans 对象,可被查看器导入或由 trace-explorer 读取。

适用场景与限制:适合插桩智能体运行、评估测试、调试。注意:追踪仅在 nooa.tracing 中,旧版导入或 enable_tracing(trace_dir=...) 不存在;自动追踪每进程只尝试一次,查看器未启动不会重试;短脚本应调用 flush_traces();智能体方法之外的逻辑不会出现在追踪中。环境变量见 OTLP_ENDPOINT、OTLP_PROBE_TIMEOUT、TRACE_DIR、TRACE_EXPERIMENT 等。