def __init__(self, component: Union[Component, FunctionType],
                 x: Optional[Union[str, list]] = None,
                 out: Optional[Union[str, list]] = None,
                 y: Optional[Union[str, list]] = None,
                 main: bool = False) -> None:
        """
        Args:
            component: Pipeline component object.
            x: Names of the component inference inputs. Output from other pipeline elements with such names will be fed
                to the input of this component.
            out: Names of the component inference outputs. Component outputs can be fed to other pipeline elements
                using this names.
            y: Names of additional inputs (targets) for component training and evaluation.
            main: Set True if this is the main component. Main component is trained during model training process.
        """
        self.component = component
        self.x = x
        self.y = y
        self.out = out
        self.main = main

        Args:
            component: Pipeline component object.
            x: Names of the component inference inputs. Output from other pipeline elements with such names will be fed
                to the input of this component.
            out: Names of the component inference outputs. Component outputs can be fed to other pipeline elements
                using this names.
            y: Names of additional inputs (targets) for component training and evaluation.
            main: Set True if this is the main component. Main component is trained during model training process.
        
deeppavlov/core/common/base.py