Ë
    uPêjû#  ã                   óÐ   — d dl Z d dlmZ d dlmZ d dl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mZ dd	lmZ d
ededededededeej0                  z  dz  fd„Z G d„ d«      Zy)é    N)ÚCallable)Úpartial)ÚFinal)ÚLogging)ÚAsyncHTTPHandlerÚget_async_httpx_client)ÚCustomStreamWrapperÚModelResponseé   )ÚPredibaseErrorÚclientÚapi_baseÚheadersÚdataÚmodelÚmessagesÚtimeoutc              ƒ   óü   K  — | j                  |||d|¬«      ƒ d {  –—† }|j                  dk7  r!t        |j                  |j                  ¬«      ‚|j	                  «       }	|j                  |d|	d|i¬«       |	S 7 Œ]­w)NT©r   r   Ústreamr   éÈ   ©Ústatus_codeÚmessageÚ Úcomplete_input_dict)ÚinputÚapi_keyÚoriginal_responseÚadditional_args)Úpostr   r   ÚtextÚaiter_linesÚ	post_call)
r   r   r   r   r   r   Úlogging_objr   ÚresponseÚcompletion_streams
             úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/predibase/chat/handler.pyÚ	make_callr)      s‹   è ø€ ð #ŸK™K¨¸'ÈÐUYÐcj˜KÓk×k€Hà×Ñ˜sÒ"Ü¨×)=Ñ)=ÀxÇ}Á}ÔUÐUà'×3Ñ3Ó5Ðà×ÑØØØ+Ø.°Ð5ð	 ô ð Ðð lús   ‚A<œA:�AA<c                   ó.  ‡ — e Zd Zdˆ fd„Zddi fdededededed	ed
ede	dededede
ej                  z  dedeez  fd„Zddi dfdedededed	ededede
ej                  z  defd„Zdddi fdedededed	ede	dede
ej                  z  defd„Zd„ Zˆ xZS )ÚPredibaseChatCompletionÚreturnNc                 ó"   •— t         ‰| �  «        y ©N)ÚsuperÚ__init__)ÚselfÚ	__class__s    €r(   r0   z PredibaseChatCompletion.__init__2   s   ø€ Ü‰ÑÕó    r   r   r   Úcustom_prompt_dictÚmodel_responseÚprint_verboser   r%   Úoptional_paramsÚlitellm_paramsÚ	tenant_idr   r   c                 ó(  — t        j                  «       }|j                  ||||
||¬«      }i |
¥}|j                  dd«      }i |¥||dœ¥}|j	                  ||||||¬«      }|j                  |||||¬«      }|	j                  |j                  dd«      |||||d	œ¬
«       |du rD|du r| j                  |||||||||	|||||¬«      S | j                  |||||||||	|d|||||¬«      S |du rVt         j                  j                  ||t        j                  |«      ||¬«      }t        |j                  «       |d|	¬«      }|S t         j                  j                  ||t        j                  |«      |¬«      }|j                  ||||	||||||¬«
      S )N)r   r   r   r7   r   r8   r   F)r4   Úpredibase_tenant_id)r   r   r   r7   r8   r   )r   r   r7   r8   r   Úinputsr   )r   r   r   Úacompletion)r   r   r    T)r   r   r   r   r5   r6   Úencodingr   r%   r7   r8   Ú	logger_fnr   r   )r   r   r   r   r5   r6   r>   r   r%   r7   r   r8   r?   r   r   Úpredibase_configr   Ú	predibase)Úcustom_llm_providerr%   )Úurlr   r   r   )
r   Úraw_responser5   r%   r7   r   Úrequest_datar   r8   r>   )ÚlitellmÚPredibaseConfigÚvalidate_environmentÚgetÚget_complete_urlÚtransform_requestÚpre_callÚasync_streamingÚasync_completionÚmodule_level_clientr!   ÚjsonÚdumpsr	   Ú
iter_linesÚtransform_response)r1   r   r   r   r4   r5   r6   r>   r   r%   r7   r8   r9   r   r=   r?   r   r@   Úrequest_optional_paramsr   Úrequest_litellm_paramsÚcompletion_urlr   r&   Ú	_responses                            r(   Ú
completionz"PredibaseChatCompletion.completion5   sg  € ô& #*×"9Ñ"9Ó";ÐØ"×7Ñ7ØØØØ+ØØ)ð 8ó 
ˆð *=¨OÐ)<ÐØ/×3Ñ3°H¸eÓDˆð)
Øð)
à"4Ø#,ò)
Ðð
 !1× AÑ AØØØØ3Ø1Øð !Bó !
