Ë
    µŒjø  ã                   ó,  — d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
mZ ddlmZmZ erddlmZ ddlmZ ddlmZ d	d
dœdededeee
ef      deegef   fd„Zddedd
fd„Z	 	 	 ddee   dee   ded   dd
fd„Zd dee   ddfd„Zd dedee   ddfd„Zy
)!zUtilities to init Vertex AI.é    )Úmetadata)ÚTYPE_CHECKINGÚAnyÚCallableÚOptionalÚUnion)ÚAsyncCallbackManagerForLLMRunÚCallbackManagerForLLMRun)ÚBaseLLMÚcreate_base_retry_decorator©Ú
ClientInfo)ÚCredentials©ÚImageé   N)Úmax_retriesÚrun_managerÚllmr   r   Úreturnc                ód  — ddl }|j                  j                  j                  |j                  j                  j                  |j                  j                  j
                  |j                  j                  j                  |j                  j                  j                  g}t        |||¬«      }|S )z0Create a retry decorator for Vertex / Palm LLMs.r   N)Úerror_typesr   r   )	Úgoogle.api_coreÚapi_coreÚ
exceptionsÚResourceExhaustedÚServiceUnavailableÚAbortedÚDeadlineExceededÚGoogleAPIErrorr   )r   r   r   ÚgoogleÚerrorsÚ	decorators         úp/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/utilities/vertexai.pyÚcreate_retry_decoratorr%      sŠ   € ó ð 	�‰×"Ñ"×4Ñ4Ø�‰×"Ñ"×5Ñ5Ø�‰×"Ñ"×*Ñ*Ø�‰×"Ñ"×3Ñ3Ø�‰×"Ñ"×1Ñ1ð€Fô ,Ø¨Àô€Ið Ðó    Úminimum_expected_versionc                 ó   — t        d| › �«      ‚)zóRaise ImportError related to Vertex SDK being not available.

    Args:
        minimum_expected_version: The lowest expected version of the SDK.
    Raises:
        ImportError: an ImportError that mentions a required version of the SDK.
    zePlease, install or upgrade the google-cloud-aiplatform library: pip install google-cloud-aiplatform>=)ÚImportError)r'   s    r$   Úraise_vertex_import_errorr*   *   s"   € ô ð	0Ø0HÐ/Ið	Kóð r&   ÚprojectÚlocationÚcredentialsr   c                 óh   — 	 ddl }j                  | ||¬«       y# t        $ r t        «        Y Œ*w xY w)a¯  Init Vertex AI.

    Args:
        project: The default GCP project to use when making Vertex API calls.
        location: The default location to use when making API calls.
        credentials: The default custom
            credentials to use when making API calls. If not provided credentials
            will be ascertained from the environment.

    Raises:
        ImportError: If importing vertexai SDK did not succeed.
    r   N)r+   r,   r-   )Úvertexair)   r*   Úinit)r+   r,   r-   r/   s       r$   Úinit_vertexair1   8   s=   € ð"$Ûð ‡M�MØØØð õ øô ò $Ü!Ö#ð$ús   ‚ ›1°1Úmoduler   c                 ó¤   — 	 ddl m} t        j                  d«      }| r|› d| › �n|} ||d|› �¬«      S # t        $ r}t        d«      |‚d}~ww xY w)	zØReturn a custom user agent header.

    Args:
        module (Optional[str]):
            Optional. The module for a custom user agent header.
    Returns:
        google.api_core.gapic_v1.client_info.ClientInfo
    r   r   zPCould not import ClientInfo. Please, install it with pip install google-api-coreNÚ	langchainÚ-z
langchain/)Úclient_library_versionÚ
user_agent)Ú$google.api_core.gapic_v1.client_infor   r)   r   Úversion)r2   r   ÚexcÚlangchain_versionr6   s        r$   Úget_client_infor<   U   s~   € ðÝCô !×(Ñ(¨Ó5Ðá+1ÐÐ
˜Q˜v˜hÑ'Ð7Hð ñ Ø5ØÐ 6Ð7Ð8ôð øô ò Üð*ó
ð ð	ûðús   ‚5 µ	A¾A
Á
AÚpathr   c           
      ót  — 	 ddl m} ddlm} |j                  |¬«      }| j                  d«      }t        |j                  |d   dj                  |dd	 «      ¬
«      «      }t        |«      dkD  rt        d| › d�«      ‚ |j                  |d   j                  «       «      S # t        $ r t        d«      ‚w xY w)z(Load an image from Google Cloud Storage.r   )Ústoragez5Could not import google-cloud-storage python package.r   )r+   Ú/é   é   N)Úprefixr   z"Found more than one candidate for Ú!)Úgoogle.cloudr?   r)   Ú"vertexai.preview.generative_modelsr   ÚClientÚsplitÚlistÚ
list_blobsÚjoinÚlenÚ
ValueErrorÚ
from_bytesÚdownload_as_bytes)r=   r+   r?   r   Ú
gcs_clientÚpiecesÚblobss          r$   Úload_image_from_gcsrS   p   s¹   € ðSÝ(õ 9à—‘¨�Ó0€JØ�Z‰Z˜‹_€FÜ�×&Ñ& v¨a¡y¸¿¹À&ÈÈÀ*Ó9MÐ&ÓNÓO€EÜ
ˆ5ƒz�A‚~ÜÐ=¸d¸VÀ1ÐEÓFÐFØˆ5×Ñ˜E !™H×6Ñ6Ó8Ó9Ð9øô ò SÜÐQÓRÐRðSús   ‚B" Â"B7)z1.38.0)NNN)N)Ú__doc__Ú	importlibr   Útypingr   r   r   r   r   Úlangchain_core.callbacksr	   r
   Ú#langchain_core.language_models.llmsr   r   r8   r   Úgoogle.auth.credentialsr   rF   r   Úintr%   Ústrr*   r1   r<   rS   © r&   r$   Ú<module>r]      s  ðÙ "å ß @Õ @÷÷ UáÝ?Ý3Ý8ð ð 	òØ	ðð ðð ØÐ+Ð-EÐEÑFñð	ð ˆsˆe�SˆjÑóñ0¸ð È4ó ð "Ø"Ø+/ñØ�c‰]ðà�s‰mðð ˜-Ñ(ðð 
ó	ñ:˜H S™Mð °\ó ñ6:˜cð :¨H°S©Mð :ÀWô :r&   