
    ^h                        S SK r S SKJrJrJrJr  S SKrS SKrS SKJ	r
  S SKJrJrJr  S SKJr  S SKJr  SSKJr  S	\4S
 jr " S S\5      r SS\S\\\4   S\S\R6                  R$                  S\\\\R:                  4      S\
S\S\S\\   S	\S\S\\   4S jjrSSSS\R:                  " S5      S4S\S\S\S\
S\S	\S\S\\\\4      S\\   S\\   S\\   S\\\\R:                  4      S\\\\4      4S jjr g)    N)AnyCallableOptionalUnion)Logging)AsyncHTTPHandlerHTTPHandlerget_async_httpx_client)CohereEmbeddingRequest)EmbeddingResponse   )CohereEmbeddingConfigheadersc                 N    UR                  SSSS.5        U (       a  SU  3US'   U$ )Nzunspecified:litellmzapplication/json)zRequest-Sourceacceptzcontent-typezBearer Authorization)update)api_keyr   s     [/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/cohere/embed/handler.pyvalidate_environmentr      s7    NN3(.	
 %,WI#6 N    c                   (   ^  \ rS rSrU 4S jrSrU =r$ )CohereError    c                    > Xl         X l        [        R                  " SSS9U l        [        R
                  " XR                  S9U l        [        TU ]!  U R                  5        g )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'   CohereError.__init__!   sN    &}}B
 ;ULL	
r   )r!   r    r%   r   )__name__
__module____qualname____firstlineno__r'   __static_attributes____classcell__)r)   s   @r   r   r       s    	
 	
r   r   modeldatainputmodel_responsetimeoutlogging_objoptional_paramsapi_baser   encodingclientc                    #    UR                  UUUU	US.S9  Uc$  [        [        R                  R                  SU0S9n UR                  Xy[        R                  " U5      S9I S h  vN n[        5       R!                  UUUUUU U
US9$  N"! [        R                   a/  nUR                  UUSU0UR                  R                  S9  UeS nAf[         a$  nUR                  UUSU0[        U5      S9  UeS nAff = f7f)	N)complete_input_dictr   r8   r3   r   additional_argsr5   )llm_providerparamsr   r2   r<   )r3   r   r>   original_responser%   r   r6   r2   r4   r1   r9   r3   )pre_callr
   litellmLlmProvidersCOHEREpostjsondumpsr"   HTTPStatusError	post_callr%   text	Exceptionstrr   _transform_response)r1   r2   r3   r4   r5   r6   r7   r8   r   r   r9   r:   r%   es                 r   async_embeddingrR   -   s5      #' 
   ~' --44w'

XTZZPTEUVV* !"66% 7 	 	+ W   2D9jjoo	 	 	
  2D9!!f	 	 	
 sG   =C> 'B 'B
(B ,C>
B C; *C

C;C66C;;C>complete_api_base
aembeddingc                    [        XS9nU=(       d    SnU n U=(       d    [        5       R                  XUS9nU
SL a0  [        U UUUUUUUU	UUUb  [	        U[
        5      (       a  US9$ S S9$ UR                  UU	SU0S9  Ub  [	        U[        5      (       d	  [        SS	9nUR                  X[        R                  " U5      S
9n[        5       R                  UU	UUUU UUS9$ )N)r   zhttps://api.cohere.ai/v1/embed)r1   r3   inference_paramsT)r1   r2   r3   r4   r5   r6   r7   r8   r   r   r9   r:   r<   r=   r   )concurrent_limitrA   rC   )r   r   _transform_requestrR   
isinstancer   rD   r	   rH   rI   rJ   rP   )r1   r3   r4   r6   r7   r   r9   r2   rS   r   rT   r5   r:   	embed_urlr%   s                  r   	embeddingr[   p   s2    #7<G!E%EIE (*==? > D
 T)#+ %*V=M*N*N 
 	
 
 	
( .5   ~Z<<a0{{9DJJt<L{MH "66% 7 	 	r   )N)!rI   typingr   r   r   r   r"   rE   *litellm.litellm_core_utils.litellm_loggingr   LiteLLMLoggingObj&litellm.llms.custom_httpx.http_handlerr   r	   r
   litellm.types.llms.bedrockr   litellm.types.utilsr   transformationr   dictr   rN   r   rO   listutilsfloatTimeoutrR   boolr[    r   r   <module>rj      s    1 1   S 
 > 1 1
4 


) 

2 *.@@
,,
-@ @ MM33	@
 eE5==012@ #@ @ @ c]@ @ @ %&@V ;?'+!!%5:]]45H=ABBB &B #	B
 B B B 5556
7B  }B c]B B eE5==012B U;(889:Br   