
    Igp                     B    d dl mZmZmZ d dlZd dlmZ  G d de      Zy)    )IterableOptionalUnionN)ModelManagementc            
           e Zd Z	 	 ddedee   dee   fdZ	 	 ddeeee   f   dedee   d	ee	j                     fd
Zdee   d	ee	j                     fdZdeeee   f   d	ee	j                     fdZy)TextEmbeddingBaseN
model_name	cache_dirthreadsc                 \    || _         || _        || _        |j                  dd      | _        y )Nlocal_files_onlyF)r	   r
   r   pop_local_files_only)selfr	   r
   r   kwargss        _/var/www/html/answerous/venv/lib/python3.12/site-packages/fastembed/text/text_embedding_base.py__init__zTextEmbeddingBase.__init__	   s-     %"!',>!F    	documents
batch_sizeparallelreturnc                     t               )N)NotImplementedError)r   r   r   r   r   s        r   embedzTextEmbeddingBase.embed   s     "##r   textsc              +   F   K    | j                   |fi |E d{    y7 w)a+  
        Embeds a list of text passages into a list of embeddings.

        Args:
            texts (Iterable[str]): The list of texts to embed.
            **kwargs: Additional keyword argument to pass to the embed method.

        Yields:
            Iterable[np.ndarray]: The embeddings.
        N)r   )r   r   r   s      r   passage_embedzTextEmbeddingBase.passage_embed   s!      4::e.v...s   !!queryc              +      K   t        |t              r | j                  |gfi |E d{    t        |t              r | j                  |fi |E d{    yy7 17 w)z
        Embeds queries

        Args:
            query (Union[str, Iterable[str]]): The query to embed, or an iterable e.g. list of queries.

        Returns:
            Iterable[np.ndarray]: The embeddings.
        N)
isinstancestrr   r   )r   r   r   s      r   query_embedzTextEmbeddingBase.query_embed-   s^      eS!!tzz5'4V444eX&!tzz%26222 ' 52s!   (A A*A AA A )NN)   N)__name__
__module____qualname__r"   r   intr   r   r   npndarrayr   r   r#    r   r   r   r      s     $(!%	
G
G C=
G #	
G "&	$hsm+,$ $ 3-	$ 
"**	$/8C= /x

?S /33-.3	"**	3r   r   )	typingr   r   r   numpyr)   !fastembed.common.model_managementr   r   r+   r   r   <module>r/      s    , ,  =63 63r   