Ë
    uPêj–U  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl	Z	d dl
Z
d dlmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZmZ d dlmZ ddl m!Z!m"Z"m#Z#m$Z$ er	d dl%m&Z' e'Z(neZ(da)da* G d„ de«      Z+y)é    N)Údeepcopy)ÚTYPE_CHECKINGÚAnyÚFinal)Úconvert_content_list_to_str)Úcustom_promptÚprompt_factory)ÚCustomStreamWrapper)Ú
BaseConfigÚBaseLLMException©Úget_secret_str)ÚAllMessageValues)ÚChoicesÚMessageÚModelResponseÚUsage)Útoken_counteré   )ÚHuggingFaceErrorÚhf_task_listÚhf_tasksÚoutput_parser)ÚLoggingc                   ó
  ‡ — e Zd ZU dZdZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   dZe
dz  ed<   dZedz  ed<   dZedz  ed	<   d
Ze
dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZe
dz  ed<   	 	 	 	 	 	 	 	 	 	 	 	 	 	 d8dedz  de
dz  de
dz  dedz  d	edz  de
dz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  de
dz  ddfd„Zeˆ fd„«       Zd„ Zdefd„Zdededede
def
d„Zdedz  fd„Z d„ Z!dede"eef   fd „Z#ded!e$e%   ded"ed#edefd$„Z&	 	 d9d#eded!e$e%   ded"ed%edz  d&edz  defd'„Z'd(ed)ed#ee(jR                  z  de*fd*„Z+	 d:d+e(jX                  d,e-ded-ed%edz  de$eee.f      fd.„Z/d/e$eee.f      eee.f   z  d0e0d1edz  ded2e.d!e$e%   defd3„Z1	 	 d9ded4e(jX                  d0e0d,e-d5ed!e$e%   ded"ed2e.d%edz  d6e
dz  de0fd7„Z2ˆ xZ3S );ÚHuggingFaceEmbeddingConfigz|
    Reference: https://huggingface.github.io/text-generation-inference/#/Text%20Generation%20Inference/compat_generate
    NÚhf_taskÚbest_ofÚdecoder_input_detailsTÚdetailsÚmax_new_tokensÚrepetition_penaltyFÚreturn_full_textÚseedÚtemperatureÚtop_kÚtop_n_tokensÚtop_pÚtruncateÚ	typical_pÚ	watermarkÚreturnc                 ó¤   — t        «       j                  «       }|j                  «       D ]%  \  }}|dk7  sŒ|€Œt        | j                  ||«       Œ' y )NÚself)ÚlocalsÚcopyÚitemsÚsetattrÚ	__class__)r.   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Úlocals_ÚkeyÚvalues                     úv/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/huggingface/embedding/transformation.pyÚ__init__z#HuggingFaceEmbeddingConfig.__init__=   sF   € ô"  ›Ÿ™›ˆØ!Ÿ-™-›/ò 	4‰JˆC�Ø�f‹} Ñ!2Ü˜Ÿ™¨¨UÕ3ñ	4ó    c                 ó    •— t         ‰| �  «       S ©N)ÚsuperÚ
get_config)Úclsr3   s    €r7   r=   z%HuggingFaceEmbeddingConfig.get_configS   s   ø€ ä‰wÑ!Ó#Ð#r9   c                 ó
   — ddgS )NÚ	use_cacheÚwait_for_model© ©r.   s    r7   Úget_special_options_paramsz5HuggingFaceEmbeddingConfig.get_special_options_paramsW   s   € ØÐ-Ð.Ð.r9   Úmodelc                 ó
   — g d¢S )N)Ústreamr%   Ú
