Toggle Menu
Prev Up Next

# Source code for langchain_community.document_loaders.brave_search

    from typing import Iterator, List, Optional

    from langchain_core.documents import Document

    from langchain_community.document_loaders.base import BaseLoader
    from langchain_community.utilities.brave_search import BraveSearchWrapper

    class BraveSearchLoader(BaseLoader):
        """Load with `Brave Search` engine."""

        def __init__(self, query: str, api_key: str, search_kwargs: Optional[dict] = None):
            """Initializes the BraveLoader.

            Args:
                query: The query to search for.
                api_key: The API key to use.
                search_kwargs: The search kwargs to use.
            """
            self.query = query
            self.api_key = api_key
            self.search_kwargs = search_kwargs or {}

        def load(self) -> List[Document]:
            brave_client = BraveSearchWrapper(
                api_key=self.api_key,
                search_kwargs=self.search_kwargs,
            )
            return brave_client.download_documents(self.query)

        def lazy_load(self) -> Iterator[Document]:
            for doc in self.load():
                yield doc