
    ^h                     n    S SK JrJrJr  S SKrS SKJrJr  S SKJ	r	J
r
  S SKJr  SSKJr   " S S	\	5      rg)
    )ListOptionalUnionN)AllMessageValuesBaseLLMException)BaseEmbeddingConfigLiteLLMLoggingObj)EmbeddingResponse   TritonErrorc                      \ rS rSrSrSS jrS\S\4S jrS\	S	\	S\S
\
S\	4
S jr S S\	S\S\\   S	\	S\\   S\	4S jjrS\S\\\\   \\   \\\      4   S	\	S\	S\	4
S jrS0 0 0 4S\S\R(                  S\S\S\\   S\	S	\	S\	S\4S jjrS\S\S\\	\R2                  4   S\4S jr\S\\   S\\   S\\\      4S j5       rSrg)!TritonEmbeddingConfig   zJ
Transformations for triton /embeddings endpoint (This is a trtllm model)
returnNc                     g N )selfs    f/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/triton/embedding/transformation.py__init__TritonEmbeddingConfig.__init__   s        modelc                     / $ r   r   )r   r   s     r   get_supported_openai_params1TritonEmbeddingConfig.get_supported_openai_params   s    	r   non_default_paramsoptional_paramsdrop_paramsc                     U$ )z.
Map OpenAI params to Triton Embedding params
r   )r   r   r   r   r    s        r   map_openai_params'TritonEmbeddingConfig.map_openai_params   s
     r   headersmessagesapi_keyc                     0 $ r   r   )r   r$   r   r%   r   r&   s         r   validate_environment*TritonEmbeddingConfig.validate_environment&   s	     	r   inputc                 *    SS[        U5      /SUS./0$ )Ninputs
input_textBYTES)nameshapedatatypedata)len)r   r   r*   r   r$   s        r   transform_embedding_request1TritonEmbeddingConfig.transform_embedding_request0   s-     (!%j\ '!		
 		
r   raw_responsemodel_responselogging_objrequest_datalitellm_paramsc	                 d    UR                  5       n	/ n
U	S   nU HH  nUS   nUS   nU R                  X5      n[        U5       H  u  nnU
R                  SUUS.5        M     MJ     U	R                  SS5      Ul	        Xl
        U$ ! [         a    [        UR                  UR                  S9ef = f)	N)messagestatus_codeoutputsr0   r2   	embedding)objectindexr?   
model_nameNone)json	Exceptionr   textr=   split_embedding_by_shape	enumerateappendgetr   r2   )r   r   r6   r7   r8   r&   r9   r   r:   raw_response_json_embedding_output_outputsoutput_shape_data_split_output_dataidxr?   s                     r   transform_embedding_response2TritonEmbeddingConfig.transform_embedding_responseB   s    	 , 1 1 3 $Y/FG_F6NE!%!>!>u!M"+,>"?Y!(("-!$%. #@   144\6J/1  	$))|7O7O 	s   B )B/error_messager=   c                     [        XUS9$ )N)r<   r=   r$   r   )r   rU   r=   r$   s       r   get_error_class%TritonEmbeddingConfig.get_error_classi   s     !G
 	
r   r2   r0   c                     [        U5      S:w  a  [        S5      eUS   n[        US   5       Vs/ s H  o0X2-  US-   U-   PM     sn$ s  snf )Nr   zShape must be of length 2.   r   )r3   
ValueErrorrange)r2   r0   embedding_sizeis       r   rG   .TritonEmbeddingConfig.split_embedding_by_shapep   s_     u:?9::qINuUVx
IXA#q1u&>?
 	
 
s   A	r   )r   Nr   )__name__
__module____qualname____firstlineno____doc__r   strlistr   dictboolr"   r   r   r   r(   r   floatr4   httpxResponser
   r	   rS   intHeadersr   rW   staticmethodrG   __static_attributes__r   r   r   r   r      s     
 
 
 	

 
 

$ "&  '(	
  # 


 S$s)T%[$tE{2CCD
 	

 
 

0 "& "!%% nn% *	%
 '% #% % % % 
%N
 
/2
=B4CV=W
	
 
5k
"&s)
	d5k	
 
r   r   )typingr   r   r   rj   )litellm.llms.base_llm.chat.transformationr   r   .litellm.llms.base_llm.embedding.transformationr   r	   litellm.types.utilsr
   common_utilsr   r   r   r   r   <module>ru      s-    ( (  X 2 &j
/ j
r   