
    Ig                     J    d dl mZmZ d dlZd dlmZ d dlmZ  G d de      Z	y)    )IterableOptionalN)ModelManagement)
ImageInputc            
       p    e Zd Z	 	 ddedee   dee   fdZ	 	 ddededee   d	ee	j                     fd
Zy)ImageEmbeddingBaseN
model_name	cache_dirthreadsc                 \    || _         || _        || _        |j                  dd      | _        y )Nlocal_files_onlyF)r	   r
   r   pop_local_files_only)selfr	   r
   r   kwargss        a/var/www/html/answerous/venv/lib/python3.12/site-packages/fastembed/image/image_embedding_base.py__init__zImageEmbeddingBase.__init__
   s-     %"!',>!F    images
batch_sizeparallelreturnc                     t               )ax  
        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[np.ndarray]: The embeddings.
        )NotImplementedError)r   r   r   r   r   s        r   embedzImageEmbeddingBase.embed   s    , "##r   )NN)   N)__name__
__module____qualname__strr   intr   r   r   npndarrayr    r   r   r   r   	   sw     $(!%	
G
G C=
G #	
G "&	$$ $ 3-	$ 
"**	$r   r   )
typingr   r   numpyr"   !fastembed.common.model_managementr   fastembed.common.typesr   r   r$   r   r   <module>r)      s    %  = -#$ #$r   