
    ^h                         S SK JrJrJrJrJrJ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KJr  \(       a	  S SKJr  \rO\r " S	 S
\5      rg)    )TYPE_CHECKINGAnyListLiteralOptionalUnion)HeadersResponse)
BaseConfigBaseLLMException)AllMessageValues)ModelResponse   PredibaseError)Loggingc                   8  ^  \ rS rSr% SrSr\\   \S'   Sr	\\
S      \S'   Sr\\   \S'   Sr\\   \S'   S	r\\S
'   Sr\\S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\\      \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'                 S2S\\   S\\   S
\\   S\\   S\\   S\\   S\\   S\\\      S\\   S\\   S\\   S\\   S\\   S\\   SS4S jjr\U 4S j5       rS\4S jr S\!S\!S\S\S\!4
S  jr"  S3S\S!\#S"\$S#\%S$\!S%\\&   S\!S&\!S'\S(\\   S)\\   S\$4S* jjr'S\S%\\&   S\!S&\!S+\!S\!4S, jr(S-\S.\S+\)\!\*4   S\+4S/ jr, S4S+\!S\S%\\&   S\!S(\\   S\!4S0 jjr-S1r.U =r/$ )5PredibaseConfig   zF
Reference:  https://docs.predibase.com/user-guide/inference/rest_api
N
adapter_id)pbasehubs3adapter_sourcebest_ofdecoder_input_detailsTdetails   max_new_tokensrepetition_penaltyFreturn_full_textseedstoptemperaturetop_ktop_ptruncate	typical_p	watermarkreturnc                     [        5       nUR                  5        H*  u  nnUS:w  d  M  Uc  M  [        U R                  UU5        M,     g )Nself)localsitemssetattr	__class__)r,   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   locals_keyvalues                     d/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/predibase/chat/transformation.py__init__PredibaseConfig.__init__-   s;    " (!--/JCf}!2U3 *    c                     > [         TU ]  5       $ N)super
get_config)clsr0   s    r4   r;   PredibaseConfig.get_configC   s    w!##r7   modelc                 
    / SQ$ )N)streamr$   max_completion_tokens
max_tokensr&   r#   nresponse_format )r,   r>   s     r4   get_supported_openai_params+PredibaseConfig.get_supported_openai_paramsG   s    	
 		
r7   non_default_paramsoptional_paramsdrop_paramsc                     UR                  5        Hy  u  pVUS:X  a  US:X  d  US:X  a  SnXbS'   US:X  a  XbS'   US:X  a	  XbS'   SUS	'   US
:X  a  XbS
'   US:X  a  XbS'   US:X  d  US:X  a  US:X  a  SnXbS'   US:X  a  SUS'   US:X  d  Mu  XbS'   M{     U$ )Nr$   g        r   g{Gz?r&   rC   r   T	do_sampler@   r#   rB   rA      r   echor   rD   )r.   )r,   rH   rI   r>   rJ   paramr3   s          r4   map_openai_params!PredibaseConfig.map_openai_paramsS   s     /446LE%C<5A: !E16.+0(|-2	*  ,  ,1)*/'$1H(H A:E49 01 <@ 78))5: 12= 7> r7   raw_responsemodel_responselogging_objrequest_datamessageslitellm_paramsencodingapi_key	json_modec                     [        S5      eNzTPredibase transformation currently done in handler.py. Need to migrate to this file.NotImplementedError)r,   r>   rR   rS   rT   rU   rV   rI   rW   rX   rY   rZ   s               r4   transform_response"PredibaseConfig.transform_response{   s     "b
 	
r7   headersc                     [        S5      er\   r]   )r,   r>   rV   rI   rW   ra   s         r4   transform_request!PredibaseConfig.transform_request   s     "b
 	
r7   error_messagestatus_codec                     [        X!US9$ )N)rf   messagera   r   )r,   re   rf   ra   s       r4   get_error_classPredibaseConfig.get_error_class   s     #G
 	
r7   c                     Uc  [        S5      eSSR                  U5      S.nUb  [        U[        5      (       a  0 UEUEnU$ )NzMissing Predibase API Key - A call is being made to predibase but no key is set either in the environment variables or via paramszapplication/jsonz	Bearer {})zcontent-typeAuthorization)
ValueErrorformat
isinstancedict)r,   ra   r>   rV   rI   rY   default_headerss          r4   validate_environment$PredibaseConfig.validate_environment   s^     ? T 
 /(//8
 :gt#<#<44G4Gr7   rE   )NNNNNNNNNNNNNN)NNr9   )0__name__
__module____qualname____firstlineno____doc__r   r   str__annotations__r   r   r   intr   boolr   r   r    floatr!   r"   r#   r   r$   r%   r&   r'   r(   r)   r5   classmethodr;   rF   rp   rP   r
   r   LiteLLMLoggingObjr   r_   rc   r   r	   r   ri   rr   __static_attributes____classcell__)r0   s   @r4   r   r      s    !%J$>BNHW%9:;B!GXc]!,08D>0GT C  +/. htn  D(3- $D(49
$#'K%'E8C=E8C="Hhsm"!%Ix% $Ix~$ "&04"&(,.2+/"$('+##"&%)$(4#4  (~4 $	4
 !4 %UO4 #4.4 sm4 tCy!4 e_4 }4 }4 3-4 E?4 D>4  
!4, $ $

 

& & & 	&
 & 
&f "&$(

 
 &	

 '
 
 '(
 
 
 
 #
 D>
 

$



 '(

 	


 

 

 



 
/2
=B4==Q
	
 "&  '(	
  # 
 r7   r   N)typingr   r   r   r   r   r   httpxr	   r
   )litellm.llms.base_llm.chat.transformationr   r   litellm.types.llms.openair   litellm.types.utilsr   common_utilsr   *litellm.litellm_core_utils.litellm_loggingr   _LiteLLMLoggingObjr   r   rE   r7   r4   <module>r      s:    E E # R 6 - )X*`j `r7   