Ë
    lQêjÙ  ã                   ó¢   — d dl mZ d dlmZmZ d dlmZmZ d dlZd dl	m
Z
mZmZmZ d dlmZ dd„Zdd„Zdd	„Ze G d
„ dee   «      «       Zdd„Zy)é    )Úembedding_functions)ÚEmbeddingFunctionÚregister_embedding_function)ÚDictÚAnyN)Ú
EmbeddingsÚSpaceÚ
EmbeddableÚSparseEmbeddingFunction)Úvalidation_contextc                  ó>   — h d£} | t        j                  «       k(  sJ ‚y)a#  
    Ensure that `get_builtins` is consistent after the ef migration.

    This test is intended to be temporary until the ef migration is complete as
    these expected builtins are likely to grow as long as users add new
    embedding functions.

    REMOVE ME ON THE NEXT EF ADDITION
    >"   ÚONNXMiniLM_L6_V2ÚBm25EmbeddingFunctionÚJinaEmbeddingFunctionÚMorphEmbeddingFunctionÚNomicEmbeddingFunctionÚCohereEmbeddingFunctionÚOllamaEmbeddingFunctionÚOpenAIEmbeddingFunctionÚBasetenEmbeddingFunctionÚDefaultEmbeddingFunctionÚMistralEmbeddingFunctionÚOpenCLIPEmbeddingFunctionÚRoboflowEmbeddingFunctionÚText2VecEmbeddingFunctionÚVoyageAIEmbeddingFunctionÚHuggingFaceEmbeddingServerÚChromaBm25EmbeddingFunctionÚGooglePalmEmbeddingFunctionÚInstructorEmbeddingFunctionÚPerplexityEmbeddingFunctionÚTogetherAIEmbeddingFunctionÚGoogleGenaiEmbeddingFunctionÚHuggingFaceEmbeddingFunctionÚGoogleGeminiEmbeddingFunctionÚGoogleVertexEmbeddingFunctionÚAmazonBedrockEmbeddingFunctionÚ ChromaCloudQwenEmbeddingFunctionÚ ChromaLangchainEmbeddingFunctionÚ FastembedSparseEmbeddingFunctionÚ"ChromaCloudSpladeEmbeddingFunctionÚ"HuggingFaceSparseEmbeddingFunctionÚ#GoogleGenerativeAiEmbeddingFunctionÚ$CloudflareWorkersAIEmbeddingFunctionÚ$SentenceTransformerEmbeddingFunctionN)r   Úget_builtins)Úexpected_builtinss    ú]/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/chromadb/test/ef/test_ef.pyÚtest_get_builtins_holdsr3      s%   € ò#ÐðJ Ô 3× @Ñ @Ó BÒBÐBÑBó    c                  óž   — t        t        d«      sJ ‚t        j                  «       } | €J ‚t        | t        «      st        | t
        «      sJ ‚y y )Nr   )Úhasattrr   r   Ú
isinstancer   r   )Ú
default_efs    r2   Útest_default_ef_existsr9   C   sX   € ÜÔ&Ð(BÔCÐCÐCÜ$×=Ñ=Ó?€JàÐ!Ð!Ð!Ü�jÔ"3Ô4¼
ØÔ+ô9ð ð ð 9Ð4r4   c                  ó$  — t        j                  «       D ]y  } | dk(  rŒ	t        t         | «      sJ ‚t        t	        t         | «      t
        «      sJ ‚t        t	        t         | «      t        «      rŒZt        t	        t         | «      t        «      rŒyJ ‚ y )Nr)   )	r   r0   r6   r7   ÚgetattrÚtypeÚ
issubclassr   r   )Úefs    r2   Útest_ef_importsr?   M   s†   € Ü!×.Ñ.Ó0ò SˆàÐ3Ò3ØÜÔ*¨BÔ/Ð/Ð/Üœ'Ô"5°rÓ:¼DÔAÐAÐAÜÜÔ'¨Ó,Ô.?õ
äœÔ 3°RÓ8Ô:QÕRð	Sð SñSr4   c                   óœ   — e Zd Zddefd„Z ed«      dedefd„«       Ze	de
fd„«       Zdee
ef   fd„Ze	d	ee
ef   dd fd
„«       Zdefd„Zy)ÚCustomEmbeddingFunctionÚdimc                 ó   — || _         y )N©Ú_dim)ÚselfrB   s     r2   Ú__init__z CustomEmbeddingFunction.__init__[   s	   € Øˆ�	r4   Úcustom_ef_callÚinputÚreturnc                 ó   — t        d«      ‚)NúThis is a test exception)Ú	Exception)rF   rI   s     r2   Ú__call__z CustomEmbeddingFunction.__call__^   s   € äÐ2Ó3Ð3r4   c                   ó   — y)NÚ	custom_ef© rQ   r4   r2   ÚnamezCustomEmbeddingFunction.nameb   s   € àr4   c                 ó   — d| j                   iS )NrB   rD   ©rF   s    r2   Ú
get_configz"CustomEmbeddingFunction.get_configf   s   € Ø�t—y‘yÐ!Ð!r4   Úconfigc                 ó    — t        | d   ¬«      S )NrB   )rB   )rA   )rV   s    r2   Úbuild_from_configz)CustomEmbeddingFunction.build_from_configi   s   € ä&¨6°%©=Ô9Ð9r4   c                  ó   — y)NÚcosinerQ   rT   s    r2   Údefault_spacez%CustomEmbeddingFunction.default_spacem   s   € Ør4   N)é   )Ú__name__Ú
__module__Ú__qualname__ÚintrG   r   r
   r   rN   ÚstaticmethodÚstrrR   r   r   rU   rX   r	   r[   rQ   r4   r2   rA   rA   Y   sœ   „ ñ˜Có ñ Ð(Ó)ð4˜jð 4¨Zò 4ó *ð4ð ð�#ò ó ðð"˜D  c ™Nó "ð ð: $ s¨C x¡.ð :Ð5Nò :ó ð:ð˜uô r4   rA   c                  ó   — t        «       } t        j                  t        «      5 } | dg«       d d d «       d}|› d�}t	        j
                  «      |k(  sJ ‚|j
                  j                  |fk(  sJ ‚y # 1 sw Y   ŒGxY w)Nz	test datarL   z in custom_ef_call.)rA   ÚpytestÚraisesrM   rb   ÚvalueÚargs)rP   ÚexcinfoÚoriginal_msgÚexpected_msgs       r2   Ú&test_validation_context_with_custom_efrk   q   s|   € Ü'Ó)€Iä	�‰”yÓ	!ð ! WÙ�;�-Ô ÷!ð .€LØ"�^Ð#6Ð7€LÜˆw�}‰}Ó Ò-Ð-Ð-Ø�=‰=×Ñ , Ò0Ð0Ñ0÷!ð !ús   ¤
A4Á4A=)rJ   N)Úchromadb.utilsr   Ú"chromadb.utils.embedding_functionsr   r   Útypingr   r   rd   Úchromadb.api.typesr   r	   r
   r   Ú$chromadb.api.models.CollectionCommonr   r3   r9   r?   rA   rk   rQ   r4   r2   ú<module>rq      s]   ðÝ .÷÷ Û ÷ó õ Dó/Códó	Sð ôÐ/°
Ñ;ó ó ðô.	1r4   