max_tokensÚmax_completion_tokensr(   ÚstopÚnÚechorB   )r.   rE   s     r7   Úget_supported_openai_paramsz6HuggingFaceEmbeddingConfig.get_supported_openai_paramsZ   s   € ò	
ð 		
r9   Únon_default_paramsÚoptional_paramsÚdrop_paramsc                 óþ   — |j                  «       D ]i  \  }}|dk(  r|dk(  s|dk(  rd}||d<   |dk(  r||d<   |dk(  r
||d<   d|d	<   |d
k(  r||d
<   |dk(  r||d<   |dk(  s|dk(  r|dk(  rd}||d<   |dk(  sŒed|d<   Œk |S )Nr%   g        r   g{®Gáz„?r(   rK   r   TÚ	do_samplerG   rJ   rH   rI   é   r!   rL   r   )r1   )r.   rN   rO   rE   rP   Úparamr6   s          r7   Úmap_openai_paramsz,HuggingFaceEmbeddingConfig.map_openai_paramsf   sÞ   € ð /×4Ñ4Ó6ò 	@‰LˆE�5à˜Ò%Ø˜C’< 5¨A¢:ð !�EØ16� Ñ.Ø˜ÒØ+0� Ñ(Ø˜Š|Ø-2� 	Ñ*Ø/3� Ñ,Ø˜Ò Ø,1� Ñ)Ø˜ŠØ*/� Ñ'Ø˜Ò$¨Ð1HÒ(Hð ˜A’:Ø�EØ49�Ð 0Ñ1Ø˜‹ð <@�Ð 7Ò8ð5	@ð8 Ðr9   c                 ó   — t        d«      S )NÚHUGGINGFACE_API_KEYr   rC   s    r7   Úget_hf_api_keyz)HuggingFaceEmbeddingConfig.get_hf_api_key‹   s   € ÜÐ3Ó4Ð4r9   c                 ó  — 	 t         �t        �t         t        fS t        «       }t        j                  j                  t        j                  j                  t        «      «      }t        j                  j                  |«      }t        j                  j                  |dd«      }t        |d«      5 }|D ]!  }|j                  |j                  «       «       Œ# 	 d d d «       |a t        j                  j                  |dd«      }t        «       }t        |d«      5 }|D ]!  }|j                  |j                  «       «       Œ# 	 d d d «       |a||fS # 1 sw Y   ŒxxY w# 1 sw Y   ŒxY w# t        $ r t        «       t        «       fcY S w xY w)NÚhuggingface_llms_metadatazhf_text_generation_models.txtÚrzhf_conversational_models.txt)Útgi_models_cacheÚconv_models_cacheÚsetÚosÚpathÚdirnameÚabspathÚ__file__ÚjoinÚopenÚaddÚstripÚ	Exception)r.   Ú
tgi_modelsÚscript_directoryÚ	file_pathÚfileÚlineÚconv_modelss          r7   Úread_tgi_conv_modelsz/HuggingFaceEmbeddingConfig.read_tgi_conv_modelsŽ   s\  € ð&	 ô !Ð,Ô3DÐ3PÜ'Ô):Ð:Ð:ä #£ˆJÜ!Ÿw™wŸ™¬r¯w©w¯©¼xÓ/HÓIÐÜ!Ÿw™wŸ™Ð/?Ó@ÐäŸ™Ÿ™Ø Ø+Ø/óˆIô �i Ó%ð 1¨Ø ò 1�DØ—N‘N 4§:¡:£<Õ0ñ1÷1ð
  *Ðô Ÿ™Ÿ™Ø Ø+Ø.óˆIô
 "%£ˆKÜ�i Ó%ð 2¨Ø ò 2�DØ—O‘O D§J¡J£LÕ1ñ2÷2ð !,ÐØ˜{Ð*Ð*÷'1ð 1ú÷2ð 2ûô ò 	 Ü“5œ#›%�<Òð	 úsH   ‚E' šBE' Â0'EÃAE' Ä'EÅE' ÅEÅE' ÅE$Å E' Å'FÆFc                 óÌ   — |j                  d«      d   t        v r|j                  dd«      }|d   |d   fS | j                  «       \  }}||v rd|fS ||v rd|fS d|v rd|fS d|fS )Nú/r   rS   útext-generation-inferenceÚconversationalzroneneldan/TinyStoriesztext-generation)Úsplitr   ro   )r.   rE   Úsplit_modelri   Úconversational_modelss        r7   Úget_hf_task_for_modelz0HuggingFaceEmbeddingConfig.get_hf_task_for_model·   s–   € ð �;‰;�sÓ˜AÑ¤,Ñ.Ø!&§¡¨S°!Ó!4ˆKØ˜q‘> ;¨q¡>Ð1Ð1Ø,0×,EÑ,EÓ,GÑ)ˆ
Ð)à�JÑØ.°Ð5Ð5ØÐ+Ñ+Ø# UÐ*Ð*Ø%¨Ñ.Ø$ eÐ+Ð+à.°Ð5Ð5r9   ÚmessagesÚlitellm_paramsÚheadersc           
      óh  — |j                  dd «      }|�t        |t        «      r|t        vrt	        d|› dt
        › d�«      ‚t        j                  j                  «       }|j                  «       D ]  \  }}	||vsŒ|	||<   Œ | j                  «       }
i }g }|j                  «       D ]   \  }}	||
v sŒ|	||<   |j                  |«       Œ" |D ]  }|j                  |«       Œ |dk(  ršt        |«      }|j                  d«       |j                  d«       g }g }d}|D ]W  }|d	   d
k(  r"|dk7  r|j                  |«       t        |«      }Œ-|d	   dk(  s	|d	   dk(  sŒ>|j                  t        |«      «       ŒY |||dœ|dœ}�n‚|dk(  rœ|t        j                  v rVt        j                  |   }t!        |j                  d«      xs i |j                  dd«      |j                  dd«      |¬«      }nt#        ||¬«      }||d|v rt        |d   t$        «      r	|d   du rdnddœ}ná|t        j                  v rut        j                  |   }t!        |j                  di «      |j                  dd«      |j                  dd«      |j                  dd«      |j                  dd«      |¬«      }nt#        ||¬«      }t        |«      }|j                  d«       |j                  d«       d|i}|dk(  r||d<   d|v r	|d   du rdnd|d<   t'        |j)                  «       «      dkD  r|j+                  d|i«       |S ) NÚtaskzInvalid hf task - z. Valid formats - ú.rs   r    r#   Ú ÚroleÚuserÚ	assistantÚsystem)ÚtextÚpast_user_inputsÚgenerated_responses)ÚinputsÚ
parametersrr   ÚrolesÚinitial_prompt_valueÚfinal_prompt_value)Ú	role_dictr‰   rŠ   rx   ©rE   rx   rG   TF)r†   r‡   rG   Ú	bos_tokenÚ	eos_token)r‹   r‰   rŠ   r�   rŽ   rx   r†   r‡   r   Úoptions)ÚgetÚ
isinstanceÚstrr   rh   r   Úlitellmr   r=   r1   rD   ÚappendÚpopr   r   Úcustom_prompt_dictr   r	   ÚboolÚlenÚkeysÚupdate)r.   rE   rx   rO   ry   rz   r|   ÚconfigÚkÚvÚspecial_paramsÚspecial_params_dictÚkeys_to_popÚinference_paramsr„   r…   rƒ   ÚmessageÚdataÚmodel_prompt_detailsÚprompts                        r7   Útransform_requestz,HuggingFaceEmbeddingConfig.transform_requestÈ   s¨  € ð %×(Ñ(¨°Ó6ˆàˆ<œz¨$´Ô4¸ÄLÑ8PÜÐ0°°Ð6HÌÈ
ÐRSÐTÓUÐUô  ×:Ñ:×EÑEÓGˆØ—L‘L“Nò 	'‰DˆAˆqà˜Ò(à%&� Ò"ð		'ð !%× ?Ñ ?Ó AˆØ%'Ðàˆà#×)Ñ)Ó+ò 	&‰DˆAˆqØ�NÒ"Ø)*Ð# AÑ&Ø×"Ñ" 1Õ%ð	&ð ò 	#ˆAØ×Ñ Õ"ð	#àÐ#Ò#Ü'¨Ó8ÐØ× Ñ  Ô+Ø× Ñ Ð!3Ô4Ø&(ÐØ)+ÐØˆDØ#ò U�Ø˜6‘? fÒ,Ø˜r’zØ(×/Ñ/°Ô5Ü6°wÓ?‘DØ˜V‘_¨Ò3°w¸v±È(Ó7RØ'×.Ñ.Ô/JÈ7Ó/SÕTðUð !Ø(8Ø+>ñð
 /ñŠDð Ð0Ò0àœ×2Ñ2Ñ2ä'.×'AÑ'AÀ%Ñ'HÐ$Ü&Ø2×6Ñ6°wÓ?ÒEÀ2Ø)=×)AÑ)AÐBXÐZ\Ó)]Ø';×'?Ñ'?Ð@TÐVXÓ'YØ%ô	‘ô (¨e¸hÔG�à Ø-ð   ?Ñ2Ü" ?°8Ñ#<¼dÔCØ'¨Ñ1°TÑ9ñ ð ñ
‰Dð œ×2Ñ2Ñ2ä'.×'AÑ'AÀ%Ñ'HÐ$Ü&Ø2×6Ñ6°wÀÓCØ)=×)AÑ)AÐBXÐZ\Ó)]Ø';×'?Ñ'?Ð@TÐVXÓ'YØ2×6Ñ6°{ÀBÓGØ2×6Ñ6°{ÀBÓGØ%ô‘ô (¨e¸hÔG�Ü'¨Ó8ÐØ× Ñ  Ô+Ø× Ñ Ð!3Ô4à˜&ðˆDð Ð2Ò2Ø%5��\Ñ"Ø)1°_Ñ)DÈÐYaÑIbÐfjÑIj¡Ðpu��X‘ô Ð"×'Ñ'Ó)Ó*¨QÒ.Ø�K‰K˜Ð$7Ð8Ô9àˆr9   Úapi_keyÚapi_basec                 ó.   — ddi}|�d|› �|d<   i |¥|¥}|S )Nzcontent-typezapplication/jsonzBearer ÚAuthorizationrB   )	r.   rz   rE   rx   rO   ry   r§   r¨   Údefault_headerss	            r7   Úvalidate_environmentz/HuggingFaceEmbeddingConfig.validate_environment;  sC   € ð Ð.ð"
ˆð Ðà˜'˜Ð#ð ˜OÑ,ð 1�WÐ0 Ð0ˆØˆr9   Úerror_messageÚstatus_codec                 ó   — t        |||¬«      S )N©r®   r¢   rz   )r   )r.   r­   r®   rz   s       r7   Úget_error_classz*HuggingFaceEmbeddingConfig.get_error_classP  s   € Ü¨KÀÐX_Ô`Ð`r9   ÚresponseÚlogging_objr£   c                 ó¬   — t        |j                  «       |d|¬«      }d}|D ]  }||d   d   d   d   z  }Œ d|ig}	|j                  |||	d	|i¬
«       |	S )NÚhuggingface)Úcompletion_streamrE   Úcustom_llm_providerr³   r~   Úchoicesr   ÚdeltaÚcontentÚgenerated_textÚcomplete_input_dict©Úinputr§   Úoriginal_responseÚadditional_args)r
   Ú
