Ë
    uPêjß  ã                   ó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)ÚFinal)Ú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dz  dedz  dededz  de
dz  d	edz  d
efd„Zy)ÚOpenAILikeEmbeddingHandlerc                  ó   — y ©N© )ÚselfÚkwargss     úo/home/oem/CyberBrain26-unified/.venv/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Ð5ð5ùô ×(Ñ(ò Ü%Ø !§
¡
× 6Ñ 6Ø/0¯zªz˜AŸJ™JŸO™Oôð ä?BÀ1»vôð ûô ×)Ñ)ò ZÜ%°#Ð?XÔYÐYÜò GÜ%°#¼sÀ1»vÔ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||¬«      \  }}|}|j                  «       D ��ci c]  \  }}|dvsŒ||“Œ }}}||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 c c}}w # 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   )NÚ )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ÚitemsÚ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   ÚkÚvÚfiltered_optional_paramsr   r5   r>   r?   s                       r   Ú	embeddingz$OpenAILikeEmbeddingHandler.embeddingS   sú  € ð !×6Ñ6ØØØ&ØØ+ð 7ó 
Ñˆ�'ð ˆØ<K×<QÑ<QÓ<S×*k±D°A°qÐWXÐ`jÒWj¨1¨a©4Ð*kÐ Ñ*kØ %°ÑRÐ9QÐRˆð 	×ÑØØØ48ÀhÑOð 	ô 	
ð ˜ÑØ—?‘?ØØØ'Ø-Ø!ØØØØð #ó 
ð 
ð ˆ>œZ¨Ô0@ÔAÜ%¨gÔ6ˆD�Kà ˆDŒKð	CØ"Ÿk™k×.Ñ.ØØÜ—Z‘Z Ó%ð /ó ˆHð ×%Ñ%Ô'à#+§=¡=£?ˆMð 	×ÑØØØ2°DÐ9Ø+ð	 	ô 	
ô ×(Ñ(Ñ9¨=Ñ9Ð9ùóq +løôL ×$Ñ$ò 	Ü!ØŸJ™J×2Ñ2ØŸ
™
Ÿ™ôð ûô ×%Ñ%ò 	VÜ!¨cÐ;TÔUÐUÜò 	CÜ!¨c¼3¸q»6ÔBÐBûð	Cús/   ¯D)¼D)Â,AD/ Ä/F=Å5E7Å7+F=Æ"F8Æ8F=r   )NNNNN)Ú__name__Ú
__module__Ú__qualname__r   ÚlistÚdictr   Úfloatr7   r@   ÚboolrN   r   r   r   r   r      sø   „ òð ñ8àð8ð ð8ð *ð	8ð
 ð8ð ð8ð ð8ð ð8ð 
ó8ðF 48ØØØ'+Ø#ñO:àðO:ð ðO:ð ð	O:ð �t‘ðO:ð ˜‘*ðO:ð ðO:ð *¨DÑ0ðO:ð  ™ðO:ð ˜‘ðO:ð 
ôO: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>rZ      s3   ðó
 Ý ã ã ÷ñ õ
 2ç :ôM: õ M:r   