Ë
    kQêjr	  ã                   óV  — d dl Z d dlZd dlZd dlZddlmZmZ  ej                  d¬«      d„ «       Z	 ej                  «       Zej                  d«       G d„ d	e«      «       Zej                  d
«       G d„ de«      «       Z G d„ d«      Zej                  d«       G d„ de«      «       Zy)é    Né   )ÚEmbeddingFunctionRegistryÚTextEmbeddingFunctionT)Úautousec                 óª   — | j                  t        j                  dd«       | j                  t        j                  dd«       | j                  |«       y )NÚNO_COLORÚ1ÚCOLUMNSÚ80)ÚsetitemÚosÚenvironÚchdir)ÚmonkeypatchÚtmpdirs     úU/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/lancedb/conftest.pyÚdoctest_setupr      s>   € ð ×ÑœŸ
™
 J°Ô4à×ÑœŸ
™
 I¨tÔ4à×Ñ�fÕó    Útestc                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚMockTextEmbeddingFunctionzA
    Return the hash of the first 10 characters (normalized)
    c                 óJ   — |D �cg c]  }| j                  |«      ‘Œ c}S c c}w ©N©Ú_compute_one_embedding©ÚselfÚtextsÚrows      r   Úgenerate_embeddingsz-MockTextEmbeddingFunction.generate_embeddings#   ó!   € Ø<AÖB°S�×+Ñ+¨CÕ0ÒBÐBùÒBó   … c           
      óì   — t        j                  |d d D �cg c]  }t        t        |«      «      ‘Œ c}«      }|t         j                  j                  |«      z  }t        |«      dk(  r|S dgdz  S c c}w ©Né
   r   )ÚnpÚarrayÚfloatÚhashÚlinalgÚnormÚlen©r   r   ÚcÚembs       r   r   z0MockTextEmbeddingFunction._compute_one_embedding&   s`   € Ü�h‰h°°C°R°Ö9¨1œœd 1›g�Ò9Ó:ˆØŒr�y‰y�~‰~˜cÓ"Ñ"ˆÜ˜#“h "’nˆsÐ2¨1¨#°©(Ð2ùò :s   —A1c                  ó   — y©Nr%   © ©r   s    r   ÚndimszMockTextEmbeddingFunction.ndims+   ó   € Ør   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    r   r4   r2   r   r   r   r      s   „ ñòCò3ó
r   r   Únonnormc                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú MockNonNormTextEmbeddingFunctionzD
    Return the ord of the first 10 characters (not normalized)
    c                 óJ   — |D �cg c]  }| j                  |«      ‘Œ c}S c c}w r   r   r   s      r   r    z4MockNonNormTextEmbeddingFunction.generate_embeddings5   r!   r"   c           
      ó¨   — t        j                  |d d D �cg c]  }t        t        |«      «      ‘Œ c}«      }t	        |«      dk(  r|S dgdz  S c c}w r$   )r&   r'   r(   Úordr,   r-   s       r   r   z7MockNonNormTextEmbeddingFunction._compute_one_embedding8   sI   € Ü�h‰h¨s°3°B¨xÖ8¨!œœc !›f�Ò8Ó9ˆÜ˜#“h "’nˆsÐ2¨1¨#°©(Ð2ùò 9s   —Ac                  ó   — yr1   r2   r3   s    r   r4   z&MockNonNormTextEmbeddingFunction.ndims<   r5   r   Nr6   r2   r   r   r=   r=   /   s   „ ñòCò3ór   r=   c                   ó$   — e Zd ZdZdZed„ «       Zy)ÚRateLimitedAPIgš™™™™™¹?r   c                  ó    — t        j                   «       } | t        j                  z
  t        j                  k  rt	        d«      ‚| t        _        y)Nz,Rate limit exceeded. Please try again later.zRequest successful)ÚtimerC   Úlast_request_timeÚ
rate_limitÚ	Exception)Úcurrent_times    r   Úmake_requestzRateLimitedAPI.make_requestD   s?   € ä—y‘y“{ˆàœ.×:Ñ:Ñ:¼^×=VÑ=VÒVÜÐJÓKÐKð ,8ŒÔ(Ø#r   N)r7   r8   r9   rG   rF   ÚstaticmethodrJ   r2   r   r   rC   rC   @   s   „ Ø€JØÐàñ$ó ñ$r   rC   ztest-rate-limitedc                   ó   — e Zd Zd„ Zy)Ú MockRateLimitedEmbeddingFunctionc                 ór   — t         j                  «        |D �cg c]  }| j                  |«      ‘Œ c}S c c}w r   )rC   rJ   r   r   s      r   r    z4MockRateLimitedEmbeddingFunction.generate_embeddingsR   s-   € Ü×#Ñ#Ô%Ø<AÖB°S�×+Ñ+¨CÕ0ÒBÐBùÒBs   ™4N)r7   r8   r9   r    r2   r   r   rM   rM   P   s   „ óCr   rM   )r   rE   Únumpyr&   ÚpytestÚ
embeddingsr   r   Úfixturer   Úget_instanceÚregistryÚregisterr   r=   rC   rM   r2   r   r   ú<module>rV      sË   ðó 
Û ã Û ç Hð
 €‡�˜Ôñó ðð 2Ð$×1Ñ1Ó3€ð 
×Ñ�6ÓôÐ 5ó ó ðð" 
×Ñ�9ÓôÐ'<ó ó ð÷ $ñ $ð  
×ÑÐ&Ó'ôCÐ'@ó Có (ñCr   