iter_linesÚ	post_call)
r.   r²   r³   rE   r£   r§   Ústreamed_responserº   ÚchunkÚcompletion_responses
             r7   Ú/_convert_streamed_response_to_complete_responsezJHuggingFaceEmbeddingConfig._convert_streamed_response_to_complete_responseS  s’   € ô $7Ø&×1Ñ1Ó3ØØ -Ø#ô	$
Ðð ˆØ&ò 	?ˆEØ�u˜YÑ'¨Ñ*¨7Ñ3°IÑ>Ñ>‰Gð	?à=MÈwÐ<WÐ;XÐà×ÑØØØ1Ø2°DÐ9ð	 	ô 	
ð #Ð"r9   rÅ   Úmodel_responser|   Úencodingc                 óì  — |€d}|dk(  r5t        |d   «      dkD  �rp|d   |j                  d   j                  _        �nM|dk(  �r¿t	        |t
        «      rt	        |d   t        «      rd|d   vrt        dd|› �d ¬«      ‚t        |d   d   «      dkD  r-t        |d   d   «      |j                  d   j                  _        d|d   v rkd	|d   d   v ra|d   d   d
   |j                  d   _	        d}|d   d   d	   D ]  }	|	d   €Œ	||	d   z  }Œ t        |j                  d   j                  d|«       d|v �rT|d   dkD  �rKd|d   v �rCd|d   d   v �r8g }
