Skip to content

Interoperable

autogen.interop.Interoperable #

Bases: Protocol

A Protocol defining the interoperability interface for tool conversion.

This protocol ensures that any class implementing it provides the method convert_tool to convert a given tool into a desired format or type.

convert_tool classmethod #

convert_tool(tool, **kwargs)

Converts a given tool to a desired format or type.

This method should be implemented by any class adhering to the Interoperable protocol.

PARAMETER DESCRIPTION
tool

The tool object to be converted.

TYPE: Any

**kwargs

Additional parameters to pass during the conversion process.

TYPE: Any DEFAULT: {}

RETURNS DESCRIPTION
Tool

The converted tool in the desired format or type.

TYPE: Tool

Source code in autogen/interop/interoperable.py
@classmethod
def convert_tool(cls, tool: Any, **kwargs: Any) -> Tool:
    """Converts a given tool to a desired format or type.

    This method should be implemented by any class adhering to the `Interoperable` protocol.

    Args:
        tool (Any): The tool object to be converted.
        **kwargs (Any): Additional parameters to pass during the conversion process.

    Returns:
        Tool: The converted tool in the desired format or type.
    """
    ...

get_unsupported_reason classmethod #

get_unsupported_reason()

Returns the reason for the tool being unsupported.

This method should be implemented by any class adhering to the Interoperable protocol.

RETURNS DESCRIPTION
str

The reason for the interoperability class being unsupported.

TYPE: Optional[str]

Source code in autogen/interop/interoperable.py
@classmethod
def get_unsupported_reason(cls) -> Optional[str]:
    """Returns the reason for the tool being unsupported.

    This method should be implemented by any class adhering to the `Interoperable` protocol.

    Returns:
        str: The reason for the interoperability class being unsupported.
    """
    ...