
    [iH                         d dl mZmZ d dlmZ d dlmZmZ  ed       G d d             Z ed       G d d	             Z	 ed       G d
 de	             Z
 ed       G d de	             Z G d dee      Zy)    )	dataclassfield)Enum)OptionalAnyT)frozenc                   b    e Zd ZU dZee   ed<   dZee   ed<   dZe	ed<   e
de	fd       Zd	dZy)
ModelSourceNhfurlF_deprecated_tar_structreturnc                     | j                   S )N)r   selfs    ^/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/fastembed/common/model_description.pydeprecated_tar_structz!ModelSource.deprecated_tar_struct   s    ***    c                     | j                   2| j                  %t        d| j                    d| j                         y y )Nz7At least one source should be set, current sources: hf=z, url=)r   r   
ValueErrorr   s    r   __post_init__zModelSource.__post_init__   sE    77?txx/I$''RXY]YaYaXbc   0?r   r   N)__name__
__module____qualname__r   r   str__annotations__r   r   boolpropertyr   r    r   r   r
   r
      sG    BC##(D(+t + +r   r
   c                   l    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<    ee      Z	ee   ed<   y	)
BaseModelDescriptionmodelsources
model_filedescriptionlicense
size_in_GBdefault_factoryadditional_filesN)
r   r   r   r   r   r
   floatr   listr+   r    r   r   r"   r"      s7    JOL"'"=d3i=r   r"   c                   V    e Zd ZU dZee   ed<    ee      Z	eee
ef      ed<   ddZy)DenseModelDescriptionNdimr)   tasksc                 *    | j                   J d       y )Nz+dim is required for dense model description)r0   r   s    r   r   z#DenseModelDescription.__post_init__'   s    xx#R%RR#r   r   )r   r   r   r0   r   intr   r   dictr1   r   r   r   r    r   r   r/   r/   "   s2    C#&+D&AE8DcN#ASr   r/   c                   6    e Zd ZU dZee   ed<   dZee   ed<   y)SparseModelDescriptionNrequires_idf
vocab_size)	r   r   r   r7   r   r   r   r8   r3   r    r   r   r6   r6   +   s    #'L(4.' $J$r   r6   c                       e Zd ZdZdZdZy)PoolingTypeCLSMEANDISABLEDN)r   r   r   r;   r<   r=   r    r   r   r:   r:   1   s    
CDHr   r:   N)dataclassesr   r   enumr   typingr   r   r
   r"   r/   r6   r   r:   r    r   r   <module>rA      s    (    $    $> > > $S0 S S $%1 % %
#t r   