about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py')
-rw-r--r--.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py305
1 files changed, 305 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py b/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py
new file mode 100644
index 00000000..70b1feb1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py
@@ -0,0 +1,305 @@
+# Copyright The OpenTelemetry Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from enum import Enum
+from typing import Final
+
+from deprecated import deprecated
+
+GEN_AI_AGENT_DESCRIPTION: Final = "gen_ai.agent.description"
+"""
+Free-form description of the GenAI agent provided by the application.
+"""
+
+GEN_AI_AGENT_ID: Final = "gen_ai.agent.id"
+"""
+The unique identifier of the GenAI agent.
+"""
+
+GEN_AI_AGENT_NAME: Final = "gen_ai.agent.name"
+"""
+Human-readable name of the GenAI agent provided by the application.
+"""
+
+GEN_AI_COMPLETION: Final = "gen_ai.completion"
+"""
+Deprecated: Removed, no replacement at this time.
+"""
+
+GEN_AI_OPENAI_REQUEST_RESPONSE_FORMAT: Final = (
+    "gen_ai.openai.request.response_format"
+)
+"""
+Deprecated: Replaced by `gen_ai.output.type`.
+"""
+
+GEN_AI_OPENAI_REQUEST_SEED: Final = "gen_ai.openai.request.seed"
+"""
+Deprecated: Replaced by `gen_ai.request.seed` attribute.
+"""
+
+GEN_AI_OPENAI_REQUEST_SERVICE_TIER: Final = (
+    "gen_ai.openai.request.service_tier"
+)
+"""
+The service tier requested. May be a specific tier, default, or auto.
+"""
+
+GEN_AI_OPENAI_RESPONSE_SERVICE_TIER: Final = (
+    "gen_ai.openai.response.service_tier"
+)
+"""
+The service tier used for the response.
+"""
+
+GEN_AI_OPENAI_RESPONSE_SYSTEM_FINGERPRINT: Final = (
+    "gen_ai.openai.response.system_fingerprint"
+)
+"""
+A fingerprint to track any eventual change in the Generative AI environment.
+"""
+
+GEN_AI_OPERATION_NAME: Final = "gen_ai.operation.name"
+"""
+The name of the operation being performed.
+Note: 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.
+"""
+
+GEN_AI_OUTPUT_TYPE: Final = "gen_ai.output.type"
+"""
+Represents the content type requested by the client.
+Note: This attribute SHOULD be used when the client requests output of a specific type. The model may return zero or more outputs of this type.
+This attribute specifies the output modality and not the actual output format. For example, if an image is requested, the actual output could be a URL pointing to an image file.
+Additional output format details may be recorded in the future in the `gen_ai.output.{type}.*` attributes.
+"""
+
+GEN_AI_PROMPT: Final = "gen_ai.prompt"
+"""
+Deprecated: Removed, no replacement at this time.
+"""
+
+GEN_AI_REQUEST_CHOICE_COUNT: Final = "gen_ai.request.choice.count"
+"""
+The target number of candidate completions to return.
+"""
+
+GEN_AI_REQUEST_ENCODING_FORMATS: Final = "gen_ai.request.encoding_formats"
+"""
+The encoding formats requested in an embeddings operation, if specified.
+Note: In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems only accept a single format per request.
+"""
+
+GEN_AI_REQUEST_FREQUENCY_PENALTY: Final = "gen_ai.request.frequency_penalty"
+"""
+The frequency penalty setting for the GenAI request.
+"""
+
+GEN_AI_REQUEST_MAX_TOKENS: Final = "gen_ai.request.max_tokens"
+"""
+The maximum number of tokens the model generates for a request.
+"""
+
+GEN_AI_REQUEST_MODEL: Final = "gen_ai.request.model"
+"""
+The name of the GenAI model a request is being made to.
+"""
+
+GEN_AI_REQUEST_PRESENCE_PENALTY: Final = "gen_ai.request.presence_penalty"
+"""
+The presence penalty setting for the GenAI request.
+"""
+
+GEN_AI_REQUEST_SEED: Final = "gen_ai.request.seed"
+"""
+Requests with same seed value more likely to return same result.
+"""
+
+GEN_AI_REQUEST_STOP_SEQUENCES: Final = "gen_ai.request.stop_sequences"
+"""
+List of sequences that the model will use to stop generating further tokens.
+"""
+
+GEN_AI_REQUEST_TEMPERATURE: Final = "gen_ai.request.temperature"
+"""
+The temperature setting for the GenAI request.
+"""
+
+GEN_AI_REQUEST_TOP_K: Final = "gen_ai.request.top_k"
+"""
+The top_k sampling setting for the GenAI request.
+"""
+
+GEN_AI_REQUEST_TOP_P: Final = "gen_ai.request.top_p"
+"""
+The top_p sampling setting for the GenAI request.
+"""
+
+GEN_AI_RESPONSE_FINISH_REASONS: Final = "gen_ai.response.finish_reasons"
+"""
+Array of reasons the model stopped generating tokens, corresponding to each generation received.
+"""
+
+GEN_AI_RESPONSE_ID: Final = "gen_ai.response.id"
+"""
+The unique identifier for the completion.
+"""
+
+GEN_AI_RESPONSE_MODEL: Final = "gen_ai.response.model"
+"""
+The name of the model that generated the response.
+"""
+
+GEN_AI_SYSTEM: Final = "gen_ai.system"
+"""
+The Generative AI product as identified by the client or server instrumentation.
+Note: 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_TOKEN_TYPE: Final = "gen_ai.token.type"
+"""
+The type of token being counted.
+"""
+
+GEN_AI_TOOL_CALL_ID: Final = "gen_ai.tool.call.id"
+"""
+The tool call identifier.
+"""
+
+GEN_AI_TOOL_NAME: Final = "gen_ai.tool.name"
+"""
+Name of the tool utilized by the agent.
+"""
+
+GEN_AI_TOOL_TYPE: Final = "gen_ai.tool.type"
+"""
+Type of the tool utilized by the agent.
+Note: Extension: A tool executed on the agent-side to directly call external APIs, bridging the gap between the agent and real-world systems.
+  Agent-side operations involve actions that are performed by the agent on the server or within the agent's controlled environment.
+Function: A tool executed on the client-side, where the agent generates parameters for a predefined function, and the client executes the logic.
+  Client-side operations are actions taken on the user's end or within the client application.
+Datastore: A tool used by the agent to access and query structured or unstructured external data for retrieval-augmented tasks or knowledge updates.
+"""
+
+GEN_AI_USAGE_COMPLETION_TOKENS: Final = "gen_ai.usage.completion_tokens"
+"""
+Deprecated: Replaced by `gen_ai.usage.output_tokens` attribute.
+"""
+
+GEN_AI_USAGE_INPUT_TOKENS: Final = "gen_ai.usage.input_tokens"
+"""
+The number of tokens used in the GenAI input (prompt).
+"""
+
+GEN_AI_USAGE_OUTPUT_TOKENS: Final = "gen_ai.usage.output_tokens"
+"""
+The number of tokens used in the GenAI response (completion).
+"""
+
+GEN_AI_USAGE_PROMPT_TOKENS: Final = "gen_ai.usage.prompt_tokens"
+"""
+Deprecated: Replaced by `gen_ai.usage.input_tokens` attribute.
+"""
+
+
+@deprecated(
+    reason="The attribute gen_ai.openai.request.response_format is deprecated - Replaced by `gen_ai.output.type`"
+)  # type: ignore
+class GenAiOpenaiRequestResponseFormatValues(Enum):
+    TEXT = "text"
+    """Text response format."""
+    JSON_OBJECT = "json_object"
+    """JSON object response format."""
+    JSON_SCHEMA = "json_schema"
+    """JSON schema response format."""
+
+
+class GenAiOpenaiRequestServiceTierValues(Enum):
+    AUTO = "auto"
+    """The system will utilize scale tier credits until they are exhausted."""
+    DEFAULT = "default"
+    """The system will utilize the default scale tier."""
+
+
+class GenAiOperationNameValues(Enum):
+    CHAT = "chat"
+    """Chat completion operation such as [OpenAI Chat API](https://platform.openai.com/docs/api-reference/chat)."""
+    TEXT_COMPLETION = "text_completion"
+    """Text completions operation such as [OpenAI Completions API (Legacy)](https://platform.openai.com/docs/api-reference/completions)."""
+    EMBEDDINGS = "embeddings"
+    """Embeddings operation such as [OpenAI Create embeddings API](https://platform.openai.com/docs/api-reference/embeddings/create)."""
+    CREATE_AGENT = "create_agent"
+    """Create GenAI agent."""
+    EXECUTE_TOOL = "execute_tool"
+    """Execute a tool."""
+
+
+class GenAiOutputTypeValues(Enum):
+    TEXT = "text"
+    """Plain text."""
+    JSON = "json"
+    """JSON object with known or unknown schema."""
+    IMAGE = "image"
+    """Image."""
+    SPEECH = "speech"
+    """Speech."""
+
+
+class GenAiSystemValues(Enum):
+    OPENAI = "openai"
+    """OpenAI."""
+    VERTEX_AI = "vertex_ai"
+    """Vertex AI."""
+    GEMINI = "gemini"
+    """Gemini."""
+    ANTHROPIC = "anthropic"
+    """Anthropic."""
+    COHERE = "cohere"
+    """Cohere."""
+    AZ_AI_INFERENCE = "az.ai.inference"
+    """Azure AI Inference."""
+    AZ_AI_OPENAI = "az.ai.openai"
+    """Azure OpenAI."""
+    IBM_WATSONX_AI = "ibm.watsonx.ai"
+    """IBM Watsonx AI."""
+    AWS_BEDROCK = "aws.bedrock"
+    """AWS Bedrock."""
+    PERPLEXITY = "perplexity"
+    """Perplexity."""
+    XAI = "xai"
+    """xAI."""
+    DEEPSEEK = "deepseek"
+    """DeepSeek."""
+    GROQ = "groq"
+    """Groq."""
+    MISTRAL_AI = "mistral_ai"
+    """Mistral AI."""
+
+
+class GenAiTokenTypeValues(Enum):
+    INPUT = "input"
+    """Input tokens (prompt, input, etc.)."""
+    COMPLETION = "output"
+    """Deprecated: Replaced by `output`."""
+    OUTPUT = "output"
+    """Output tokens (completion, response, etc.)."""