def __init__(self, x: Optional[Union[str, list]] = None,
                 out: Optional[Union[str, list]] = None,
                 y: Optional[Union[str, list]] = None,
                 pipe: Optional[List[Element]] = None) -> None:
        """
        Args:
            x: Names of pipeline inference inputs.
            out: Names of pipeline inference outputs.
            y: Names of additional inputs (targets) for pipeline training and evaluation.
            pipe: List of pipeline elements.
        """
        super().__init__(in_x=x, out_params=out, in_y=y)
        if pipe is not None:
            for element in pipe:
                self.append(element.component, element.x, element.out, element.y, element.main)

        Args:
            x: Names of pipeline inference inputs.
            out: Names of pipeline inference outputs.
            y: Names of additional inputs (targets) for pipeline training and evaluation.
            pipe: List of pipeline elements.
        
deeppavlov/core/common/base.py