
    rh                    r    d dl mZ 	 d dlmZ d dlmZmZ d dl	m
Z
  G d de
      Zy# e$ r	 d dlmZ Y 'w xY w)    )annotations)Self)Tensornn)Modulec                       e Zd ZU dgZded<   d	 fdZd
dZd ZdddZe		 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Z
 xZS )	LayerNorm	dimensionz	list[str]config_keysc                d    t         |           || _        t        j                  |      | _        y N)super__init__r
   r   r	   norm)selfr
   	__class__s     y/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/sentence_transformers/models/LayerNorm.pyr   zLayerNorm.__init__   s%    "LL+	    c                4    | j                  |d         |d<   |S )Nsentence_embedding)r   )r   featuress     r   forwardzLayerNorm.forward   s!    )-8<P3Q)R%&r   c                    | j                   S r   )r
   )r   s    r    get_sentence_embedding_dimensionz*LayerNorm.get_sentence_embedding_dimension   s    ~~r   c                L    | j                  |       | j                  ||       y )N)safe_serialization)save_configsave_torch_weights)r   output_pathr   s      r   savezLayerNorm.save   s$    %@RSr   c                x    |||||d} | j                   dd|i|}	 | di |	}
 | j                  d||
d|}
|
S )N)	subfoldertokencache_folderrevisionlocal_files_onlymodel_name_or_path)r'   model )load_configload_torch_weights)clsr'   r"   r#   r$   r%   r&   kwargs
hub_kwargsconfigr(   s              r   loadzLayerNorm.load    sd     #(  0

 !U4FU*Uf&&&h:LTYh]ghr   )r
   int)r   zdict[str, Tensor])T)r   boolreturnNone) NNNF)r'   strr"   r6   r#   zbool | str | Noner$   
str | Noner%   r7   r&   r2   r3   r   )__name__
__module____qualname__r   __annotations__r   r   r   r    classmethodr0   __classcell__)r   s   @r   r	   r	      s    )]K*,
T  #'#'#!&  !	
 !   
 r   r	   N)
__future__r   typingr   ImportErrortyping_extensionstorchr   r   #sentence_transformers.models.Moduler   r	   r)   r   r   <module>rD      s8    "'  6( (  '&'s   ( 66