    def load_pdf(self, path: Path, source_type: str = 'pdf', **kwargs):
        loader = PDFLoader(path, source_type=source_type, no_summarization=True, **kwargs)
        return loader.load()

    def load_github(
        self,
        url: str,
        github_token: str,
        lang: str = 'python',
        branch: str = 'master',
        source_type: str = 'code'
    ) -> list:
        git = GithubLoader(
            url,
            github_token=github_token,
            lang=lang,
            branch=branch,
            source_type=source_type
        )
        return git.load()

    def load_repository(
        self,
        path: Path,
        lang: str = 'python',
        source_type: str = 'code',
        **kwargs
    ) -> list:
        repo = RepositoryLoader(
            source_type=source_type,
            **kwargs
        )
        return repo.load(path, lang=lang)

    def process_websites(
        self,
        websites: list,
        source_type: str = 'website',
        **kwargs
    ) -> list:
        loader = WebLoader(
            urls=websites,
            source_type=source_type
        )
        return loader.load()

    def load_youtube_videos(
        self,
        urls: list,
        video_path: Union[str, Path],
        source_type: str = 'youtube',
        priority: int = 'high',
        language: str = 'en',
        **kwargs
    ) -> list:
        yt = YoutubeLoader(
            urls=urls,
            video_path=video_path,
            source_type=source_type,
            priority=priority,
            language=language,
            llm=self._llm,
            **kwargs
        )
        return yt.load()

    def load_vimeo_videos(
        self,
        urls: list,
        video_path: Union[str, Path],
        source_type: str = 'vimeo',
        priority: int = 'high',
        language: str = 'en',
        **kwargs
    ) -> list:
        yt = VimeoLoader(
            urls=urls,
            video_path=video_path,
            source_type=source_type,
            priority=priority,
            language=language,
            llm=self._llm,
            **kwargs
        )
        return yt.load()

    def load_directory(
        self,
        path: Union[str, Path],
        source_type: str = 'documents',
    ) -> list:
        return None

    def load_docx(
        self,
        path: Path,
        source_type: str = 'docx',
        **kwargs
    ) -> list:
        return MSWordLoader.from_path(
            path=path,
            source_type=source_type,
            **kwargs
        )

    def load_pptx(
        self,
        path: Path,
        source_type: str = 'pptx',
        **kwargs
    ) -> list:
        return PPTXLoader.from_path(
            path=path,
            source_type=source_type,
            **kwargs
        )