t        |d   d   d   «      D ]{  \  }}d}|d	   D ]  }	|	d   €Œ	||	d   z  }Œ t        |d   «      dkD  rt        t        |d   «      |¬«      }nt        d ¬«      }t        |d
   |dz   |¬«      }|
j                  |«       Œ} |j                  j                  |
«       nˆ|dk(  r2t!        j"                  |«      |j                  d   j                  _        nQt	        |t
        «      rAt        |d   d   «      dkD  r-t        |d   d   «      |j                  d   j                  _        d}	 t%        ||¬«      }|d   d   d   j)                  dd«      }|�Et        |«      dkD  r7d}	 t        |j+                  |d   d   d   j)                  dd«      «      «      }nd}t-        t/        j.                  «       «      |_        ||_        t5        ||||z   ¬«      }t        |d|«       ||j6                  d<   |S # t&        $ r Y ŒÇw xY w# t&        $ r Y Œrw xY w)Nrr   rs   r»   r   i¦  z%response is not in expected format - r°   r    ÚtokensÚfinish_reasonÚlogprobÚ_logprobr   rS   Úbest_of_sequences)rº   Úlogprobs)rº   )rË   Úindexr¢   ztext-classificationrŒ   r¸   r¢   rº   r~   )Úprompt_tokensÚcompletion_tokensÚtotal_tokensÚusager¿   )r˜   r¸   r¢   rº   r‘   ÚlistÚdictr   r   rË   r2   Ú	enumerater   r   r”   ÚextendÚjsonÚdumpsr   rh   r�   ÚencodeÚintÚtimeÚcreatedrE   r   Ú_hidden_params)r.   rÅ   rÇ   r|   rO   rÈ   rx   rE   Úsum_logprobÚtokenÚchoices_listÚidxÚitemÚmessage_objÚ
