
    hG                     n    d dl Z d dlmZ d dlZd dlZd dlmZmZmZ d dl	m
Z
 ddlmZmZ  G d de      Zy)	    N)Optional)AsyncHTTPHandlerHTTPHandlerget_async_httpx_client)EmbeddingResponse   )OpenAILikeBaseOpenAILikeErrorc                       e Zd Zd Z	 ddedededededed	ed
efdZ		 	 	 	 	 ddededede
e   de
e   dede
e   de
e   d	e
e   d
efdZy)OpenAILikeEmbeddingHandlerc                      y N )selfkwargss     f/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/openai_like/embedding/handler.py__init__z#OpenAILikeEmbeddingHandler.__init__   s        Ninputdatamodel_responsetimeoutapi_keyapi_baseheadersreturnc
                 *  K   d }
	 |	t        |	t              s(t        t        j                  j
                  d|i      }n|	}	 |j                  ||t        j                  |             d {   }
|
j                          |
j                         }|j'                  ||d|i|	       t)        di |S 7 F# t        j                  $ rV}t        |j                  j                  |j                  r|j                  j                        t!        |            d }~wt        j"                  $ r t        dd      t$        $ r}t        dt!        |            d }~ww xY w# t$        $ r$}|j'                  ||t!        |      
       |d }~ww xY ww)Nr   )llm_providerparamsr   r   status_codemessage  Timeout error occurred.  complete_input_dictr   r   additional_argsoriginal_response)r   r   r*   r   )
isinstancer   r   litellmLlmProvidersOPENAIpostjsondumpsraise_for_statushttpxHTTPStatusErrorr
   responser"   textstrTimeoutException	Exception	post_callr   )r   r   r   r   r   r   r   logging_objr   clientr5   async_clientresponse_jsones                 r   
aembeddingz%OpenAILikeEmbeddingHandler.aembedding   s     -	~Z8H%I5!(!5!5!<!<%w/ 
  &G!-!2!2#D) "3 "  ))+ ( !!!6 ="/	 "  %5}559 (( % !

 6 6/0zzAJJOO ?B1v  )) % #-F   G%#s1vFFG  	!!"%a& " 
 G	sk   F<E# *B6 -B4.$B6 !E# 3F4B6 6E 	AD+E EE  E# #	F,FFFmodeloptional_paramscustom_endpointc                 $   | j                  ||d||      \  }}|}||d|}|j                  ||||d       |
du r| j                  ||||||||	|	      S |	t        |	t              rt        |      | _        n|	| _        	 | j                  j                  ||t        j                  |      	      }|j                          |j                         }|j)                  ||d|i|       t+        j,                  di |S # t        j                  $ r:}t        |j                  j                  |j                  j                   
      d }~wt        j"                  $ r t        dd
      t$        $ r}t        dt'        |      
      d }~ww xY w)N
embeddings)r   r   endpoint_typer   rC   )rA   r   )r'   r   )r   r   r)   T)	r   r   r;   r   r   r   r   r<   r   )r   r    r!   r$   r%   r&   r'   r(   r   )_validate_environmentpre_callr@   r+   r   r   r<   r/   r0   r1   r2   r3   r4   r
   r5   r"   r6   r8   r9   r7   r:   r,   r   )r   rA   r   r   r;   r   r   rB   r   r<   r@   rC   r   r   r5   r>   r?   s                    r   	embeddingz$OpenAILikeEmbeddingHandler.embeddingU   s    !66&+ 7 
' B/B 	48hO 	 	
 ??E{cq  }E  OV  `g  pv  @G?  H  H>Z0@A%g6DK DK	C{{''ZZ% ( H %%'$MMOM 	2D9+	 	 	
 ((9=99% $$ 	!JJ22

  %% 	V!c;TUU 	C!c3q6BB	Cs%   AD F5E		+F4F

Fr   )NNNNN)__name__
__module____qualname__r   listdictr   floatr7   r@   r   boolrI   r   r   r   r   r      s     :: : *	:
 : : : : 
:J 7;*."&D:D: D: 	D: #D: 3-D: D: !!23D: "$D: $D: 
D:r   r   )r0   typingr   r3   r,   &litellm.llms.custom_httpx.http_handlerr   r   r   litellm.types.utilsr   common_utilsr	   r
   r   r   r   r   <module>rU      s3   
     
 2 :D: D:r   