
    g                     |    d dl Z d dlZd dlmZ d dlZd dlmZmZ  G d de      Z	d Z
	 	 ddeded	ed
edef
dZd Zy)    N)Callable)ModelResponseUsagec                        e Zd Z fdZ xZS )BasetenErrorc                 T    || _         || _        t        |   | j                         y N)status_codemessagesuper__init__)selfr
   r   	__class__s      I/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/baseten.pyr   zBasetenError.__init__
   s&    &LL	
    )__name__
__module____qualname__r   __classcell__)r   s   @r   r   r   	   s    
 
r   r   c                 $    ddd}| rd|  |d<   |S )Nzapplication/json)acceptzcontent-typezApi-Key Authorization )api_keyheaderss     r   validate_environmentr      s*    $*G %-gY#7 Nr   modelmessagesmodel_responseprint_verboseoptional_paramsc
                    t        |      }
d}d}| } d}|D ]+  }d|v r|d   dk(  r
||d    z  }||d    z  }#||d    z  }- |||d|v r	|d   du rdnd	d
}|j                  ||d|i       t        j                  j	                  || z   |z   |
t        j                  |      d|v r	|d   du rdnd	      }d|j                  d   v sd|v r|d   du r|j                         S |j                  |||j                  d|i        |d|j                          |j                         }d|v rt        |d   |j                        d|v rt        |d   t              rFd|d   v r?t        |d   d   t              r)|d   d   d   |j                   d   j"                  _        n[t        |d   t&              rG|d   |j                   d   j"                  _        n$d|v r5t        |d   t&              r"|d   |j                   d   j"                  _        nt        |t              rt)        |      dkD  rd|vr$t        d|j                   |j                        |d   d   |j                   d   j"                  _        d|d   v rzd|d   d   v rp|d   d   d   |j                   d   _        d}|d   d   d   D ]
  }||d   z  } ||j                   d   _        n$t        d|j                   |j                        t)        |j/                  |            }t)        |j/                  |d   d   d   d               }t1        t3        j2                               |_        | |_        t9        ||||z          }t;        |d!|       |S )"Nzhttps://app.baseten.co/models/z/predict roleusercontentstreamTF)inputsprompt
parametersr'   complete_input_dict)inputr   additional_args)r   datar'   ztext/event-streamzContent-Type)r,   r   original_responser-   zraw model_response: error)r   r
   model_outputr.   r   
completiongenerated_textz-Unable to parse response. Original response: detailstokensfinish_reasonlogprobchoicesr   )prompt_tokenscompletion_tokenstotal_tokensusage)r   pre_calllitellmmodule_level_clientpostjsondumpsr   
iter_lines	post_calltextr   r
   
isinstancedictlistr8   r   r&   strlenr6   logprobsencodeinttimecreatedr   r   setattr)r   r   r   r    encodingr   logging_objr!   litellm_params	logger_fnr   completion_url_fragment_1completion_url_fragment_2r)   r   r.   responsecompletion_responsesum_logprobtokenr9   r:   r<   s                          r   r2   r2      sk    #7+G @ *EFWv&(WY/01WY/01+,-F  % ?*x/HD/P 	D .5   **//!E),EEZZ ?*x/HD/P  0 	H h..~>>O#(AT(I""$$ 	&mm2D9	 	 	
 	,X]]O<=&mmo))+G4$00 
 !442>BDI"5n"EE"#6~#Fv#NPTU@S&A A
 AN**1-55=   3N CSI@S&AN**1-55= !44#L13: =P =&&q)119 /63?R;SVW;W#+>>&"OPXP]P] _$,$8$8  =PPQ<R$=&&q)119
 !4Q!77 $7$:9$EE>QRS>T!?%?'N**1-; #$K!4Q!7	!B8!L#uY'77 "M9DN**1-6"KHMM?[ ( 4 4  HOOF34OON95a8CINO
 "%TYY[!1$'/&)::
 	/r   c                       y r	   r   r   r   r   	embeddingr\      s    r   )NN)rA   rN   typingr   r>   litellm.types.utilsr   r   	Exceptionr   r   rI   rH   rG   r2   r\   r   r   r   <module>r`      sl        4
9 
& KKK "K 	K K\	r   