Ë
    µŒj  ã                   óx   — U d dl mZmZmZmZmZ d dlZd dlm	Z	 d dl
mZ d dlmZmZ dZeed<    G d„ d	ee	«      Zy)
é    )ÚAnyÚDictÚListÚOptionalÚcastN)Ú
Embeddings)Úpre_init)Ú	BaseModelÚ
ConfigDictÚlaser2ÚLASER_MULTILINGUAL_MODELc                   óš   — e Zd ZU dZdZee   ed<   	 dZe	ed<    e
d¬«      Zededefd	„«       Zd
ee   deee      fd„Zdedee   fd„Zy)ÚLaserEmbeddingsaÐ  LASER Language-Agnostic SEntence Representations.
    LASER is a Python library developed by the Meta AI Research team
    and used for creating multilingual sentence embeddings for over 147 languages
    as of 2/25/2024
    See more documentation at:
    * https://github.com/facebookresearch/LASER/
    * https://github.com/facebookresearch/LASER/tree/main/laser_encoders
    * https://arxiv.org/abs/2205.12654

    To use this class, you must install the `laser_encoders` Python package.

    `pip install laser_encoders`
    Example:
        from laser_encoders import LaserEncoderPipeline
        encoder = LaserEncoderPipeline(lang="eng_Latn")
        embeddings = encoder.encode_sentences(["Hello", "World"])
    NÚlangÚ_encoder_pipelineÚforbid)ÚextraÚvaluesÚreturnc                 ó¬   — 	 ddl m} |j                  d«      }|r
 ||¬«      }n |t        ¬«      }||d<   |S # t        $ r}t	        d«      |‚d}~ww xY w)	z0Validate that laser_encoders has been installed.r   )ÚLaserEncoderPipeliner   )r   )Úlaserr   zfCould not import 'laser_encoders' Python package. Please install it with `pip install laser_encoders`.N)Úlaser_encodersr   Úgetr   ÚImportError)Úclsr   r   r   Úencoder_pipelineÚes         ún/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/embeddings/laser.pyÚvalidate_environmentz$LaserEmbeddings.validate_environment,   sn   € ð	Ý;à—:‘:˜fÓ%ˆDÙÙ#7¸TÔ#BÑ á#7Ô>VÔ#WÐ Ø*:ˆFÐ&Ñ'ð ˆøô ò 	ÜðGóð ðûð	ús   ‚59 ¹	AÁAÁAÚtextsc                 ó�   — | j                   j                  |«      }t        t        t        t              |j                  «       «      S )zºGenerate embeddings for documents using LASER.

        Args:
            texts: The list of texts to embed.

        Returns:
            List of embeddings, one for each text.
        ©r   Úencode_sentencesr   r   ÚfloatÚtolist)Úselfr!   Ú
embeddingss      r   Úembed_documentszLaserEmbeddings.embed_documents@   s9   € ð ×+Ñ+×<Ñ<¸UÓCˆ
ä”Dœœe™Ñ% z×'8Ñ'8Ó':Ó;Ð;ó    Útextc                 ó˜   — | j                   j                  |g«      }t        t        t        t              |j                  «       «      d   S )z¦Generate single query text embeddings using LASER.

        Args:
            text: The text to embed.

        Returns:
            Embeddings for the text.
        r   r#   )r'   r+   Úquery_embeddingss      r   Úembed_queryzLaserEmbeddings.embed_queryN   sB   € ð  ×1Ñ1×BÑBÀDÀ6ÓJÐÜ”Dœœe™Ñ%Ð'7×'>Ñ'>Ó'@ÓAÀ!ÑDÐDr*   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__r   r   r   Úmodel_configr	   r   r    r   r%   r)   r.   © r*   r   r   r      s’   … ñð$ €Dˆ(�3‰-Óðð "Ð�sÓ!áØô€Lð ð¨$ð °4ò ó ðð&< T¨#¡Yð <°4¸¸U¹Ñ3Dó <ðE ð E¨¨U©ô Er*   r   )Útypingr   r   r   r   r   ÚnumpyÚnpÚlangchain_core.embeddingsr   Úlangchain_core.utilsr	   Úpydanticr
   r   r   r3   r4   r   r6   r*   r   Ú<module>r=      s4   ðß 2Ö 2ã Ý 0Ý )ß *à (Ð ˜#Ó (ôNE�i õ NEr*   