Skip to content

SystemTool dataclass

Specifies a system-defined tool for the model to use. System-defined tools are tools that are created and provided by the model provider.

Source code in src/aws_sdk_bedrock_runtime/models.py
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
@dataclass(kw_only=True)
class SystemTool:
    """Specifies a system-defined tool for the model to use. *System-defined
    tools* are tools that are created and provided by the model provider.
    """

    name: str
    """The name of the system-defined tool that you want to call."""

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

    def serialize_members(self, serializer: ShapeSerializer):
        serializer.write_string(_SCHEMA_SYSTEM_TOOL.members["name"], self.name)

    @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["name"] = de.read_string(_SCHEMA_SYSTEM_TOOL.members["name"])

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

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

Attributes

name instance-attribute

name: str

The name of the system-defined tool that you want to call.