diff --git a/libs/community/langchain_community/document_loaders/web_base.py b/libs/community/langchain_community/document_loaders/web_base.py index 2d5bf1a8e74f1..b07f904c5fc3a 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 @@ def lazy_load(self) -> Iterator[Document]: 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 a66f099f7735b..5a584aa5b3cb4 100644 --- a/libs/core/langchain_core/document_loaders/base.py +++ b/libs/core/langchain_core/document_loaders/base.py @@ -28,6 +28,10 @@ def load(self) -> List[Document]: """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 b122401cabff6..974ad56e0a6de 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 @@ def lazy_load(self) -> Iterator[Document]: 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()