Ë
    uPêjª  ã                   óì  — d Z ddlZddlmZm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mZ ddlmZ dd	lmZ erddlZd
efd„Z G d„ de«      Z	 ddedeez  dedej6                  j"                  deej:                  z  dz  de	dedededz  d
edddedz  fd„Zdddd ej:                  d«      dfdededede	ded
edddeez  dz  dedz  dedz  dedz  deej:                  z  dz  deez  dz  fd„Z y)z2
Legacy /v1/embedding handler for Bedrock Cohere.
é    N)ÚTYPE_CHECKINGÚFinal)ÚLogging)ÚAsyncHTTPHandlerÚHTTPHandlerÚget_async_httpx_client)ÚCohereEmbeddingRequest)ÚEmbeddingResponseé   )ÚCohereEmbeddingConfigÚheadersc                 óž   — |D �ci c]  }|j                  «       |“Œ }}d|vrd|d<   d|vrd|d<   d|vrd|d<   | rd|vrd| › �|d	<   |S c c}w )
Nzrequest-sourcezunspecified:litellmzRequest-SourceÚacceptzapplication/jsonzcontent-typeÚauthorizationzBearer ÚAuthorization)Úlower)Úapi_keyr   ÚkÚexisting_keys_lowers       úf/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/cohere/embed/handler.pyÚvalidate_environmentr      s†   € ð 9@Ö!@°1 !§'¡'£)¨Q¡,Ð!@ÐÐ!@ð Ð2Ñ2Ø$9ˆÐ Ñ!ØÐ*Ñ*Ø.ˆ�ÑØÐ0Ñ0Ø"4ˆ�ÑÙ�?Ð*=Ñ=Ø%,¨W¨IÐ#6ˆ�Ñ Ø€Nùò "As   …A
c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCohereErrorc                 óØ   •— || _         || _        t        j                  dd¬«      | _        t        j
                  || j                  ¬«      | _        t        ‰| �!  | j                  «       y )NÚPOSTz!https://api.cohere.ai/v1/generate)ÚmethodÚurl)Ústatus_codeÚrequest)	r   ÚmessageÚhttpxÚRequestr   ÚResponseÚresponseÚsuperÚ__init__)Úselfr   r    Ú	__class__s      €r   r&   zCohereError.__init__,   sL   ø€ Ø&ˆÔØˆŒÜ—}‘}¨FÐ8[Ô\ˆŒÜŸ™°;ÈÏÉÔUˆŒÜ‰Ñ˜Ÿ™Õ&ó    )Ú__name__Ú
__module__Ú__qualname__r&   Ú__classcell__)r(   s   @r   r   r   +   s   ø„ ÷'ð 'r)   r   ÚmodelÚdataÚinputÚmodel_responseÚtimeoutÚlogging_objÚoptional_paramsÚapi_baser   Úencodingztiktoken.Encoding | NoneÚclientc           
   ƒ   ó  K  — |j                  ||||	|dœ¬«       |€'t        t        j                  j                  d|i¬«      }	 |j                  ||	t        j                  |«      ¬«      ƒ d {  –—† }t        «       j!                  |||||| |
