microsoft.opentelemetry.a365.core.models.messages module
OTEL gen-ai semantic convention message types.
Defines the structured message format for input/output message tracing, following the OpenTelemetry gen-ai semantic conventions:
https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-input-messages.json
https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-output-messages.json
- class microsoft.opentelemetry.a365.core.models.messages.MessageRole(value)[source]
Bases:
EnumRole of a message participant per OTEL gen-ai semantic conventions.
- SYSTEM = 'system'
System / developer instructions that set up the conversation.
- USER = 'user'
Input authored by the end user.
- ASSISTANT = 'assistant'
Output produced by the model.
- TOOL = 'tool'
Output of a tool returned back to the model.
- class microsoft.opentelemetry.a365.core.models.messages.FinishReason(value)[source]
Bases:
EnumReason a model stopped generating per OTEL gen-ai semantic conventions.
- STOP = 'stop'
The model emitted a natural stop point or a provided stop sequence.
- LENGTH = 'length'
Generation stopped because the maximum token limit was reached.
- CONTENT_FILTER = 'content_filter'
Generation stopped because content was filtered by a safety system.
- TOOL_CALL = 'tool_call'
The model stopped to request a tool call.
- ERROR = 'error'
Generation stopped because an error occurred.
- class microsoft.opentelemetry.a365.core.models.messages.Modality(value)[source]
Bases:
EnumMedia modality for blob, file, and URI parts.
- IMAGE = 'image'
Image content.
- VIDEO = 'video'
Video content.
- AUDIO = 'audio'
Audio content.
- class microsoft.opentelemetry.a365.core.models.messages.TextPart(content)[source]
Bases:
objectPlain text content.
- class microsoft.opentelemetry.a365.core.models.messages.ToolCallRequestPart(name, id=None, arguments=None)[source]
Bases:
objectA tool call requested by the model.
- class microsoft.opentelemetry.a365.core.models.messages.ToolCallResponsePart(id=None, response=None)[source]
Bases:
objectResult of a tool call.
- class microsoft.opentelemetry.a365.core.models.messages.ReasoningPart(content)[source]
Bases:
objectModel reasoning / chain-of-thought content.
- class microsoft.opentelemetry.a365.core.models.messages.BlobPart(modality, content, mime_type=None)[source]
Bases:
objectInline binary data (base64-encoded).
- class microsoft.opentelemetry.a365.core.models.messages.FilePart(modality, file_id, mime_type=None)[source]
Bases:
objectReference to a pre-uploaded file.
- class microsoft.opentelemetry.a365.core.models.messages.UriPart(modality, uri, mime_type=None)[source]
Bases:
objectExternal URI reference.
- class microsoft.opentelemetry.a365.core.models.messages.ServerToolCallPart(name, server_tool_call, id=None)[source]
Bases:
objectServer-side tool invocation.
- class microsoft.opentelemetry.a365.core.models.messages.ServerToolCallResponsePart(server_tool_call_response, id=None)[source]
Bases:
objectServer-side tool response.
- class microsoft.opentelemetry.a365.core.models.messages.GenericPart(type, data=<factory>)[source]
Bases:
objectExtensible part for custom / future types.
- microsoft.opentelemetry.a365.core.models.messages.MessagePart
Union of all message part types per OTEL gen-ai semantic conventions.
alias of
TextPart|ToolCallRequestPart|ToolCallResponsePart|ReasoningPart|BlobPart|FilePart|UriPart|ServerToolCallPart|ServerToolCallResponsePart|GenericPart
- class microsoft.opentelemetry.a365.core.models.messages.ChatMessage(role, parts=<factory>, name=None)[source]
Bases:
objectAn input message sent to a model (OTEL gen-ai semantic conventions).
- role: MessageRole
- parts: list[TextPart | ToolCallRequestPart | ToolCallResponsePart | ReasoningPart | BlobPart | FilePart | UriPart | ServerToolCallPart | ServerToolCallResponsePart | GenericPart]
- class microsoft.opentelemetry.a365.core.models.messages.OutputMessage(role, parts=<factory>, name=None, finish_reason='stop')[source]
Bases:
ChatMessageAn output message produced by a model (OTEL gen-ai semantic conventions).
finish_reasondefaults to"stop"per OTel spec when not provided.
- class microsoft.opentelemetry.a365.core.models.messages.InputMessages(messages=<factory>)[source]
Bases:
objectContainer for input messages. Serializes as a plain JSON array per OTel spec.
- messages: list[ChatMessage]
- class microsoft.opentelemetry.a365.core.models.messages.OutputMessages(messages=<factory>)[source]
Bases:
objectContainer for output messages. Serializes as a plain JSON array per OTel spec.
- messages: list[OutputMessage]
- microsoft.opentelemetry.a365.core.models.messages.InputMessagesParam
Accepted input for
record_input_messages.Supports a single string, a list of strings (backward compat), or the structured container.
alias of
str|list[str] |InputMessages
- microsoft.opentelemetry.a365.core.models.messages.OutputMessagesParam
Accepted input for
record_output_messages.Supports a single string, a list of strings (backward compat), or the structured container.
alias of
str|list[str] |OutputMessages