def get_model_transformer()

in eland/ml/transformers/__init__.py [0:0]


def get_model_transformer(model: Any, **kwargs: Any) -> ModelTransformer:
    """Creates a ModelTransformer for a given model or raises an exception if one is not available"""
    for model_type, transformer in _MODEL_TRANSFORMERS.items():
        if isinstance(model, model_type):
            # Filter out kwargs that aren't applicable to the specific 'ModelTransformer'
            accepted_kwargs = {
                param for param in inspect.signature(transformer.__init__).parameters
            }
            kwargs = {k: v for k, v in kwargs.items() if k in accepted_kwargs}

            return transformer(model, **kwargs)

    raise NotImplementedError(
        f"Importing ML models of type {type(model)}, not currently implemented"
    )