choice_objrÑ   Úoutput_textrÒ   rÔ   s                      r7   Ú convert_to_model_response_objectz;HuggingFaceEmbeddingConfig.convert_to_model_response_objectn  s*  € ð ˆ<Ø.ˆDàÐ#Ò#ÜÐ&Ð'7Ñ8Ó9¸AÓ=Ø<OÐP`Ñ<a�×&Ñ& qÑ)×1Ñ1Ö9ØÐ0Ó0äÐ2´DÔ9Ü!Ð"5°aÑ"8¼$Ô?Ø#Ð+>¸qÑ+AÑAä&Ø #ØCÐDWÐCXÐYØ ôð ô Ð& qÑ)Ð*:Ñ;Ó<¸qÒ@Ü<IÐJ]Ð^_ÑJ`ÐaqÑJrÓ<s�×&Ñ& qÑ)×1Ñ1Ô9àÐ/°Ñ2Ñ2°xÐCVÐWXÑCYÐZcÑCdÑ7dØ:MÈaÑ:PÐQZÑ:[Ð\kÑ:l�×&Ñ& qÑ)Ô7Ø�Ø0°Ñ3°IÑ>¸xÑHò 8�EØ˜YÑ'Ñ3Ø# u¨YÑ'7Ñ7™ð8ô ˜×.Ñ.¨qÑ1×9Ñ9¸:À{ÔSØ˜OÒ+°À	Ñ0JÈQÓ0NØÐ 3°AÑ 6Ò6Ð;NÐReÐfgÑRhÐirÑRsÒ;sØ*,�LÜ%.Ð/BÀ1Ñ/EÀiÑ/PÐQdÑ/eÓ%fò 8™	˜˜TØ&'˜Ø%)¨(¡^ò @˜EØ$ YÑ/Ñ;Ø +¨u°YÑ/?Ñ ?¡ð@ô ˜tÐ$4Ñ5Ó6¸Ò:Ü*1Ü(5°dÐ;KÑ6LÓ(MØ)4ô+™Kô
 +2¸$Ô*?˜KÜ%,Ø*.¨Ñ*?Ø"%¨¡'Ø$/ô&˜
