a
    bg                     @   sH   d dl 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Optional)Document)
BaseLoader)WikipediaAPIWrapperc                   @   sF   e Zd ZdZdeeee ee ee dddZe	e
 d	d
dZdS )WikipediaLoaderzLoad from `Wikipedia`.

    The hard limit on the length of the query is 300 for now.

    Each wiki page represents one Document.
    en   F  querylangload_max_docsload_all_available_metadoc_content_chars_maxc                 C   s"   || _ || _|| _|| _|| _dS )a  
        Initializes a new instance of the WikipediaLoader class.

        Args:
            query (str): The query string to search on Wikipedia.
            lang (str, optional): The language code for the Wikipedia language edition.
                Defaults to "en".
            load_max_docs (int, optional): The maximum number of documents to load.
                Defaults to 100.
            load_all_available_meta (bool, optional): Indicates whether to load all
                available metadata for each document. Defaults to False.
            doc_content_chars_max (int, optional): The maximum number of characters
                for the document content. Defaults to 4000.
        Nr   )selfr   r   r   r   r    r   |/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/wikipedia.py__init__   s
    zWikipediaLoader.__init__)returnc                 c   s.   t | j| j| j| jd}|| jE dH  dS )z
        Loads the query result from Wikipedia into a list of Documents.

        Returns:
            A list of Document objects representing the loaded
                Wikipedia pages.
        )r   Ztop_k_resultsr   r   N)r   r   r   r   r   loadr   )r   clientr   r   r   	lazy_load-   s    zWikipediaLoader.lazy_loadN)r   r	   Fr
   )__name__
__module____qualname____doc__strr   intboolr   r   r   r   r   r   r   r   r   	   s   
    r   N)
typingr   r   Zlangchain_core.documentsr   Z)langchain_community.document_loaders.baser   Z'langchain_community.utilities.wikipediar   r   r   r   r   r   <module>   s   