Ë
    uPêjÄ7  ã                   ó¨   — U d dl mZ d dlmZ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 ddlmZ d	d
lmZmZ  e«       Zeed<    G d„ de«      Zy)é    )ÚCallable)ÚAnyÚFinal)ÚAsyncAzureOpenAIÚAzureOpenAI)ÚLogging)Úprompt_factory)ÚCustomStreamWrapperÚModelResponseÚTextCompletionResponseé   )ÚOpenAITextCompletionConfigé   )ÚAzureOpenAIErrorÚBaseAzureLLMÚopenai_text_completion_configc                   óX  ‡ — e Zd Zdˆ fd„Zd„ Z	 	 	 ddededededz  ded	ed
ededz  dedz  dede	de
eef   dede
dz  fd„Zddi fdedz  d	ededede
dedede	dededz  de
fd„Zddi fde	dededz  d	ede
dedededz  de
fd„Zddi fde	dededz  d	ede
dedededz  de
fd„Zˆ xZS )ÚAzureTextCompletionNc                 ó"   •— t         ‰| �  «        y )N)ÚsuperÚ__init__)ÚselfÚ	__class__s    €új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/azure/completion/handler.pyr   zAzureTextCompletion.__init__   s   ø€ Ü‰ÑÕó    c                 ó4   — ddi}|�||d<   |S |�d|› �|d<   |S )Nzcontent-typezapplication/jsonzapi-keyúBearer ÚAuthorization© )r   Úapi_keyÚazure_ad_tokenÚheaderss       r   Úvalidate_environmentz(AzureTextCompletion.validate_environment   sG   € àÐ.ð
ˆð ÐØ!(ˆG�IÑð ˆð Ð'Ø)0°Ð0@Ð'AˆG�OÑ$Øˆr   ÚmodelÚmessagesÚmodel_responser    Úapi_baseÚapi_versionÚapi_typer!   Úazure_ad_token_providerÚprint_verboseÚlogging_objÚlitellm_paramsÚacompletionr"   c                 ól  — 	 |�|€t        dd¬«      ‚|j                  dd«      }t        ||d¬«      }|�(d|v r$| j                  |||||||||	||¬	«      }d |d
œ|¥}n||d
œ|¥}|du rJ|j	                  dd«      r| j                  ||||||||||¬«
      S | j                  ||||||||||||¬«      S d|v r!|d   du r| j                  |||||||||¬«	      S |j                  ||||dœ|||dœ¬«       t        |t        «      st        dd¬«      ‚| j                  |||||d|¬«      }t        |t        «      st        dd¬«      ‚ |j                  j                  j                  d i |¤d|i¤Ž}|j!                  «       }|j#                  «       }|j%                  ||||||dœ¬«       t&        j)                  t+        d i |¤Ž|¬«      S # t         $ r}|‚d }~wt,        $ rT}t/        |dd«      }t/        |dd «      }t/        |dd «      }|€|rt/        |dd «      }t        |t1        |«      |¬«      ‚d }~ww xY w)!Né¦  zMissing model or messages©Ústatus_codeÚmessageÚmax_retriesr   Ú
