This document defines the attributes used to describe telemetry in the context of Generative Artificial Intelligence (GenAI) Models requests and responses.
Attribute | Type | Description | Examples | Stability |
---|---|---|---|---|
gen_ai.operation.name |
string | The name of the operation being performed. [1] | chat ; text_completion ; embeddings |
|
gen_ai.request.encoding_formats |
string[] | The encoding formats requested in an embeddings operation, if specified. [2] | ["base64"] ; ["float", "binary"] |
|
gen_ai.request.frequency_penalty |
double | The frequency penalty setting for the GenAI request. | 0.1 |
|
gen_ai.request.max_tokens |
int | The maximum number of tokens the model generates for a request. | 100 |
|
gen_ai.request.model |
string | The name of the GenAI model a request is being made to. | gpt-4 |
|
gen_ai.request.presence_penalty |
double | The presence penalty setting for the GenAI request. | 0.1 |
|
gen_ai.request.stop_sequences |
string[] | List of sequences that the model will use to stop generating further tokens. | ["forest", "lived"] |
|
gen_ai.request.temperature |
double | The temperature setting for the GenAI request. | 0.0 |
|
gen_ai.request.top_k |
double | The top_k sampling setting for the GenAI request. | 1.0 |
|
gen_ai.request.top_p |
double | The top_p sampling setting for the GenAI request. | 1.0 |
|
gen_ai.response.finish_reasons |
string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | ["stop"] ; ["stop", "length"] |
|
gen_ai.response.id |
string | The unique identifier for the completion. | chatcmpl-123 |
|
gen_ai.response.model |
string | The name of the model that generated the response. | gpt-4-0613 |
|
gen_ai.system |
string | The Generative AI product as identified by the client or server instrumentation. [3] | openai |
|
gen_ai.token.type |
string | The type of token being counted. | input ; output |
|
gen_ai.usage.input_tokens |
int | The number of tokens used in the GenAI input (prompt). | 100 |
|
gen_ai.usage.output_tokens |
int | The number of tokens used in the GenAI response (completion). | 180 |
[1] gen_ai.operation.name
: If one of the predefined values applies, but specific system uses a different name it's RECOMMENDED to document it in the semantic conventions for specific GenAI system and use system-specific name in the instrumentation. If a different name is not documented, instrumentation libraries SHOULD use applicable predefined value.
[2] gen_ai.request.encoding_formats
: In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems only accept a single format per request.
[3] gen_ai.system
: The gen_ai.system
describes a family of GenAI models with specific model identified
by gen_ai.request.model
and gen_ai.response.model
attributes.
The actual GenAI product may differ from the one identified by the client.
For example, when using OpenAI client libraries to communicate with Mistral, the gen_ai.system
is set to openai
based on the instrumentation's best knowledge.
For custom model, a custom friendly name SHOULD be used.
If none of these options apply, the gen_ai.system
SHOULD be set to _OTHER
.
gen_ai.operation.name
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
chat |
Chat completion operation such as OpenAI Chat API | |
embeddings |
Embeddings operation such as OpenAI Create embeddings API | |
text_completion |
Text completions operation such as OpenAI Completions API (Legacy) |
gen_ai.system
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
anthropic |
Anthropic | |
aws.bedrock |
AWS Bedrock | |
az.ai.inference |
Azure AI Inference | |
cohere |
Cohere | |
ibm.watsonx.ai |
IBM Watsonx AI | |
openai |
OpenAI | |
vertex_ai |
Vertex AI |
gen_ai.token.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
input |
Input tokens (prompt, input, etc.) | |
output |
Output tokens (completion, response, etc.) |
Thie group defines attributes for OpenAI.
Attribute | Type | Description | Examples | Stability |
---|---|---|---|---|
gen_ai.openai.request.response_format |
string | The response format that is requested. | json |
|
gen_ai.openai.request.seed |
int | Requests with same seed value more likely to return same result. | 100 |
|
gen_ai.openai.request.service_tier |
string | The service tier requested. May be a specific tier, default, or auto. | auto ; default |
|
gen_ai.openai.response.service_tier |
string | The service tier used for the response. | scale ; default |
|
gen_ai.openai.response.system_fingerprint |
string | A fingerprint to track any eventual change in the Generative AI environment. | fp_44709d6fcb |
gen_ai.openai.request.response_format
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
json_object |
JSON object response format | |
json_schema |
JSON schema response format | |
text |
Text response format |
gen_ai.openai.request.service_tier
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
auto |
The system will utilize scale tier credits until they are exhausted. | |
default |
The system will utilize the default scale tier. |
Describes deprecated gen_ai
attributes.
Attribute | Type | Description | Examples | Stability |
---|---|---|---|---|
gen_ai.completion |
string | Deprecated, use Event API to report completions contents. | [{'role': 'assistant', 'content': 'The capital of France is Paris.'}] |
Removed, no replacement at this time. |
gen_ai.prompt |
string | Deprecated, use Event API to report prompt contents. | [{'role': 'user', 'content': 'What is the capital of France?'}] |
Removed, no replacement at this time. |
gen_ai.usage.completion_tokens |
int | Deprecated, use gen_ai.usage.output_tokens instead. |
42 |
Replaced by gen_ai.usage.output_tokens attribute. |
gen_ai.usage.prompt_tokens |
int | Deprecated, use gen_ai.usage.input_tokens instead. |
42 |
Replaced by gen_ai.usage.input_tokens attribute. |