
    rh.                        d dl mZ 	 d dlmZ d dlmc mZ	 d dl
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)SelfN)Tensor)Modulec                  L     e Zd ZdZd fdZd	dZddd
dZedd       Z xZ	S )	Normalizez/This layer normalizes embeddings to unit lengthc                "    t         |           y N)super__init__)self	__class__s    y/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/sentence_transformers/models/Normalize.pyr   zNormalize.__init__   s        c                ^    |j                  dt        j                  |d   dd      i       |S )Nsentence_embedding      )pdim)updateF	normalize)r   featuress     r   forwardzNormalize.forward   s.    -q{{8DX;Y]^de/fghr   T)safe_serializationc                    y r
    )r   output_pathr   argskwargss        r   savezNormalize.save   s    r   c                     |        S r
   r   )clsr    r!   s      r   loadzNormalize.load   s	    ur   )returnNone)r   dict[str, Tensor]r&   r(   )r   strr   boolr&   r'   )r&   r   )
__name__
__module____qualname____doc__r   r   r"   classmethodr%   __classcell__)r   s   @r   r   r      s0    9 HL   r   r   )
__future__r   typingr   ImportErrortyping_extensionstorch.nn.functionalnn
functionalr   torchr   #sentence_transformers.models.Moduler   r   r   r   r   <module>r:      s>    "'     6   '&'s   / ==