azure_text)r%   r$   Úcustom_llm_providerzgateway.ai.cloudflare.com)r    r(   r'   r$   Úclientr4   Útimeoutr!   r*   r.   r-   )r$   ÚpromptTÚstreamF)
r,   r'   Údatar$   r    r(   r!   r8   r7   r-   )r'   r;   r&   r    r(   r$   r!   r8   r7   r,   r4   r-   )	r,   r'   r;   r$   r    r(   r!   r8   r7   )r    r!   )r"   r(   r'   Úcomplete_input_dict©Úinputr    Úadditional_argsúmax retries must be an int)r    r'   r(   r7   r-   Ú	_is_asyncr$   éô  ú.azure_client is not an instance of AzureOpenAIr8   )r"   r(   r'   )r>   r    Úoriginal_responser?   ©Úresponse_objectÚmodel_response_objectr2   r"   Úresponse©r2   r3   r"   r   )r   Úpopr	   Ú,_init_azure_client_for_cloudflare_ai_gatewayÚgetÚasync_streamingr.   Ú	streamingÚpre_callÚ
isinstanceÚintÚget_azure_openai_clientr   ÚcompletionsÚwith_raw_responseÚcreateÚparseÚ
model_dumpÚ	post_callr   Ú%convert_to_chat_model_response_objectr   Ú	ExceptionÚgetattrÚstr)r   r$   r%   r&   r    r'   r(   r)   r!   r*   r+   r8   r,   Úoptional_paramsr-   Ú	logger_fnr.   r"   r7   r4   r9   r;   Úazure_clientÚraw_responserH   Ústringified_responseÚer2   Úerror_headersÚerror_responses                                 r   Ú
completionzAzureTextCompletion.completion   s6  € ð*F	cØˆ} Ð 0Ü&°3Ð@[Ô\Ð\à!0×!4Ñ!4°]ÀAÓ!FˆKÜ*°HÀEÐ_kÔlˆFð Ð#Ð(CÀxÑ(Oà×JÑJØ#Ø +Ø%ØØ!Ø +Ø#Ø#1Ø,CØ +Ø#1ð Kó �ð "&°ÑK¸?ÐK‘ð #Ø$ñð &ð�ð ˜dÑ"Ø"×&Ñ& x°Ô7Ø×/Ñ/Ø$/Ø!)Ø!Ø#Ø 'Ø$/Ø'5Ø 'Ø%Ø'5ð 0ó ð ð  ×+Ñ+Ø!)Ø!Ø'5Ø 'Ø$/Ø#Ø'5Ø 'Ø%Ø$/Ø$/Ø'5ð ,ó ð ð ˜_Ñ,°ÀÑ1JÈdÑ1RØ—~‘~Ø +Ø%ØØØ#Ø +Ø#1Ø#Ø!ð &ó 
ð 
ð ×$Ñ$Ø Ø#ð (/Ø.<ñ$ð (3Ø$,Ø/3ñ%ð %ô ô " +¬sÔ3Ü*°sÐD`ÔaÐaà&*×&BÑ&BØ#Ø%Ø +Ø!Ø#1Ø#Øð 'Có '�ô " ,´Ô<Ü*Ø$'Ø Pôð ð
 'X l×&>Ñ&>×&PÑ&P×&WÑ&WÑ&pÐZ^Ñ&pÐhoÒ&p�Ø".×"4Ñ"4Ó"6�Ø.6×.AÑ.AÓ.CÐ$à×%Ñ%Ø Ø#Ø&:à#*Ø'2Ø$,ñ%ð	 &ô 	ô 5×ZÑZÜ$:Ñ$RÐ=QÑ$RØ*8ð [ó ð øô  ò 	ØˆGûÜò 	cÜ!(¨¨M¸3Ó!?ˆKÜ# A y°$Ó7ˆMÜ$+¨A¨z¸4Ó$@ˆNØÐ$©Ü '¨¸	À4Ó H�Ü"¨{ÄCÈÃFÐTaÔbÐbûð	cús8   ‚BG ÂG Â2$G ÃC0G Ç	H3ÇGÇH3ÇAH.È.H3r;   r8   r4   c           	   ƒ   óº  K  — d }	 | j                  ||||d||¬«      }t        |t        «      st        dd¬«      ‚|j	                  |d   |j
                  dd|j
                  › �i|j                  j                  d|d	œ¬
«        |j                  j                  j                  di |¤d|i¤Žƒ d {  –—† }|j                  «       }t        j                  |j                  «       |¬«      S 7 Œ9# t        $ r}|‚d }~wt        $ rT}t!        |dd«      }t!        |dd «      }t!        |dd «      }|€|rt!        |dd «      }t        |t#        |«      |¬«      ‚d }~ww xY w­w)NT©r(   r'   r    r$   rA   r7   r-   rB   ú3azure_client is not an instance of AsyncAzureOpenAIr1   r9   r   r   ©r"   r'   r.   r<   r=   r8   rE   r2   r"   rH   rI   r   )rR   rP   r   r   rO   r    Ú	_base_urlÚ_uri_referencerS   rT   rU   rV   r   rY   rW   rZ   r[   r\   )r   r    r(   r$   r'   r;   r8   r&   r,   r4   r!   r7   r-   rH   r_   r`   rb   r2   rc   rd   s                       r   r.   zAzureTextCompletion.acompletion»   s“  è ø€ ð ˆð+	cð #'×">Ñ">Ø'Ø!ØØØØØ-ð #?ó #ˆLô ˜lÔ,<Ô=Ü&Ø #ØQôð ð × Ñ Ø˜8‘nØ$×,Ñ,à /°7¸<×;OÑ;OÐ:PÐ1QÐRØ ,× 6Ñ 6× EÑ EØ#'Ø+/ñ	!ð !ô 	ð )Z¨×(@Ñ(@×(RÑ(R×(YÑ(YÑ(rÐ\`Ñ(rÐjqÒ(r×"rˆLØ#×)Ñ)Ó+ˆHÜ0×VÑVØ (× 3Ñ 3Ó 5Ø&4ð Wó ð ð #sùô  ò 	ØˆGûÜò 	cÜ!(¨¨M¸3Ó!?ˆKÜ# A y°$Ó7ˆMÜ$+¨A¨z¸4Ó$@ˆNØÐ$©Ü '¨¸	À4Ó H�Ü"¨{ÄCÈÃFÐTaÔbÐbûð	cüsH   ‚E†B+C- Â1C+Â28C- Ã*EÃ+C- Ã-	EÃ6C8Ã8EÄAEÅEÅEc           	      óò  — |j                  dd«      }t        |t        «      st        dd¬«      ‚| j	                  ||||d|	|
¬«      }t        |t
        «      st        dd	¬«      ‚|j                  |d
   |j                  dd|j                  › �i|j                  j                  d|dœ¬«        |j                  j                  j                  di |¤d|i¤Ž}|j                  «       }t        ||d|¬«      }|S )Nr4   r   r0   r@   r1   Frg   rB   rC   r9   r   r   Tri   r=   r8   r5   ©Úcompletion_streamr$   r6   r,   r   )rJ   rP   rQ   r   rR   r   rO   r    rj   rk   rS   rT   rU   rV   r
   )r   r,   r'   r    r(   r;   r$   r8   r!   r7   r-   r4   r_   r`   rH   Ústreamwrappers                   r   rN   zAzureTextCompletion.streamingø   s!  € ð "ŸX™X m°QÓ7ˆÜ˜+¤sÔ+Ü"¨sÐ<XÔYÐYà"×:Ñ:Ø#ØØØØØØ)ð ;ó 
