Ë
    uPêj²  ã                   óÚ   — d Z ddlmZmZmZmZ ddlmZmZm	Z	 ddl
Z
ddlmZmZ ddlmZ ddlmZmZmZ dd	lmZ erdd
lmZ ddlmZ  G d„ de«      Z G d„ de«      Zdededz  defd„Zy)z:
- completion
- acompletion
- streaming
- async_streaming
é    )ÚAsyncIteratorÚCallableÚ	CoroutineÚIterator)ÚTYPE_CHECKINGÚAnyÚUnionN)ÚAsyncHTTPHandlerÚHTTPHandler)ÚGenericStreamingChunk)ÚEmbeddingResponseÚImageResponseÚModelResponseé   )ÚBaseLLM)ÚCustomStreamWrapper)ÚLoggingc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCustomLLMErrorc                 óT   •— || _         || _        t        ‰| �  | j                  «       y ©N)Ústatus_codeÚmessageÚsuperÚ__init__)Úselfr   r   Ú	__class__s      €ú\/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/custom_llm.pyr   zCustomLLMError.__init__    s%   ø€ ð
 'ˆÔØˆŒÜ‰Ñ˜Ÿ™Õ&ó    )Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__©r   s   @r   r   r      s   ø„ ÷'ð 'r   r   c                   ól  ‡ — e Zd Zdˆ fd„Zdddi ddfdededededed	ed
ede	e
j                  z  dz  dedz  deedf   fd„Zdddi ddfdededededed	ed
ede	e
j                  z  dz  dedz  dee   fd„Zdddi ddfdededededed	ed
ede	e
j                  z  dz  dedz  deeeeedf   f   eedf   z  fd„Zdddi ddfdededededed	ed
ede	e
j                  z  dz  dedz  dee   fd„Z	 	 ddedededz  dedz  ded
eddde	e
j                  z  dz  dedz  defd„Z	 	 ddededededz  dedz  d
eddde	e
j                  z  dz  dedz  defd„Z	 	 	 	 d dededed	eddd
ededz  dedz  de	e
j                  z  dz  defd„Z	 	 	 	 d dededed	eddd
ededz  dedz  de	e
j                  z  dz  defd„Z	 	 ddedededz  dededz  dedz  d
eddde	e
j                  z  dz  dedz  defd„Z	 	 ddedededz  dededz  dedz  d
eddde	e
j                  z  dz  dedz  defd„Zˆ xZ S )!Ú	CustomLLMÚreturnNc                 ó"   •— t         ‰| �  «        y r   )r   r   )r   r   s    €r   r   zCustomLLM.__init__+   s   ø€ Ü‰ÑÕr   ÚmodelÚmessagesÚapi_baseÚcustom_prompt_dictÚmodel_responseÚprint_verboseÚoptional_paramsÚtimeoutÚclientr   c                 ó   — t        dd¬«      ‚©Niô  zNot implemented yet!)r   r   ©r   ©r   r)   r*   r+   r,   r-   r.   ÚencodingÚapi_keyÚlogging_objr/   ÚacompletionÚlitellm_paramsÚ	logger_fnÚheadersr0   r1   s                    r   Ú
completionzCustomLLM.completion.   ó   € ô& ¨Ð6LÔMÐMr   c                 ó   — t        dd¬«      ‚r3   r4   r5   s                    r   Ú	streamingzCustomLLM.streamingC   r>   r   c              ƒ   ó$   K  — t        dd¬«      ‚­wr3   r4   r5   s                    r   r9   zCustomLLM.acompletionX   ó   è ø€ ô& ¨Ð6LÔMÐMùó   ‚c              ƒ   ó$   K  — t        dd¬«      ‚­wr3   r4   r5   s                    r   Ú
astreamingzCustomLLM.astreamingm   rB   rC   Úpromptr7   r8   ÚLiteLLMLoggingObjc
                 ó   — t        dd¬«      ‚r3   r4   )
r   r)   rF   r7   r+   r-   r/   r8   r0   r1   s
             r   Úimage_generationzCustomLLM.image_generation‚   s   € ô ¨Ð6LÔMÐMr   c
              ƒ   ó$   K  — t        dd¬«      ‚­wr3   r4   )
r   r)   rF   r-   r7   r+   r/   r8   r0   r1   s
             r   Úaimage_generationzCustomLLM.aimage_generation�   s   è ø€ ô ¨Ð6LÔMÐMùrC   Úinputc                 ó   — t        dd¬«      ‚r3   r4   ©r   r)   rL   r-   r.   r8   r/   r7   r+   r0   r:   s              r   Ú	embeddingzCustomLLM.embeddingž   ó   € ô ¨Ð6LÔMÐMr   c              ƒ   ó$   K  — t        dd¬«      ‚­wr3   r4   rN   s              r   Ú
