Arize AX 原生支持 OpenTelemetry GenAI 语义约定
如果你的框架或托管智能体平台已经发出 OpenTelemetry gen_ai.* 跨度,就不需要再维护自定义处理器来使这些追踪数据变得实用。
Arize AX 现已原生支持 OpenTelemetry GenAI 语义约定,为发出 gen_ai.* 遥测数据的应用和智能体提供了一等公民级的可观测性。当兼容的跨度到达 Arize AX 时,系统会通过 GenAI 到 OpenInference 的映射 规范化支持的属性。跨度类型、模型及提供商信息、消息、Token 用量、工具输入与输出以及检索文档都会以结构化的 AI 追踪数据形式呈现。
对于已经发出 OpenTelemetry GenAI 跨度的平台,包括 Microsoft Agent Framework 和 CrewAI Studio,你可以直接通过 OTLP 将遥测数据发送到 Arize AX,随后即可检查追踪、运行评估并分析 Token 用量,无需在客户端代码中重塑属性。
什么是 OpenTelemetry GenAI 语义约定?
OpenTelemetry GenAI 语义约定是一套用于在遥测数据中描述生成式 AI 操作和数据的通用词汇表。
OpenTelemetry 提供了一项收集和传输遥测数据的开放标准。其 GenAI 约定定义了模型请求、智能体和工作流调用、工具调用、消息、检索、模型元数据以及 Token 用量等常见属性的名称。
这些约定使得追踪数据在不同服务之间具备可移植性和可读性。不再需要每个框架对同一概念使用不同的命名,共享的 gen_ai.* 词汇表为插桩库和可观测性平台提供了一致的结构以便进行解析。
Arize AX 发生了哪些变化?
Arize AX 现在在数据摄取阶段将支持的 gen_ai. 属性映射为一等公民 OpenInference 字段。此前,这些属性可能以原始自定义字段的形式进入 AX,这意味着评估、成本分析和调试工作流可能无法识别重要的上下文信息。
例如:
gen_ai.operation.name用于识别 LLM、嵌入、工具、检索器、智能体和链等类型的 Span。gen_ai.input.messages和gen_ai.output.messages会被转换为结构化的输入和输出消息。gen_ai.usage.input_tokens和gen_ai.usage.output_tokens会被映射为提示词、补全及总 Token 计数。- 提供商、模型、请求参数、工具调用、工具结果以及检索文档,会被映射到对应的 OpenInference 字段。
标准化完成后,开发者可以:
- 通过已识别的输入输出检查模型交互
- 在 Trace 中追踪智能体、工作流、检索及工具的行为
- 基于结构化数据而非原始自定义属性运行评估
- 分析 Token 消耗和模型成本,无需维护单独的翻译层
原始属性会发生什么变化?
AX 还会在 Span 上保留原始的 gen_ai.* 属性。如果 Span 中已存在显式的 OpenInference 属性,则以该属性为准。如果 AX 无法确定操作类型,它会保持 Span 类型未设置,而非进行猜测。
何时该用 OpenTelemetry GenAI 规范,何时用 OpenInference?
这两种规范都旨在解决互操作性问题,只是出发点不同。
Arize 创建 OpenInference,是因为在通用的 OpenTelemetry GenAI 标准尚未成熟到足以提供这些功能之前,AI 应用急需可靠的语义规范。
早期的 GenAI 规范在属性层面变动频繁。OpenInference 提供了一个开源的、观点鲜明的层,具备稳定的属性命名、丰富的 AI 专用覆盖范围,以及针对热门模型和框架的自动埋点功能。与此同时,越来越多的框架和管理平台开始原生输出 gen_ai. 遥测数据。
在实际应用中,建议遵循以下原则:
- 如果你能控制应用埋点,并希望使用成熟的 AI 专用 Schema 及自动埋点工具,请使用 OpenInference。
- 如果框架或平台已经原生输出 gen_ai. Span,或者你仅能控制 OTLP 导出,请使用 OpenTelemetry GenAI 语义规范。
- 在混合环境中可同时使用两者。Arize AX 会保持现有 OpenInference Trace 的完整性,并在摄入时对兼容的 GenAI Span 进行标准化处理。
为什么这对托管型和低代码智能体很重要?
这省去了在你不掌握的运行时环境中安装转换处理器的麻烦。
使用托管式或低代码 Agent 平台的用户,往往只能控制 OpenTelemetry 端点,而无法控制平台的运行时或埋点代码。在这种情况下,添加客户端转换处理器要么不现实,要么根本不可能。
借助原生支持,兼容的 span 可以直接路由到 Arize AX,并在数据摄入时完成标准化。开发者和企业 AI 平台团队可以在同一个项目中观测自定义服务和平台构建的 Agent,并保持 trace 字段的一致性。
如何将 OpenTelemetry GenAI traces 发送到 Arize AX?
- 在框架或平台的 OTLP exporter 中配置 Arize AX 的 endpoint、Space ID、API key 和项目名称。
- 发送使用受支持
gen_ai.*属性的兼容 span。 - 在 Arize AX 中查看 traces,确认 span 类型、消息、token 计数、工具调用和检索数据已正确填充到对应的结构化字段中。
还需要客户端转换处理器吗?
不需要。Arize AX 会在数据摄入时完成受支持的 GenAI 到 OpenInference 的映射,因此无需客户端转换处理器。
下一步
阅读 OpenTelemetry GenAI 语义约定概述,查看完整的属性与 span 类型映射,或开始使用 Arize AX。
原生 OpenTelemetry GenAI 支持让团队可以直接使用框架已经产出的遥测数据,同时在 Arize AX 中沿用同样的工作流进行调试、评估、token 分析和成本分析。