ˆô ˜,¬Ô4Ü"ØØHôð ð 	×ÑØ�x‘.Ø ×(Ñ(à+¨w°|×7KÑ7KÐ6LÐ-MÐNØ(×2Ñ2×AÑAØ#Ø'+ñ	ð 	ô 		
ð P˜l×6Ñ6×HÑH×OÑOÑhÐRVÑhÐ`gÒhˆØ&×,Ñ,Ó.ˆÜ2Ø&ØØ ,Ø#ô	 
ˆð Ðr   c           	   ƒ   ór  K  — 	 | j                  ||||d|	|
¬«      }t        |t        «      st        dd¬«      ‚|j	                  |d   |j
                  dd|j
                  › �i|j                  j                  d|d	œ¬
«        |j                  j                  j                  di |¤d|i¤Žƒ d {  –—† }|j                  «       }t        ||d|¬«      }|S 7 Œ%# t        $ rT}t        |dd«      }t        |dd «      }t        |dd «      }|€|rt        |dd «      }t        |t        |«      |¬«      ‚d }~ww xY w­w)NTrg   rB   rh   r1   r9   r   r   ri   r=   r8   r5   rm   r2   r"   rH   rI   r   )rR   rP   r   r   rO   r    rj   rk   rS   rT   rU   rV   r
   rZ   r[   r\   )r   r,   r'   r    r(   r;   r$   r8   r!   r7   r-   r_   r`   rH   ro   rb   r2   rc   rd   s                      r   rM   z#AzureTextCompletion.async_streaming-  sr  è ø€ ð+	cà"&×">Ñ">Ø'Ø!ØØØØØ-ð #?ó #ˆLô ˜lÔ,<Ô=Ü&Ø #ØQôð ð
 × Ñ Ø˜8‘nØ$×,Ñ,à /°7¸<×;OÑ;OÐ:PÐ1QÐRØ ,× 6Ñ 6× EÑ EØ#'Ø+/ñ	!ð !ô 	ð )Z¨×(@Ñ(@×(RÑ(R×(YÑ(YÑ(rÐ\`Ñ(rÐjqÒ(r×"rˆLØ*×0Ñ0Ó2ˆHä#6Ø"*ØØ$0Ø'ô	$ˆMð !Ð ð #sùô ò 	cÜ!(¨¨M¸3Ó!?ˆKÜ# A y°$Ó7ˆMÜ$+¨A¨z¸4Ó$@ˆNØÐ$©Ü '¨¸	À4Ó H�Ü"¨{ÄCÈÃFÐTaÔbÐbûð	cüs<   ‚D7„B+C Â/CÂ0$C ÃD7ÃC Ã	D4Ã AD/Ä/D4Ä4D7)ÚreturnN)FNN)Ú__name__Ú
__module__Ú__qualname__r   r#   r\   Úlistr   r   ÚLiteLLMLoggingObjÚdictÚobjectÚboolre   r   rQ   r.   rN   rM   Ú__classcell__)r   s   @r   r   r      s[  ø„ õòð6 "Ø#Øñ'[càð[cð ð[cð &ð	[cð
 �t‘ð[cð ð[cð ð[cð ð[cð ˜d™
ð[cð "*¨D¡ð[cð  ð[cð 'ð[cð ˜S &˜[Ñ)ð[cð" ð#[cð$ ˜‘ó%[cðP &*ØØ!ñ;cà�t‘ð;cð ð;cð ð	;cð
 ð;cð ð;cð ð;cð &ð;cð 'ð;cð ð;cð ˜d™
ð;cð ó;cðL &*ØØ!ñ3à&ð3ð ð3ð �t‘ð	3ð
 ð3ð ð3ð ð3ð ð3ð ˜d™
ð3ð ó3ð| &*ØØ!ñ8cà&ð8cð ð8cð �t‘ð	8cð
 ð8cð ð8cð ð8cð ð8cð ˜d™
ð8cð ÷8cr   r   N)Úcollections.abcr   Útypingr   r   Úopenair   r   Ú*litellm.litellm_core_utils.litellm_loggingr   rv   Ú3litellm.litellm_core_utils.prompt_templates.factoryr	   Úlitellm.utilsr
   r   r   Ú openai.completion.transformationr   Úcommon_utilsr   r   r   Ú__annotations__r   r   r   r   ú<module>r„      s>   ðÞ $ß ç 0å SÝ Nß TÑ Tå Jß 9á'AÓ'CÐ ˜uÓ CôUc˜,õ Ucr   