
    j
                     6    d dl mZmZ d dlmZ  G d de      Zy)    )OptionalUnion)OpenAILikeChatConfigc                       e Zd ZU dZdZee   ed<   dZee	e
ef      ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed	<   dZee	e
ef      ed
<   dZee   ed<   dZee   ed<   dZee   ed<   	 	 	 	 	 	 	 	 	 	 	 ddee   dee	e
ef      dee   dee   dee   dee   d	ee   d
ee	e
ef      dee   dee   dee   ddfdZe fd       Zde
defdZ	 ddedede
dededef fdZ xZS )VolcEngineChatConfigzB
    Reference: https://www.volcengine.com/docs/82379/1494384
    Nfrequency_penaltyfunction_call	functions
logit_bias
max_tokensnpresence_penaltystoptemperaturetop_presponse_formatreturnc                     t               j                         }|j                         D ]%  \  }}|dk7  s|t        | j                  ||       ' y )Nself)localscopyitemssetattr	__class__)r   r   r	   r
   r   r   r   r   r   r   r   r   locals_keyvalues                  /Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/litellm/llms/volcengine/chat/transformation.py__init__zVolcEngineChatConfig.__init__   sA     (--/!--/JCf}!2U3 *    c                      t         |          S )N)super
get_config)clsr   s    r   r#   zVolcEngineChatConfig.get_config)   s    w!##r    modelc                 
    g dS )N)r   r   logprobstop_logprobsmax_completion_tokensr   r   r   seedr   streamstream_optionsr   r   toolstool_choicer	   r
   max_retriesextra_headersthinking )r   r%   s     r   get_supported_openai_paramsz0VolcEngineChatConfig.get_supported_openai_params-   s    
 	
r    non_default_paramsoptional_paramsdrop_params-replace_max_completion_tokens_with_max_tokensc                     t         |   |||||      }d|v rP	 |j                  d      }|;t        |t              r+|j                  dd       dv r||j                  di       d<   |S 	 |S )Nr1   type)enableddisabledauto
extra_body)r"   map_openai_paramspop
isinstancedictget
setdefault)r   r4   r5   r%   r6   r7   thinking_valuer   s          r   r>   z&VolcEngineChatConfig.map_openai_paramsF   s      '39
 (
 -00<N *~t4"&&vt48WW LZ**<<ZH  r    )NNNNNNNNNNN)T)__name__
__module____qualname____doc__r   r   int__annotations__r	   r   strrA   r
   listr   r   r   r   r   r   r   r   r   classmethodr#   r3   boolr>   __classcell__)r   s   @r   r   r      s	    (,x}+04M8E#t),-4 $Ix~$!%J% $J$Ax}&*hsm*'+D(5d#
$+!%K#%E8C=&*OXd^* ,048$(%)$(*.+/%)#*.4#C=4  c4i 014 D>	4
 TN4 SM4 C=4 #3-4 uS$Y'(4 c]4 }4 "$4 
4& $ $
 
 
> ?C# # # 	#
 # 8<# 
# #r    r   N)typingr   r   ,litellm.llms.openai_like.chat.transformationr   r   r2   r    r   <module>rR      s    " Mc/ cr    