o
    Zh                     @   sL   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 G dd deZ
dS )    )IteratorListOptional)Document)
BaseLoader)BraveSearchWrapperc                   @   sP   e Zd ZdZddededee fddZdee	 fd	d
Z
dee	 fddZdS )BraveSearchLoaderz Load with `Brave Search` engine.Nqueryapi_keysearch_kwargsc                 C   s   || _ || _|p	i | _dS )zInitializes the BraveLoader.

        Args:
            query: The query to search for.
            api_key: The API key to use.
            search_kwargs: The search kwargs to use.
        N)r	   r
   r   )selfr	   r
   r    r   h/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/document_loaders/brave_search.py__init__   s   zBraveSearchLoader.__init__returnc                 C   s   t | j| jd}|| jS )N)r
   r   )r   r
   r   Zdownload_documentsr	   )r   Zbrave_clientr   r   r   load   s
   zBraveSearchLoader.loadc                 c   s    |   D ]}|V  qd S N)r   )r   docr   r   r   	lazy_load   s   zBraveSearchLoader.lazy_loadr   )__name__
__module____qualname____doc__strr   dictr   r   r   r   r   r   r   r   r   r   r   	   s
    r   N)typingr   r   r   Zlangchain_core.documentsr   Z)langchain_community.document_loaders.baser   Z*langchain_community.utilities.brave_searchr   r   r   r   r   r   <module>   s
    