ConstThe embedding list root
The name of the model that was used to create the vector
The text that was embedded to create the vector
The embedding vector. Typically a high dimensional vector of floats or ints
The id of the node in the execution graph. This along with graph.node.parent_id are used to visualize the execution graph.
The name of the node in the execution graph. Use this to present a human readable name for the node. Optional
This references the id of the parent node. Leaving this unset or set as empty string implies that the current span is the root node.
The http or base64 link to the image
The input to any span
Key prefix for cost information. When these keys are transformed into a JSON-like structure, it would look like: { "prompt": 0.0021, # Cost in USD "completion": 0.0045, # Cost in USD "total": 0.0066, # Cost in USD "completion_details": { "output": 0.0009, # Cost in USD "reasoning": 0.0024, # Cost in USD (e.g., 80 tokens * $0.03/1K tokens) "audio": 0.0012 # Cost in USD (e.g., 40 tokens * $0.03/1K tokens) }, "prompt_details": { "input": 0.0003, # Cost in USD "cache_write": 0.0006, # Cost in USD (e.g., 20 tokens * $0.03/1K tokens) "cache_read": 0.0003, # Cost in USD (e.g., 10 tokens * $0.03/1K tokens) "cache_input": 0.0006, # Cost in USD (e.g., 20 tokens * $0.03/1K tokens) "audio": 0.0003 # Cost in USD (e.g., 10 tokens * $0.03/1K tokens) } } Note: This is a key prefix - individual attributes are stored as separate span attributes with this prefix, e.g. llm.cost.prompt, llm.cost.completion_details.reasoning, etc. The JSON structure shown above represents how these separate attributes can be conceptually organized. All monetary values are in USD with floating point precision.
Cost of the completion tokens in USD
Cost of audio tokens in the completion in USD
Cost of reasoning steps in the completion in USD
Total cost of input tokens in USD. This represents the cost of tokens that were used as input to the model, which may be different from the prompt cost if there are additional processing steps.
Total cost of output tokens in USD. This represents the cost of tokens that were generated as output by the model, which may be different from the completion cost if there are additional processing steps.
Cost of the prompt tokens in USD
Cost of audio tokens in the prompt in USD
Cost of input tokens in the prompt that were cached in USD
Cost of prompt tokens read from cache in USD
Cost of prompt tokens written to cache in USD
Total cost of the LLM call in USD (prompt + completion)
The JSON representation of a function call of an LLM
The messages sent to the LLM for completions Typically seen in OpenAI chat completions
The JSON representation of the parameters passed to the LLM
The name of the LLM model
The messages received from the LLM for completions Typically seen in OpenAI chat completions
The prompts sent to the LLM for completions Typically seen in OpenAI legacy completions
The provider of the inferences. E.g. the cloud provider
The AI product as identified by the client or server
Token count for the completion by the llm (in tokens)
Key prefix for additional completion token count details. Each detail should be a separate attribute with this prefix, e.g. llm.token_count.completion_details.reasoning, llm.token_count.completion_details.audio. All values should be in tokens (integer count of tokens).
Token count for audio input generated by the model (in tokens)
Token count for the reasoning steps in the completion (in tokens)
Token count for the prompt to the llm (in tokens)
Key prefix for additional prompt token count details. Each detail should be a separate attribute with this prefix, e.g. llm.token_count.prompt_details.reasoning, llm.token_count.prompt_details.audio. All values should be in tokens (integer count of tokens).
Token count for audio input presented in the prompt (in tokens)
Token count for the input tokens in the prompt that were cached (in tokens)
Token count for the tokens retrieved from cache (in tokens)
Token count for the tokens written to cache (in tokens)
Token count for the entire transaction with the llm (in tokens)
List of tools that are advertised to the LLM to be able to call
The content of the message sent to the LLM
The image content of the message sent to the LLM
The text content of the message sent to the LLM
The type of content sent to the LLM
The array of contents for the message sent to the LLM. Each element of the array is
an message_content object.
The LLM function call function arguments in a json string
The LLM function call function name
The name of the message. This is only used for role 'function' where the name of the function is captured in the name field and the parameters are captured in the content.
The role that the LLM assumes the message is from during the LLM invocation
The id of the tool call on a "tool" role message
The tool calls generated by the model, such as function calls.
Metadata for a span, used to store user-defined key-value pairs
ReadonlyOPENINFERENCE_SPAN_KIND: "openinference.span.kind"The output of any span
A vendor-specific id used to locate the prompt
A prompt template
The JSON representation of the variables used in the prompt template
A prompt template version
A vendor-specific URL used to locate the prompt
The vendor or origin of the prompt, e.g. a prompt library, a specialized service, etc.
The documents used as input to the reranker
The model name for the reranker
The documents output by the reranker
The query string for the reranker
The top k parameter for the reranker
The retrieval documents list root
The session id of a trace. Used to correlate spans in a single session.
The tags associated with a span
tool_call.function.argument (JSON string)
tool_call.function.name
The id of the tool call
The description of a tool
The json schema of a tool input, It is RECOMMENDED that this be in the OpenAI tool calling format: https://platform.openai.com/docs/assistants/tools
The name of a tool
The parameters of the tool represented as a JSON string
The user id of a trace. Used to correlate spans for a single user.
The name of the agent. Agents that perform the same functions should have the same name.