
    ^Nj                     `    d dl mZmZ d dlmZ d dlmZ d dlmZ d dlm	Z	  G d dee         Z
y)	    )IterableAny)DenseModelDescription)
NumpyArray)ModelManagement)
ImageInputc                       e Zd Z	 	 ddededz  dedz  defdZ	 	 ddeee   z  ded	edz  ded
ee	   f
dZ
eded
efd       Zed
efd       Zy)ImageEmbeddingBaseN
model_name	cache_dirthreadskwargsc                 j    || _         || _        || _        |j                  dd      | _        d | _        y )Nlocal_files_onlyF)r   r   r   pop_local_files_only_embedding_size)selfr   r   r   r   s        u/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/fastembed/image/image_embedding_base.py__init__zImageEmbeddingBase.__init__
   s5     %"!',>!F+/    images
batch_sizeparallelreturnc                     t               )au  
        Embeds a list of images into a list of embeddings.

        Args:
            images: The list of image paths to preprocess and embed.
            batch_size: Batch size for encoding
            parallel:
                If > 1, data-parallel encoding will be used, recommended for offline encoding of large datasets.
                If 0, use all available cores.
                If None, don't use data-parallel processing, use default onnxruntime threading instead.
            **kwargs: Additional keyword argument to pass to the embed method.

        Yields:
            Iterable[NdArray]: The embeddings.
        NotImplementedError)r   r   r   r   r   s        r   embedzImageEmbeddingBase.embed   s    , "##r   c                     t        d      )z+Returns embedding size of the chosen model.%Subclasses must implement this methodr   )clsr   s     r   get_embedding_sizez%ImageEmbeddingBase.get_embedding_size/        ""IJJr   c                     t        d      )z,Returns embedding size for the current modelr!   r   )r   s    r   embedding_sizez!ImageEmbeddingBase.embedding_size4   r$   r   )NN)   N)__name__
__module____qualname__strintr   r   r   r   r   r   classmethodr#   propertyr&    r   r   r
   r
   	   s     !%"	00 :0 t	0
 0  #	$Xj11$ $ *	$
 $ 
*	$0 KC KC K K K K Kr   r
   N)typingr   r   "fastembed.common.model_descriptionr   fastembed.common.typesr   !fastembed.common.model_managementr   r   r
   r/   r   r   <module>r4      s(      D - = -.K)>? .Kr   