
    ir	                     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     L/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/lancedb/conftest.pydoctest_setupr      s>     

J4

It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BS++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`    hhCR91d1g9:ryy~~c""#h"ns21#(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    hhs3Bx8!c!f89#h"ns21#(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?    yy{.:::^=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BS++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   