Skip to content

ConverseStreamMetadataEvent dataclass

A conversation stream metadata event.

Source code in src/aws_sdk_bedrock_runtime/models.py
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
@dataclass(kw_only=True)
class ConverseStreamMetadataEvent:
    """A conversation stream metadata event."""

    usage: TokenUsage
    """Usage information for the conversation stream event."""

    metrics: ConverseStreamMetrics
    """The metrics for the conversation stream metadata event."""

    trace: ConverseStreamTrace | None = None
    """The trace object in the response from
    [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html)
    that contains information about the guardrail behavior.
    """

    performance_config: PerformanceConfiguration | None = None
    """Model performance configuration metadata for the conversation stream
    event.
    """

    def serialize(self, serializer: ShapeSerializer):
        serializer.write_struct(_SCHEMA_CONVERSE_STREAM_METADATA_EVENT, self)

    def serialize_members(self, serializer: ShapeSerializer):
        serializer.write_struct(
            _SCHEMA_CONVERSE_STREAM_METADATA_EVENT.members["usage"], self.usage
        )
        serializer.write_struct(
            _SCHEMA_CONVERSE_STREAM_METADATA_EVENT.members["metrics"], self.metrics
        )
        if self.trace is not None:
            serializer.write_struct(
                _SCHEMA_CONVERSE_STREAM_METADATA_EVENT.members["trace"], self.trace
            )

        if self.performance_config is not None:
            serializer.write_struct(
                _SCHEMA_CONVERSE_STREAM_METADATA_EVENT.members["performanceConfig"],
                self.performance_config,
            )

    @classmethod
    def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
        return cls(**cls.deserialize_kwargs(deserializer))

    @classmethod
    def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
        kwargs: dict[str, Any] = {}

        def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
            match schema.expect_member_index():
                case 0:
                    kwargs["usage"] = TokenUsage.deserialize(de)

                case 1:
                    kwargs["metrics"] = ConverseStreamMetrics.deserialize(de)

                case 2:
                    kwargs["trace"] = ConverseStreamTrace.deserialize(de)

                case 3:
                    kwargs["performance_config"] = PerformanceConfiguration.deserialize(
                        de
                    )

                case _:
                    logger.debug("Unexpected member schema: %s", schema)

        deserializer.read_struct(
            _SCHEMA_CONVERSE_STREAM_METADATA_EVENT, consumer=_consumer
        )
        return kwargs

Attributes

metrics instance-attribute

The metrics for the conversation stream metadata event.

performance_config class-attribute instance-attribute

performance_config: PerformanceConfiguration | None = None

Model performance configuration metadata for the conversation stream event.

trace class-attribute instance-attribute

trace: ConverseStreamTrace | None = None

The trace object in the response from ConverseStream that contains information about the guardrail behavior.

usage instance-attribute

usage: TokenUsage

Usage information for the conversation stream event.