§
    šŠtj		  ã                   ó\   — d dl mZmZmZmZ d dlmZ d dlmZm	Z	m
Z
  G d„ dee¦  «        ZdS )é    )ÚAnyÚDictÚListÚOptional)Ú
Embeddings)Ú	BaseModelÚ
ConfigDictÚmodel_validatorc                   ó2  — e Zd ZU dZdZee         ed<   dZee	         ed<   dZ
ee         ed<   i Zee         ed<   eed<    ed	¬
¦  «        Z ed¬¦  «        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dS )ÚGPT4AllEmbeddingsaÚ  GPT4All embedding models.

    To use, you should have the gpt4all python package installed

    Example:
        .. code-block:: python

            from langchain_community.embeddings import GPT4AllEmbeddings

            model_name = "all-MiniLM-L6-v2.gguf2.f16.gguf"
            gpt4all_kwargs = {'allow_download': 'True'}
            embeddings = GPT4AllEmbeddings(
                model_name=model_name,
                gpt4all_kwargs=gpt4all_kwargs
            )
    NÚ
model_nameÚ	n_threadsÚcpuÚdeviceÚgpt4all_kwargsÚclient© )Úprotected_namespacesÚbefore)ÚmodeÚvaluesÚreturnc                 ó
  — 	 ddl m}  |d
|                     d¦  «        |                     d¦  «        |                     d¦  «        dœ|                     d¦  «        pi ¤Ž|d<   n# t          $ r t          d	¦  «        ‚w xY w|S )z+Validate that GPT4All library is installed.r   )Ú	Embed4Allr   r   r   )r   r   r   r   r   zuCould not import gpt4all library. Please install the gpt4all library to use this embedding model: pip install gpt4allr   )Úgpt4allr   ÚgetÚImportError)Úclsr   r   s      úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/embeddings/gpt4all.pyÚvalidate_environmentz&GPT4AllEmbeddings.validate_environment!   sÁ   € ð	Ø)Ð)Ð)Ð)Ð)Ð)à(˜yð  Ø!Ÿ:š: lÑ3Ô3Ø Ÿ*š* [Ñ1Ô1Ø—z’z (Ñ+Ô+ð ð  ð —:’:Ð.Ñ/Ô/Ð5°2ð	 ð  ˆF�8ÑÐøõ ð 	ð 	ð 	Ýð@ñô ð ð	øøøð ˆs   ‚A#A& Á&B Útextsc                 ó8   ‡ — ˆ fd„|D ¦   «         }d„ |D ¦   «         S )z´Embed a list of documents using GPT4All.

        Args:
            texts: The list of texts to embed.

        Returns:
            List of embeddings, one for each text.
        c                 óD   •— g | ]}‰j                              |¦  «        ‘ŒS r   )r   Úembed)Ú.0ÚtextÚselfs     €r   ú
<listcomp>z5GPT4AllEmbeddings.embed_documents.<locals>.<listcomp>@   s)   ø€ Ð@Ð@Ð@°$�d”k×'Ò'¨Ñ-Ô-Ð@Ð@Ð@ó    c                 óR   — g | ]$}t          t          t          |¦  «        ¦  «        ‘Œ%S r   )ÚlistÚmapÚfloat)r%   Úes     r   r(   z5GPT4AllEmbeddings.embed_documents.<locals>.<listcomp>A   s(   € Ð8Ð8Ð8¨••S� ‘]”]Ñ#Ô#Ð8Ð8Ð8r)   r   )r'   r!   Ú
embeddingss   `  r   Úembed_documentsz!GPT4AllEmbeddings.embed_documents6   s3   ø€ ð AÐ@Ð@Ð@¸%Ð@Ñ@Ô@ˆ
Ø8Ð8¨ZÐ8Ñ8Ô8Ð8r)   r&   c                 ó:   — |                       |g¦  «        d         S )z�Embed a query using GPT4All.

        Args:
            text: The text to embed.

        Returns:
            Embeddings for the text.
        r   )r0   )r'   r&   s     r   Úembed_queryzGPT4AllEmbeddings.embed_queryC   s   € ð ×#Ò# T FÑ+Ô+¨AÔ.Ð.r)   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__r   Úintr   r   Údictr   r	   Úmodel_configr
   Úclassmethodr   r    r   r-   r0   r2   r   r)   r   r   r      s&  € € € € € € ðð ð" !%€J�˜”Ð$Ð$Ñ$Ø#€Iˆx˜Œ}Ð#Ð#Ñ#Ø!€FˆH�SŒMÐ!Ð!Ñ!Ø%'€N�H˜T”NÐ'Ð'Ñ'Ø€K€K�Kà�:°2Ð6Ñ6Ô6€Là€_˜(Ð#Ñ#Ô#Øð¨$ð °3ð ð ð ñ „[ñ $Ô#ðð&9 T¨#¤Yð 9°4¸¸U¼Ô3Dð 9ð 9ð 9ð 9ð	/ ð 	/¨¨U¬ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/r)   r   N)Útypingr   r   r   r   Úlangchain_core.embeddingsr   Úpydanticr   r	   r
   r   r   r)   r   ú<module>r@      s™   ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðE/ð E/ð E/ð E/ð E/˜	 :ñ E/ô E/ð E/ð E/ð E/r)   