ð
 %×+Ñ+¨JÕ7ð#8ð$ #×*Ñ*×1Ñ1°,Õ?ØÐ*Ò*Ü8<¿
¹
ÐCVÓ8WˆN×"Ñ" 1Ñ%×-Ñ-Õ5äÐ-¬tÔ4¼Ð=PÐQRÑ=SÐTdÑ=eÓ9fÐijÒ9jÜ<IÐJ]Ð^_ÑJ`ÐaqÑJrÓ<s�×&Ñ& qÑ)×1Ñ1Ô9àˆð	Ü)°ÀÔIˆMð ,¨IÑ6°qÑ9¸)ÑD×HÑHÈÐTVÓWˆØÐ"¤s¨;Ó'7¸!Ò';Ø !ÐðÜ$'Ø—O‘O N°9Ñ$=¸aÑ$@ÀÑ$K×$OÑ$OÐPYÐ[]Ó$^Ó_ó%Ñ!ð !"Ðä!$¤T§Y¡Y£[Ó!1ˆÔØ$ˆÔÜØ'Ø/Ø&Ð):Ñ:ô
ˆô
 	� ¨Ô/Ø=Pˆ×%Ñ%Ð&9Ñ:ØÐøô3 ò 	áð	ûô ò áðús$   ÊM Ë
3M' Í	M$Í#M$Í'	M3Í2M3Úraw_responseÚrequest_dataÚ	json_modec           	      ó4  — |j                  dd «      }d}|j                  d   j                  dd«      dk(  rd}|r| j                  |||||
¬«      }nE|j                  ||
|j                  d	|i¬
«       	 |j                  «       }t        |t        «      r|g}t        |t        «      rd|v rt        |d   |j                  ¬«      ‚| j                  |||�
|t        v r|nd ||	||¬«      S # t        $ r% t        d|j                  › �|j                  ¬«      ‚w xY w)Nr|   Frz   zContent-Typer~   ztext/event-streamT)r²   r³   rE   r£   r§   r¼   r½   zOriginal Response received: )r¢   r®   Úerror)rÅ   rÇ   r|   rO   rÈ   rx   rE   )r�   Ú__dict__rÆ   rÂ   rƒ   rÙ   r‘   rÖ   rh   r   r®   rè   r   )r.   rE   ré   rÇ   r³   rê   rx   rO   ry   rÈ   r§   rë   r|   Úis_streamedrÅ   s                  r7   Útransform_responsez-HuggingFaceEmbeddingConfig.transform_responseÎ  sh  € ð %×(Ñ(¨°Ó6ˆØˆØ× Ñ  Ñ+×/Ñ/°ÀÓCÐGZÒZØˆKñ Ø"&×"VÑ"VØ%Ø'ØØ!Øð #Wó #Ñð ×!Ñ!Ø"ØØ".×"3Ñ"3Ø!6¸Ð Eð	 "ô ðØ&2×&7Ñ&7Ó&9Ð#ÜÐ1´4Ô8Ø+>Ð*?Ð'ô Ð)¬4Ô0°WÐ@SÑ5SÜ"Ø+¨GÑ4Ø(×4Ñ4ôð ð ×4Ñ4Ø 3Ø)ØÐ)¨d´lÑ.B‘ÈØ+ØØØð 5ó 
ð 	
øô ò Ü&Ø:¸<×;LÑ;LÐ:MÐNØ ,× 8Ñ 8ôð ðús   Á4#C) Ã).D)NNNNNNNNNNNNNN)NNr;   )4Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r   rÜ   r   r—   r    r!   r"   Úfloatr#   r$   r%   r&   r'   r(   r)   r*   r+   r8   Úclassmethodr=   rD   r’   rM   rÖ   rU   rX   ro   Útuplerw   rÕ   r   r¦   r¬   ÚhttpxÚHeadersr   r±   ÚResponseÚLoggingClassr   rÆ   r   rè   rð   Ú__classcell__)r3   s   @r7   r   r   &   s½  ø… ñð
 	ð ˆX˜‰_ó ð €GˆS�4‰ZÓØ)-Ð˜4 $™;Ó-Ø€GˆT�D‰[ÓØ!%€N�C˜$‘JÓ%Ø'+Ð˜ ™Ó+Ø$)Ð�d˜T‘kÓ)Ø€Dˆ#�‰*ÓØ $€K�˜‘Ó$Ø€Eˆ3�‰:ÓØ#€L�#˜‘*Ó#Ø€Eˆ3�‰:ÓØ€Hˆc�D‰jÓØ"€Iˆu�t‰|Ó"Ø!€Iˆt�d‰{Ó!ð #Ø-1Ø#Ø%)Ø+/Ø(,ØØ$(Ø Ø#'Ø Ø#Ø"&Ø!%ñ4à�t‘ð4ð  $ d™{ð4ð ˜‘ð	4ð
 ˜d™
ð4ð " D™Lð4ð  ™+ð4ð �D‰jð4ð ˜T‘\ð4ð �T‰zð4ð ˜D‘jð4ð �T‰zð4ð ˜‘*ð4ð ˜4‘<ð4ð ˜$‘;ð4ð  
ó!4ð, ó$ó ð$ò/ð

°ó 

ð#à ð#ð ð#ð ð	#ð
 ð#ð 
ó#ðJ5  d¡
ó 5ò' ðR6¨3ð 6°5¸À3¸Ñ3Gó 6ð"qàðqð Ð'Ñ(ðqð ð	qð
 ðqð ðqð 
óqðt #Ø#ñàðð ðð Ð'Ñ(ð	ð
 ðð ðð �t‘ðð ˜‘*ðð 
óð*a¨Sð a¸sð aÈTÐTY×TaÑTaÑMað aÐfvó að #ñ#à—.‘.ð#ð "ð#ð ð	#ð
 ð#ð �t‘ð#ð 
ˆd�3˜�8‰nÑ	ó#ð6^à! $ s¨C x¡.Ñ1°D¸¸c¸±NÑBð^ð &ð^ð ˜‰oð	^ð
 ð^ð ð^ð Ð'Ñ(ð^ð ó^ðV #Ø!%ñ=
àð=
ð —n‘nð=
ð &ð	=
ð
 "ð=
ð ð=
ð Ð'Ñ(ð=
ð ð=
ð ð=
ð ð=
ð �t‘ð=
ð ˜$‘;ð=
ð 
÷=
r9   r   ),rÙ   r_   rÝ   r0   r   Útypingr   r   r   rù   r“   Ú8litellm.litellm_core_utils.prompt_templates.common_utilsr   Ú3litellm.litellm_core_utils.prompt_templates.factoryr   r	   Ú,litellm.litellm_core_utils.streaming_handlerr
   Ú)litellm.llms.base_llm.chat.transformationr   r   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.openair   Úlitellm.types.utilsr   r   r   r   Úlitellm.utilsr   Úcommon_utilsr   r   r   r   Ú*litellm.litellm_core_utils.litellm_loggingr   ÚLiteLLMLoggingObjrü   r\   r]   r   rB   r9   r7   ú<module>r
     sq   ðÛ Û 	Û Ý ß ,Ñ ,ã ã õ÷õ Mß RÝ 7Ý 6ß FÓ FÝ 'ç RÓ RáÝWà$�Là€Lð Ð ØÐ ôe
 õ e
r9   