Ë
    µŒj  ã                  ób   — d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ  G d„ de
«      Zy)	é    )Úannotations)ÚAnyÚIteratorÚOptionalÚSequence)ÚDocument)Ú
BaseLoader)ÚMaxComputeAPIWrapperc                  ój   — e Zd ZdZdddœ	 	 	 	 	 	 	 dd„Zedddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„«       Zd
d„Zy)ÚMaxComputeLoaderz+Load from `Alibaba Cloud MaxCompute` table.N)Úpage_content_columnsÚmetadata_columnsc               ó<   — || _         || _        || _        || _        y)a  Initialize Alibaba Cloud MaxCompute document loader.

        Args:
            query: SQL query to execute.
            api_wrapper: MaxCompute API wrapper.
            page_content_columns: The columns to write into the `page_content` of the
                Document. If unspecified, all columns will be written to `page_content`.
            metadata_columns: The columns to write into the `metadata` of the Document.
                If unspecified, all columns not added to `page_content` will be written.
        N)ÚqueryÚapi_wrapperr   r   )Úselfr   r   r   r   s        úz/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/document_loaders/max_compute.pyÚ__init__zMaxComputeLoader.__init__   s#   € ð$ ˆŒ
Ø&ˆÔØ$8ˆÔ!Ø 0ˆÕó    ©Ú	access_idÚsecret_access_keyc               óH   — t        j                  ||||¬«      } | ||fi |¤ŽS )až  Convenience constructor that builds the MaxCompute API wrapper from
            given parameters.

        Args:
            query: SQL query to execute.
            endpoint: MaxCompute endpoint.
            project: A project is a basic organizational unit of MaxCompute, which is
                similar to a database.
            access_id: MaxCompute access ID. Should be passed in directly or set as the
                environment variable `MAX_COMPUTE_ACCESS_ID`.
            secret_access_key: MaxCompute secret access key. Should be passed in
                directly or set as the environment variable
                `MAX_COMPUTE_SECRET_ACCESS_KEY`.
        r   )r
   Úfrom_params)Úclsr   ÚendpointÚprojectr   r   Úkwargsr   s           r   r   zMaxComputeLoader.from_params%   s2   € ô2 +×6Ñ6Ø�g¨ÐFWô
ˆñ �5˜+Ñ0¨Ñ0Ð0r   c              #  ó>  K  — | j                   j                  | j                  «      D ]ß  }| j                  r3|j                  «       D ��ci c]  \  }}|| j                  v sŒ||“Œ }}}n|}dj	                  d„ |j                  «       D «       «      }| j
                  r3|j                  «       D ��ci c]  \  }}|| j
                  v sŒ||“Œ }}}n(|j                  «       D ��ci c]  \  }}||vsŒ||“Œ }}}t        ||¬«      –— Œá y c c}}w c c}}w c c}}w ­w)NÚ
c              3  ó0   K  — | ]  \  }}|› d |› �–— Œ y­w)z: N© )Ú.0ÚkÚvs      r   Ú	<genexpr>z-MaxComputeLoader.lazy_load.<locals>.<genexpr>K   s!   è ø€ Ð$WÑ=V±T°Q¸¨ s¨"¨Q¨C¤[Ñ=Vùs   ‚)Úpage_contentÚmetadata)r   r   r   ÚitemsÚjoinr   r   )r   Úrowr$   r%   Úpage_content_datar'   r(   s          r   Ú	lazy_loadzMaxComputeLoader.lazy_loadC   s  è ø€ Ø×#Ñ#×)Ñ)¨$¯*©*Ö5ˆCØ×(Ò(à%(§Y¡Y¤[ô%Ù%0™T˜Q °A¸×9RÑ9RÒ4R�A�q‘D [ð "ò %ð %(Ð!ØŸ9™9Ñ$WÐ=N×=TÑ=TÔ=VÓ$WÓWˆLØ×$Ò$Ø-0¯Y©Y¬[ÔW©[¡T Q¨¸AÀ×AVÑAVÒ<V˜A˜q™D¨[�ÒWà-0¯Y©Y¬[ÔW©[¡T Q¨¸AÐEVÒ<V˜A˜q™D¨[�ÑWÜ¨¸xÔHÓHñ 6ùó%ùó XùãWùs=   ‚ADÁ
DÁ!DÁ&ADÂ1DÃDÃDÃ$DÃ1DÃ6'D)r   Ústrr   r
   r   úOptional[Sequence[str]]r   r/   )r   r.   r   r.   r   r.   r   úOptional[str]r   r0   r   r   Úreturnr   )r1   zIterator[Document])Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r-   r"   r   r   r   r      sž   „ Ù5ð 9=Ø48ñ1àð1ð *ð1ð
 6ð1ð 2ó1ð. ð $(Ø+/ñ1àð1ð ð1ð ð	1ð !ð1ð )ð1ð ð1ð 
ò1ó ð1ô:Ir   r   N)Ú
__future__r   Útypingr   r   r   r   Úlangchain_core.documentsr   Ú)langchain_community.document_loaders.baser	   Ú)langchain_community.utilities.max_computer
   r   r"   r   r   Ú<module>r<      s'   ðÝ "ç 4Ó 4å -å @Ý JôEI�zõ EIr   