diff --git a/libs/community/langchain_community/document_loaders/web_base.py b/libs/community/langchain_community/document_loaders/web_base.py index 2d5bf1a8e7..b07f904c5f 100644 --- a/libs/community/langchain_community/document_loaders/web_base.py +++ b/libs/community/langchain_community/document_loaders/web_base.py @@ -251,7 +251,7 @@ class WebBaseLoader(BaseLoader): metadata = _build_metadata(soup, path) yield Document(page_content=text, metadata=metadata) - def aload(self) -> List[Document]: + def aload(self) -> List[Document]: # type: ignore """Load text from the urls in web_path async into Documents.""" results = self.scrape_all(self.web_paths) diff --git a/libs/core/langchain_core/document_loaders/base.py b/libs/core/langchain_core/document_loaders/base.py index a66f099f77..5a584aa5b3 100644 --- a/libs/core/langchain_core/document_loaders/base.py +++ b/libs/core/langchain_core/document_loaders/base.py @@ -28,6 +28,10 @@ class BaseLoader(ABC): """Load data into Document objects.""" return list(self.lazy_load()) + async def aload(self) -> List[Document]: + """Load data into Document objects.""" + return [document async for document in self.alazy_load()] + def load_and_split( self, text_splitter: Optional[TextSplitter] = None ) -> List[Document]: diff --git a/libs/core/tests/unit_tests/document_loaders/test_base.py b/libs/core/tests/unit_tests/document_loaders/test_base.py index b122401cab..974ad56e0a 100644 --- a/libs/core/tests/unit_tests/document_loaders/test_base.py +++ b/libs/core/tests/unit_tests/document_loaders/test_base.py @@ -64,3 +64,4 @@ async def test_default_aload() -> None: docs = loader.load() assert docs == [Document(page_content="foo"), Document(page_content="bar")] assert docs == [doc async for doc in loader.alazy_load()] + assert docs == await loader.aload()