aembeddingzCustomLLM.aembedding­   ó   è ø€ ô ¨Ð6LÔMÐMùrC   Úimagec                 ó   — t        dd¬«      ‚r3   r4   ©r   r)   rT   rF   r-   r7   r+   r/   r8   r0   r1   s              r   Ú
image_editzCustomLLM.image_edit¼   rP   r   c              ƒ   ó$   K  — t        dd¬«      ‚­wr3   r4   rV   s              r   Úaimage_editzCustomLLM.aimage_editË   rS   rC   )r'   N)NN)NNNN)!r    r!   r"   r   ÚstrÚlistÚdictr   r   ÚfloatÚhttpxÚTimeoutr   r	   r=   r   r   r@   r
   r   r   r9   r   rE   r   rI   rK   r   rO   rR   rW   rY   r#   r$   s   @r   r&   r&   *   sL  ø„ õð ØØØØ04Ø%)ñ#NàðNð ðNð ð	Nð
 !ðNð &ðNð  ðNð ðNð  ˜Ÿ™Ñ&¨Ñ-ð!Nð" ˜dÑ"ð#Nð$ 
ˆ}Ð3Ð3Ñ	4ó%NðB ØØØØ04Ø%)ñ#NàðNð ðNð ð	Nð
 !ðNð &ðNð  ðNð ðNð  ˜Ÿ™Ñ&¨Ñ-ð!Nð" ˜dÑ"ð#Nð$ 
Ð'Ñ	(ó%NðB ØØØØ04Ø*.ñ#NàðNð ðNð ð	Nð
 !ðNð &ðNð  ðNð ðNð  ˜Ÿ™Ñ&¨Ñ-ð!Nð" ! 4Ñ'ð#Nð$ 
�3˜˜U =Ð2GÐ#GÑHÐHÑ	IÈEÐR_ÐavÐRvÑLwÑ	wó%NðB ØØØØ04Ø*.ñ#NàðNð ðNð ð	Nð
 !ðNð &ðNð  ðNð ðNð  ˜Ÿ™Ñ&¨Ñ-ð!Nð" ! 4Ñ'ð#Nð$ 
Ð,Ñ	-ó%Nð< 15Ø%)ñNàðNð ðNð �t‘ð	Nð
 ˜‘*ðNð &ðNð ðNð )ðNð ˜Ÿ™Ñ&¨Ñ-ðNð ˜dÑ"ðNð 
óNð. 15Ø*.ñNàðNð ðNð &ð	Nð
 �t‘ðNð ˜‘*ðNð ðNð )ðNð ˜Ÿ™Ñ&¨Ñ-ðNð ! 4Ñ'ðNð 
óNð, #Ø#Ø04ØñNàðNð ðNð *ð	Nð
  ðNð )ðNð ðNð �t‘ðNð ˜‘*ðNð ˜Ÿ™Ñ&¨Ñ-ðNð 
óNð. #Ø#Ø04ØñNàðNð ðNð *ð	Nð
  ðNð )ðNð ðNð �t‘ðNð ˜‘*ðNð ˜Ÿ™Ñ&¨Ñ-ðNð 
óNð2 15Ø%)ñNàðNð ðNð �d‘
ð	Nð
 &ðNð �t‘ðNð ˜‘*ðNð ðNð )ðNð ˜Ÿ™Ñ&¨Ñ-ðNð ˜dÑ"ðNð 
óNð2 15Ø*.ñNàðNð ðNð �d‘
ð	Nð
 &ðNð �t‘ðNð ˜‘*ðNð ðNð )ðNð ˜Ÿ™Ñ&¨Ñ-ðNð ! 4Ñ'ðNð 
÷Nr   r&   Úasync_fnÚstreamÚ
custom_llmc                 ón   — | r|r|j                   S |j                  S |r|j                  S |j                  S )z�
    Routes call to CustomLLM completion/acompletion/streaming/astreaming functions, based on call type

    Validates if response is in expected format
    )rE   r9   r@   r=   )r`   ra   rb   s      r   Úcustom_chat_llm_routerrd   Û   s=   € ñ ÙØ×(Ñ(Ð(Ø×%Ñ%Ð%ÙØ×#Ñ#Ð#Ø× Ñ Ð r   ) Ú__doc__Úcollections.abcr   r   r   r   Útypingr   r   r	   r^   Ú&litellm.llms.custom_httpx.http_handlerr
   r   Úlitellm.types.utilsr   Úlitellm.utilsr   r   r   Úbaser   Úlitellmr   Ú*litellm.litellm_core_utils.litellm_loggingr   rG   Ú	Exceptionr   r&   Úboolrd   © r   r   ú<module>rq      su   ðñ÷ IÓ H÷ñ ó ç PÝ 5ß IÑ Iå áÝ+ÝWô'�Yô 'ônN�ô nNðb! Tð !°4¸$±;ð !ÈIô !r   