|¬«      S 7 Œ%# t        j                  $ r2}|j                  ||d|i|j                  j                  ¬«       |‚d }~wt        $ r'}|j                  ||d|it        |«      ¬«       |‚d }~ww xY w­w)	N)Úcomplete_input_dictr   r5   ©r0   r   Úadditional_argsr2   )Úllm_providerÚparams©r   r/   r9   )r0   r   r;   Úoriginal_response©r$   r   r3   r/   r1   r.   r6   r0   )Úpre_callr   ÚlitellmÚLlmProvidersÚCOHEREÚpostÚjsonÚdumpsr!   ÚHTTPStatusErrorÚ	post_callr$   ÚtextÚ	ExceptionÚstrr   Ú_transform_response)r.   r/   r0   r1   r2   r3   r4   r5   r   r   r6   r7   r$   Úes                 r   Úasync_embeddingrO   4   s8  è ø€ ð ×ÑØØà#'ØØ ñ
ð ô ð €~Ü'Ü ×-Ñ-×4Ñ4Ø˜wÐ'ô
ˆð
Ø &§¡¨H¸gÌDÏJÉJÐW[ÓL\ Ó ]×]ˆô* !Ó"×6Ñ6ØØØØØ%ØØØð 7ó 	ð 	ð+ ^ùÜ× Ñ ò à×ÑØØØ2°DÐ9ØŸj™jŸo™oð	 	ô 	
ð ˆûÜò à×ÑØØØ2°DÐ9Ü! !›fð	 	ô 	
ð ˆûðüsH   ‚ADÁ*B Á/BÁ0B Á4!DÂB ÂD
Â*-CÃD
Ã#"DÄD
Ä
DÚcomplete_api_baseÚ
aembeddingc                 óÌ  — t        |	|¬«      }|xs d}| } |xs t        «       j                  | ||¬«      }|
du r0t        | ||||||||	|||�t	        |t
        «      r|¬«      S d ¬«      S |j                  ||	d|i¬«       |�t	        |t        «      st        d¬	«      }|j                  ||t        j                  |«      ¬
«      }t        «       j                  ||	|||| ||¬«      S )N)r   zhttps://api.cohere.ai/v1/embed)r.   r0   Úinference_paramsT)r.   r/   r0   r1   r2   r3   r4   r5   r   r   r6   r7   r9   r:   r   )Úconcurrent_limitr>   r@   )r   r   Ú_transform_requestrO   Ú
isinstancer   rA   r   rE   rF   rG   rM   )r.   r0   r1   r3   r4   r   r6   r/   rP   r   rQ   r2   r7   Ú	embed_urlr$   s                  r   Ú	embeddingrX   v   s/  € ô # 7°GÔ<€GØ(ÒLÐ,L€IØ€Eàò Ô(Ó*×=Ñ=Ø˜5°?ð >ó €Dð
 �TÑÜØØØØ)ØØ#Ø+ØØØØØ$Ð0´ZÀÔHXÔ5Y�Fô
ð 	
ð `dô
ð 	
ð  ×ÑØØØ.°Ð5ð ô ð €~œZ¨´Ô<Ü¨aÔ0ˆà—k‘k )°WÄ4Ç:Á:ÈdÓCS�kÓT€Hä Ó"×6Ñ6ØØØØØ%ØØØð 7ó 	ð 	r)   )N)!Ú__doc__rF   Útypingr   r   r!   rB   Ú*litellm.litellm_core_utils.litellm_loggingr   ÚLiteLLMLoggingObjÚ&litellm.llms.custom_httpx.http_handlerr   r   r   Úlitellm.types.llms.bedrockr	   Úlitellm.types.utilsr
   Úv1_transformationr   ÚtiktokenÚdictr   rK   r   rL   ÚlistÚutilsÚfloatÚTimeoutrO   ÚboolrX   © r)   r   ú<module>ri      sÆ  ðñó ß 'ã ã Ý S÷ñ õ
 >Ý 1å 4áÛð¨4ó ô"'�)ô 'ð* '+ñ?Øð?à
Ð'Ñ
'ð?ð ð?ð —M‘M×3Ñ3ð	?ð
 �U—]‘]Ñ" TÑ)ð?ð #ð?ð ð?ð ð?ð �4‰Zð?ð ð?ð )ð?ð ˜tÑ#ó?ðT 26Ø$(ØØ"Ø,9¨E¯M©M¸$Ó,?Ø48ñ>Øð>àð>ð &ð>ð #ð	>ð
 ð>ð ð>ð )ð>ð Ð'Ñ
'¨$Ñ
.ð>ð ˜T‘zð>ð �4‰Zð>ð �t‘ð>ð �U—]‘]Ñ" TÑ)ð>ð Ð*Ñ*¨TÑ1ô>r)   