§
    ‚ŠtjÜ  ã                   óX   — d Z ddlmZ ddlmZ ddlmZmZ  ej        e	¦  «        Z
d„ ZdS )z’
Liger Kernel integration for applying optimized Triton kernels to transformer models.

See https://github.com/linkedin/Liger-Kernel for details.
é   )ÚPreTrainedModel)Úunwrap_peft_model)Úis_liger_kernel_availableÚloggingc                 óè   — t          ¦   «         st          d¦  «        ‚ddlm} |pi }t	          | ¦  «        }t          |t          ¦  «        r |dd|i|¤Ž dS t                               d¦  «         dS )al  
    Apply Liger Kernel optimizations to a model instance.

    Liger Kernel provides optimized Triton kernels for common transformer operations.
    This function patches the model in-place with those kernels.

    Args:
        model: The model to patch. Must be a `PreTrainedModel` or a PEFT wrapper around one.
        kernel_config: Kernel configuration.
    z‡You have set `use_liger_kernel` to `True` but liger-kernel >= 0.3.0 is not available. Please install it with `pip install liger-kernel`é    )Ú_apply_liger_kernel_to_instanceÚmodelzRThe model is not an instance of PreTrainedModel. No liger kernels will be applied.N© )	r   ÚImportErrorÚliger_kernel.transformersr	   r   Ú
isinstancer   ÚloggerÚwarning)r
   Úkernel_configr	   Ú
base_models       ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/integrations/liger.pyÚapply_liger_kernelr      s¤   € õ %Ñ&Ô&ð 
Ýð@ñ
ô 
ð 	
ð
 JÐIÐIÐIÐIÐIà!Ð' R€MÝ" 5Ñ)Ô)€Jå�*�oÑ.Ô.ð mØ'Ð'ÐJÐJ¨jÐJ¸MÐJÐJÐJÐJÐJå�ŠÐkÑlÔlÐlÐlÐló    N)Ú__doc__Úmodeling_utilsr   Útrainer_utilsr   Úutilsr   r   Ú
get_loggerÚ__name__r   r   r   r   r   ú<module>r      s   ððð ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð 
ˆÔ	˜HÑ	%Ô	%€ðmð mð mð mð mr   