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


[docs]class BraveSearchLoader(BaseLoader): """Load with `Brave Search` engine."""
[docs] 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 {}
[docs] 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)
[docs] def lazy_load(self) -> Iterator[Document]: for doc in self.load(): yield doc