143 lines
13 KiB
Markdown
143 lines
13 KiB
Markdown
<!--- Hugo front matter used to generate the website version of this page:
|
|
--->
|
|
|
|
<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
|
|
<!-- see templates/registry/markdown/attribute_namespace.md.j2 -->
|
|
|
|
# Gen AI
|
|
|
|
- [GenAI Attributes](#genai-attributes)
|
|
- [OpenAI Attributes](#openai-attributes)
|
|
- [Deprecated GenAI Attributes](#deprecated-genai-attributes)
|
|
- [Deprecated OpenAI GenAI Attributes](#deprecated-openai-genai-attributes)
|
|
|
|
## GenAI Attributes
|
|
|
|
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 |
|
|
|---|---|---|---|---|
|
|
| <a id="gen-ai-operation-name" href="#gen-ai-operation-name">`gen_ai.operation.name`</a> | string | The name of the operation being performed. [1] | `chat`; `text_completion`; `embeddings` |  |
|
|
| <a id="gen-ai-request-encoding-formats" href="#gen-ai-request-encoding-formats">`gen_ai.request.encoding_formats`</a> | string[] | The encoding formats requested in an embeddings operation, if specified. [2] | `["base64"]`; `["float", "binary"]` |  |
|
|
| <a id="gen-ai-request-frequency-penalty" href="#gen-ai-request-frequency-penalty">`gen_ai.request.frequency_penalty`</a> | double | The frequency penalty setting for the GenAI request. | `0.1` |  |
|
|
| <a id="gen-ai-request-max-tokens" href="#gen-ai-request-max-tokens">`gen_ai.request.max_tokens`</a> | int | The maximum number of tokens the model generates for a request. | `100` |  |
|
|
| <a id="gen-ai-request-model" href="#gen-ai-request-model">`gen_ai.request.model`</a> | string | The name of the GenAI model a request is being made to. | `gpt-4` |  |
|
|
| <a id="gen-ai-request-presence-penalty" href="#gen-ai-request-presence-penalty">`gen_ai.request.presence_penalty`</a> | double | The presence penalty setting for the GenAI request. | `0.1` |  |
|
|
| <a id="gen-ai-request-seed" href="#gen-ai-request-seed">`gen_ai.request.seed`</a> | int | Requests with same seed value more likely to return same result. | `100` |  |
|
|
| <a id="gen-ai-request-stop-sequences" href="#gen-ai-request-stop-sequences">`gen_ai.request.stop_sequences`</a> | string[] | List of sequences that the model will use to stop generating further tokens. | `["forest", "lived"]` |  |
|
|
| <a id="gen-ai-request-temperature" href="#gen-ai-request-temperature">`gen_ai.request.temperature`</a> | double | The temperature setting for the GenAI request. | `0.0` |  |
|
|
| <a id="gen-ai-request-top-k" href="#gen-ai-request-top-k">`gen_ai.request.top_k`</a> | double | The top_k sampling setting for the GenAI request. | `1.0` |  |
|
|
| <a id="gen-ai-request-top-p" href="#gen-ai-request-top-p">`gen_ai.request.top_p`</a> | double | The top_p sampling setting for the GenAI request. | `1.0` |  |
|
|
| <a id="gen-ai-response-finish-reasons" href="#gen-ai-response-finish-reasons">`gen_ai.response.finish_reasons`</a> | string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | `["stop"]`; `["stop", "length"]` |  |
|
|
| <a id="gen-ai-response-id" href="#gen-ai-response-id">`gen_ai.response.id`</a> | string | The unique identifier for the completion. | `chatcmpl-123` |  |
|
|
| <a id="gen-ai-response-model" href="#gen-ai-response-model">`gen_ai.response.model`</a> | string | The name of the model that generated the response. | `gpt-4-0613` |  |
|
|
| <a id="gen-ai-system" href="#gen-ai-system">`gen_ai.system`</a> | string | The Generative AI product as identified by the client or server instrumentation. [3] | `openai` |  |
|
|
| <a id="gen-ai-token-type" href="#gen-ai-token-type">`gen_ai.token.type`</a> | string | The type of token being counted. | `input`; `output` |  |
|
|
| <a id="gen-ai-usage-input-tokens" href="#gen-ai-usage-input-tokens">`gen_ai.usage.input_tokens`</a> | int | The number of tokens used in the GenAI input (prompt). | `100` |  |
|
|
| <a id="gen-ai-usage-output-tokens" href="#gen-ai-usage-output-tokens">`gen_ai.usage.output_tokens`</a> | 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.
|
|
Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI client
|
|
libraries. In such cases, the `gen_ai.system` is set to `openai` based on the
|
|
instrumentation's best knowledge, instead of the actual system. The `server.address`
|
|
attribute may help identify the actual system in use for `openai`.
|
|
|
|
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](https://platform.openai.com/docs/api-reference/chat) |  |
|
|
| `embeddings` | Embeddings operation such as [OpenAI Create embeddings API](https://platform.openai.com/docs/api-reference/embeddings/create) |  |
|
|
| `text_completion` | Text completions operation such as [OpenAI Completions API (Legacy)](https://platform.openai.com/docs/api-reference/completions) |  |
|
|
|
|
---
|
|
|
|
`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 |  |
|
|
| `az.ai.openai` | Azure OpenAI |  |
|
|
| `cohere` | Cohere |  |
|
|
| `deepseek` | DeepSeek |  |
|
|
| `gemini` | Gemini |  |
|
|
| `groq` | Groq |  |
|
|
| `ibm.watsonx.ai` | IBM Watsonx AI |  |
|
|
| `mistral_ai` | Mistral AI |  |
|
|
| `openai` | OpenAI |  |
|
|
| `perplexity` | Perplexity |  |
|
|
| `vertex_ai` | Vertex AI |  |
|
|
| `xai` | xAI |  |
|
|
|
|
---
|
|
|
|
`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.) |  |
|
|
|
|
## OpenAI Attributes
|
|
|
|
Thie group defines attributes for OpenAI.
|
|
|
|
| Attribute | Type | Description | Examples | Stability |
|
|
|---|---|---|---|---|
|
|
| <a id="gen-ai-openai-request-response-format" href="#gen-ai-openai-request-response-format">`gen_ai.openai.request.response_format`</a> | string | The response format that is requested. | `json` |  |
|
|
| <a id="gen-ai-openai-request-service-tier" href="#gen-ai-openai-request-service-tier">`gen_ai.openai.request.service_tier`</a> | string | The service tier requested. May be a specific tier, default, or auto. | `auto`; `default` |  |
|
|
| <a id="gen-ai-openai-response-service-tier" href="#gen-ai-openai-response-service-tier">`gen_ai.openai.response.service_tier`</a> | string | The service tier used for the response. | `scale`; `default` |  |
|
|
| <a id="gen-ai-openai-response-system-fingerprint" href="#gen-ai-openai-response-system-fingerprint">`gen_ai.openai.response.system_fingerprint`</a> | 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. |  |
|
|
|
|
## Deprecated GenAI Attributes
|
|
|
|
Describes deprecated `gen_ai` attributes.
|
|
|
|
| Attribute | Type | Description | Examples | Stability |
|
|
|---|---|---|---|---|
|
|
| <a id="gen-ai-completion" href="#gen-ai-completion">`gen_ai.completion`</a> | string | Deprecated, use Event API to report completions contents. | `[{'role': 'assistant', 'content': 'The capital of France is Paris.'}]` | <br>Removed, no replacement at this time. |
|
|
| <a id="gen-ai-prompt" href="#gen-ai-prompt">`gen_ai.prompt`</a> | string | Deprecated, use Event API to report prompt contents. | `[{'role': 'user', 'content': 'What is the capital of France?'}]` | <br>Removed, no replacement at this time. |
|
|
| <a id="gen-ai-usage-completion-tokens" href="#gen-ai-usage-completion-tokens">`gen_ai.usage.completion_tokens`</a> | int | Deprecated, use `gen_ai.usage.output_tokens` instead. | `42` | <br>Replaced by `gen_ai.usage.output_tokens` attribute. |
|
|
| <a id="gen-ai-usage-prompt-tokens" href="#gen-ai-usage-prompt-tokens">`gen_ai.usage.prompt_tokens`</a> | int | Deprecated, use `gen_ai.usage.input_tokens` instead. | `42` | <br>Replaced by `gen_ai.usage.input_tokens` attribute. |
|
|
|
|
## Deprecated OpenAI GenAI Attributes
|
|
|
|
Describes deprecated `gen_ai.openai` attributes.
|
|
|
|
| Attribute | Type | Description | Examples | Stability |
|
|
|---|---|---|---|---|
|
|
| <a id="gen-ai-openai-request-seed" href="#gen-ai-openai-request-seed">`gen_ai.openai.request.seed`</a> | int | Deprecated, use `gen_ai.request.seed`. | `100` | <br>Replaced by `gen_ai.request.seed` attribute. |
|