§
    šŠtj
  ã                  óª   — d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ erd dlmZ  edd	d
¬¦  «         G d„ de¦  «        ¦   «         ZdS )é    )Úannotations)ÚTYPE_CHECKINGÚListÚOptional)Ú
deprecated)ÚDocument)Ú
BaseLoader)Úget_client_info)ÚCredentialsz0.0.32z1.0z)langchain_google_community.BigQueryLoader)ÚsinceÚremovalÚalternative_importc                  ó,   — e Zd ZdZ	 	 	 	 ddd„Zdd„ZdS )ÚBigQueryLoaderah  Load from the Google Cloud Platform `BigQuery`.

    Each document represents one row of the result. The `page_content_columns`
    are written into the `page_content` of the document. The `metadata_columns`
    are written into the `metadata` of the document. By default, all columns
    are written into the `page_content` and none into the `metadata`.

    NÚqueryÚstrÚprojectúOptional[str]Úpage_content_columnsúOptional[List[str]]Úmetadata_columnsÚcredentialsúOptional[Credentials]c                óL   — || _         || _        || _        || _        || _        dS )a  Initialize BigQuery document loader.

        Args:
            query: The query to run in BigQuery.
            project: Optional. The project to run the query in.
            page_content_columns: Optional. The columns to write into the `page_content`
                of the document.
            metadata_columns: Optional. The columns to write into the `metadata` of the
                document.
            credentials : google.auth.credentials.Credentials, optional
              Credentials for accessing Google APIs. Use this parameter to override
                default credentials, such as to use Compute Engine
                (`google.auth.compute_engine.Credentials`) or Service Account
                (`google.oauth2.service_account.Credentials`) credentials directly.
        N)r   r   r   r   r   )Úselfr   r   r   r   r   s         úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/document_loaders/bigquery.pyÚ__init__zBigQueryLoader.__init__   s0   € ð. ˆŒ
ØˆŒØ$8ˆÔ!Ø 0ˆÔØ&ˆÔÐÐó    ÚreturnúList[Document]c                ó�  ‡‡— 	 ddl m} n"# t          $ r}t          d¦  «        |‚d }~ww xY w|                     | j        | j        t          d¬¦  «        ¬¦  «        }|j        sd}t          |¦  «        ‚|                     | j        ¦  «         	                    ¦   «         }g }| j
        Š| j        Š‰€d„ |j        D ¦   «         Š‰€g Š|D ]{}d	                     ˆfd
„|                     ¦   «         D ¦   «         ¦  «        }ˆfd„|                     ¦   «         D ¦   «         }	t          ||	¬¦  «        }
|                     |
¦  «         Œ||S )Nr   )ÚbigqueryzrCould not import google-cloud-bigquery python package. Please install it with `pip install google-cloud-bigquery`.r"   )Úmodule)r   r   Úclient_infoz±GCP project for Big Query is not set! Either provide a `project` argument during BigQueryLoader instantiation, or set a default project with `gcloud config set project` command.c                ó   — g | ]	}|j         ‘Œ
S © )Úname)Ú.0Úcolumns     r   ú
<listcomp>z'BigQueryLoader.load.<locals>.<listcomp>X   s   € Ð#RÐ#RÐ#R°F F¤KÐ#RÐ#RÐ#Rr   ú
c              3  ó4   •K  — | ]\  }}|‰v ¯	|› d |› �V — ŒdS )z: Nr&   )r(   ÚkÚvr   s      €r   ú	<genexpr>z&BigQueryLoader.load.<locals>.<genexpr>]   sE   øè è € ð %ð %Ù $  1°qÐ<PÐ7PÐ7P�1��˜��Ð7PÐ7PÐ7PÐ7Pð%ð %r   c                ó$   •— i | ]\  }}|‰v ¯	||“ŒS r&   r&   )r(   r-   r.   r   s      €r   ú
<dictcomp>z'BigQueryLoader.load.<locals>.<dictcomp>`   s*   ø€ ÐNÐNÐN¡  A¸Ð=MÐ8MÐ8M˜˜1Ð8MÐ8MÐ8Mr   )Úpage_contentÚmetadata)Úgoogle.cloudr"   ÚImportErrorÚClientr   r   r
   Ú
ValueErrorr   Úresultr   r   ÚschemaÚjoinÚitemsr   Úappend)r   r"   ÚexÚ	bq_clientÚ
error_descÚquery_resultÚdocsÚrowr2   r3   Údocr   r   s              @@r   ÚloadzBigQueryLoader.load;   s³  øø€ ð	Ø-Ð-Ð-Ð-Ð-Ð-Ð-øÝð 	ð 	ð 	ÝðNñô ð ðøøøøð	øøøð —O’OØÔ(Ø”LÝ'¨zÐ:Ñ:Ô:ð $ñ 
ô 
ˆ	ð
 Ô ð 	)ðð õ ˜ZÑ(Ô(Ð(Ø —’ t¤zÑ2Ô2×9Ò9Ñ;Ô;ˆØ!ˆà#Ô8ÐØÔ0ÐàÐ'Ø#RÐ#R¸lÔ>QÐ#RÑ#RÔ#RÐ ØÐ#Ø!Ðàð 	ð 	ˆCØŸ9š9ð %ð %ð %ð %Ø(+¯	ª	©¬ð%ñ %ô %ñ ô ˆLð OÐNÐNÐN¨¯ª©¬ÐNÑNÔNˆHÝ¨¸xÐHÑHÔHˆCØ�KŠK˜ÑÔÐÐàˆs   „ ‹
*•%¥*)NNNN)
r   r   r   r   r   r   r   r   r   r   )r   r    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rD   r&   r   r   r   r      sY   € € € € € ðð ð "&Ø48Ø04Ø-1ð'ð 'ð 'ð 'ð 'ð:)ð )ð )ð )ð )ð )r   r   N)Ú
__future__r   Útypingr   r   r   Úlangchain_core._api.deprecationr   Úlangchain_core.documentsr   Ú)langchain_community.document_loaders.baser	   Ú&langchain_community.utilities.vertexair
   Úgoogle.auth.credentialsr   r   r&   r   r   ú<module>rP      sþ   ðØ "Ð "Ð "Ð "Ð "Ð "à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø -Ð -Ð -Ð -Ð -Ð -à @Ð @Ð @Ð @Ð @Ð @Ø BÐ BÐ BÐ BÐ BÐ Bàð 4Ø3Ð3Ð3Ð3Ð3Ð3ð €Ø
ØØBðñ ô ð
Pð Pð Pð Pð P�Zñ Pô Pñô ð
Pð Pð Pr   