§
    šŠtjâ  ã                   óv   — d dl Z d dlmZ d dlZd dlmZ d dlmZ  G d„ dee¦  «        Z	 G d„ dee¦  «        Z
dS )	é    N)ÚList)Ú
Embeddings)Ú	BaseModelc                   óˆ   — e Zd ZU dZeed<   	 dee         fd„Zdee	         deee                  fd„Z
de	dee         fd„Zd	S )
ÚFakeEmbeddingszFake embedding model.ÚsizeÚreturnc                 óf   — t          t          j                             | j        ¬¦  «        ¦  «        S ©N)r   )ÚlistÚnpÚrandomÚnormalr   )Úselfs    úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/embeddings/fake.pyÚ_get_embeddingzFakeEmbeddings._get_embedding   s%   € Ý•B”I×$Ò$¨$¬)Ð$Ñ4Ô4Ñ5Ô5Ð5ó    Útextsc                 ó    ‡ — ˆ fd„|D ¦   «         S )Nc                 ó8   •— g | ]}‰                      ¦   «         ‘ŒS © ©r   ©Ú.0Ú_r   s     €r   ú
<listcomp>z2FakeEmbeddings.embed_documents.<locals>.<listcomp>   s%   ø€ Ð5Ð5Ð5¨!�×#Ò#Ñ%Ô%Ð5Ð5Ð5r   r   ©r   r   s   ` r   Úembed_documentszFakeEmbeddings.embed_documents   s   ø€ Ø5Ð5Ð5Ð5¨uÐ5Ñ5Ô5Ð5r   Útextc                 ó*   — |                       ¦   «         S )Nr   ©r   r   s     r   Úembed_queryzFakeEmbeddings.embed_query   s   € Ø×"Ò"Ñ$Ô$Ð$r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚ__annotations__r   Úfloatr   Ústrr   r"   r   r   r   r   r   	   sœ   € € € € € € ØÐà
€I€I�IØ+ð6  U¤ð 6ð 6ð 6ð 6ð6 T¨#¤Yð 6°4¸¸U¼Ô3Dð 6ð 6ð 6ð 6ð% ð %¨¨U¬ð %ð %ð %ð %ð %ð %r   r   c                   ó¬   — e Zd ZU dZeed<   	 dedee         f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dS )ÚDeterministicFakeEmbeddingzc
    Fake embedding model that always returns
    the same embedding vector for the same text.
    r   Úseedr	   c                 ó¤   — t           j                             |¦  «         t          t           j                             | j        ¬¦  «        ¦  «        S r   )r   r   r-   r   r   r   )r   r-   s     r   r   z)DeterministicFakeEmbedding._get_embedding"   s9   € å
Œ	�Š�tÑÔÐÝ•B”I×$Ò$¨$¬)Ð$Ñ4Ô4Ñ5Ô5Ð5r   r   c                 ó–   — t          t          j        |                      d¦  «        ¦  «                             ¦   «         d¦  «        dz  S )zR
        Get a seed for the random generator, using the hash of the text.
        zutf-8é   i áõ)r'   ÚhashlibÚsha256ÚencodeÚ	hexdigest)r   s    r   Ú	_get_seedz$DeterministicFakeEmbedding._get_seed'   s;   € õ
 •7”> $§+¢+¨gÑ"6Ô"6Ñ7Ô7×AÒAÑCÔCÀRÑHÔHÈ5ÑPÐPr   r   c                 ó    ‡ — ˆ fd„|D ¦   «         S )Nc                 ób   •— g | ]+}‰                      ‰                     |¦  «        ¬ ¦  «        ‘Œ,S )©r-   ©r   r5   r   s     €r   r   z>DeterministicFakeEmbedding.embed_documents.<locals>.<listcomp>/   s6   ø€ ÐKÐKÐKÀ�×#Ò#¨¯ª¸Ñ):Ô):Ð#Ñ;Ô;ÐKÐKÐKr   r   r   s   ` r   r   z*DeterministicFakeEmbedding.embed_documents.   s   ø€ ØKÐKÐKÐKÀUÐKÑKÔKÐKr   c                 óT   — |                       |                      |¦  «        ¬¦  «        S )Nr8   r9   r!   s     r   r"   z&DeterministicFakeEmbedding.embed_query1   s%   € Ø×"Ò"¨¯ª°tÑ(<Ô(<Ð"Ñ=Ô=Ð=r   N)r#   r$   r%   r&   r'   r(   r   r)   r   Ústaticmethodr*   r5   r   r"   r   r   r   r,   r,      sã   € € € € € € ðð ð
 €I€I�IØ+ð6 3ð 6¨4°¬;ð 6ð 6ð 6ð 6ð
 ðQ˜ð Q ð Qð Qð Qñ „\ðQðL T¨#¤Yð L°4¸¸U¼Ô3Dð Lð Lð Lð Lð> ð >¨¨U¬ð >ð >ð >ð >ð >ð >r   r,   )r1   Útypingr   Únumpyr   Úlangchain_core.embeddingsr   Úpydanticr   r   r,   r   r   r   ú<module>r@      s²   ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð ð%ð %ð %ð %ð %�Z ñ %ô %ð %ð >ð >ð >ð >ð > ¨Yñ >ô >ð >ð >ð >r   