“Standardized naming schemes and attribute definitions for telemetry data across services, languages, and platforms.”A semantic convention is an agreement about what to call things. Without conventions, every team invents their own attribute names — one calls it
prompt, another input.text, another messages[0].content — and tools that try to read all of those have to maintain mappings for every variant.
OpenInference defines the canonical attribute names for AI/LLM telemetry. Arize AX uses these conventions to render spans in the UI, and any OTel-compatible backend that understands OpenInference can do the same.
Why Semantic Conventions Matter
Three concrete benefits, all of which compound as your stack grows:
Two examples of OpenInference attribute names:
llm.input_messages on a span, Arize AX knows it’s the chat history. So does any other OpenInference-aware backend. So does anyone reading your trace export six months from now.
OpenInference vs GenAI
The GenAI observability space currently has two semantic convention standards. They overlap in what they describe but differ in maturity and governance.
For new instrumentation today, use OpenInference. Over time the two conventions are expected to converge as the GenAI spec stabilizes — when that happens, the OpenInference auto-instrumentors will pick up the change so your application code doesn’t have to.
The Authoritative Source
OpenInference is open-source. The canonical attribute lists, span kind enums, MIME type values, and LLM provider/system enums live in the OpenInference repository — language-specific implementations track these definitions exactly.Python Semantic Conventions
TS Semantic Conventions
What’s Covered in OpenInference
The conventions cover four broad categories:
The next page walks through the span-kind catalog in detail.