ˆð '×8Ñ8ØØØ3Ø1Øð 9ó 
ˆð 	×ÑØ—(‘(˜8 RÓ(Øà'+Ø"Ø*Ø*ñ	ð 	ô 		
ð ˜$Ñà˜‰~Ø×+Ñ+ØØ%ØØ+Ø#1Ø"/Ø%Ø#Ø +Ø$;Ø#9Ø'Ø#Ø#ð ,ó ð ð$ ×,Ñ,ØØ%ØØ+Ø#1Ø"/Ø%Ø#Ø +Ø$;Ø Ø#9Ø'Ø#Ø#Ø%5ð! -ó ð ð( �T‰>Ü×2Ñ2×7Ñ7ØØÜ—Z‘Z Ó%ØØð 8ó ˆHô  3Ø×#Ñ#Ó%ØØ$/Ø'ô	 ˆIð Ðô ×2Ñ2×7Ñ7Ø"ØÜ—Z‘Z Ó%Øð	 8ó ˆHð  ×2Ñ2ØØ!Ø)Ø#Ø3ØØØØ1Øð 3ó 
ð 	
r3   r   c              ƒ   ót  K  — |€t        j                  «       }t        t         j                  j                  d|i¬«      }	 |j                  ||t        j                  |
«      ¬«      ƒ d {  –—† }|j#                  ||||||
|||xs i |¬«
      S 7 Œ## t        j                  $ rT}t        |j                  j                  d|j                  j                  › d|j                  j                  › �¬«      ‚d }~wt        $ r6}t         j                  D ]  }t!        ||«      sŒ|‚ t        d|› ¬«      ‚d }~ww xY w­w)	Nr   )Úllm_providerÚparams)r   r   z'HTTPStatusError - received status_code=z, error_message=r   iô  )
r   rD   r5   r%   r   rE   r   r7   r8   r>   )rF   rG   r   ÚLlmProvidersÚ	PREDIBASEr!   rP   rQ   ÚhttpxÚHTTPStatusErrorr   r&   r   r"   Ú	ExceptionÚLITELLM_EXCEPTION_TYPESÚ
isinstancerS   )r1   r   r   r   r5   r6   r>   r   r%   r   r   r7   r   r8   r?   r   r@   Úasync_handlerr&   ÚeÚ	exceptions                        r(   rN   z(PredibaseChatCompletion.async_completionÁ   sK  è ø€ ð& Ð#Ü&×6Ñ6Ó8ÐÜ5Ü ×-Ñ-×7Ñ7Ø˜wÐ'ô 
ˆð	Ø$1×$6Ñ$6°xÈÔW[×WaÑWaÐbfÓWgÐ$6Ó$h×hˆHð  ×2Ñ2ØØ!Ø)Ø#ØØØØ+Ø)Ò/¨RØð 3ó 
ð 	
ð iùÜ×$Ñ$ò 	Ü ØŸJ™J×2Ñ2ØAÀ!Ç*Á*×BXÑBXÐAYÐYiÐjk×jtÑjt×jyÑjyÐizÐ{ôð ûô ò 	Ü$×<Ñ<ò �	Ü˜a Õ+Ø�Gðô !Ø¨A¨3ôð ûð		üsN   ‚>D8Á*B Á+BÁ,B Á0D8ÂB ÂD5Â$AC3Ã3D5Ã?D0ÄD0Ä0D5Ä5D8c              ƒ   óˆ   K  — d|	d<   t        d t        t        ||t        j                  |	«      ||||
¬«      |d|¬«      }|S ­w)NTr   )r   r   r   r   r   r%   r   rA   )r'   r)   r   rB   r%   )r	   r   r)   rP   rQ   )r1   r   r   r   r5   r6   r>   r   r%   r   r   r7   r8   r?   r   Ústreamwrappers                   r(   rM   z'PredibaseChatCompletion.async_streamingõ   sZ   è ø€ ð" ˆˆX‰ä2Ø"ÜÜØ!ØÜ—Z‘Z Ó%ØØ!Ø'Øô	ð Ø +Ø#ô 
ˆð  Ðùs   ‚A Ac                  ó   — y r.   © )r1   ÚargsÚkwargss      r(   Ú	embeddingz!PredibaseChatCompletion.embedding  s   € Ør3   )r,   N)Ú__name__Ú
__module__Ú__qualname__r0   ÚstrÚlistÚdictr
   r   ÚLiteLLMLoggingObjÚfloatr^   ÚTimeoutr	   rX   rN   rM   rl   Ú__classcell__)r2   s   @r(   r+   r+   1   s°  ø„ õð$ ØØñ#J
àðJ
ð ðJ
ð ð	J
ð
 !ðJ
ð &ðJ
ð  ðJ
ð ðJ
ð 'ðJ
ð ðJ
ð ðJ
ð ðJ
ð ˜Ÿ™Ñ&ðJ
ð" ð#J
ð$ 
Ð,Ñ	,ó%J
ðt ØØØñ#2
àð2
ð ð2
ð ð	2
ð
 &ð2
ð  ð2
ð ð2
ð ð2
ð ˜Ÿ™Ñ&ð2
ð$ 
ó%2
ð@ ØØØñ#àð#ð ð#ð ð	#ð
 &ð#ð  ð#ð 'ð#ð ð#ð ˜Ÿ™Ñ&ð#ð  
ó!#öJr3   r+   )rP   Úcollections.abcr   Ú	functoolsr   Útypingr   r^   rF   Ú*litellm.litellm_core_utils.litellm_loggingr   rs   Ú&litellm.llms.custom_httpx.http_handlerr   r   Úlitellm.utilsr	   r
   Úcommon_utilsr   rp   rr   rq   rt   ru   r)   r+   ri   r3   r(   ú<module>r~      sŠ   ðó Ý $Ý Ý ã ã Ý S÷÷ =å )ðØðàðð ðð ð	ð
 ðð ðð �U—]‘]Ñ" TÑ)ó÷6jò jr3   