
    g'	                     6    d Z ddlmZ ddlmZ  G d de      Zy)z[
Cerebras Chat Completions API

this is OpenAI compatible - no translation needed / occurs
    )Optional)OpenAIGPTConfigc                       e Zd ZU dZ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d<   dZee   ed	<   dZee   ed
<   	 	 	 	 	 	 	 	 	 	 ddee   dee	   dee   dee   dee   dee   dee   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e	de	dedede	f
dZ xZS )CerebrasConfigzu
    Reference: https://inference-docs.cerebras.ai/api-reference/chat-completions

    Below are the parameters:
    N
max_tokensresponse_formatseedstreamtop_ptool_choicetoolsuserstoptemperature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   locals_keyvalues                 O/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/cerebras/chat.py__init__zCerebrasConfig.__init__   sA     (--/!--/JCf}!2U3 *    c                      t         |          S )N)super
get_config)clsr   s    r   r!   zCerebrasConfig.get_config.   s    w!##r   modelc                 
    g dS )zF
        Get the supported OpenAI params for the given model

        )r   max_completion_tokensr   r	   r   r
   r   r   r   r   r    )r   r#   s     r   get_supported_openai_paramsz*CerebrasConfig.get_supported_openai_params2   s    
 	
r   non_default_paramsoptional_paramsdrop_paramsc                     | j                  |      }|j                         D ]  \  }}|dk(  r||d<   ||v s|||<    |S )N)r#   r%   r   )r'   r   )r   r(   r)   r#   r*   supported_openai_paramsparamr   s           r   map_openai_paramsz CerebrasConfig.map_openai_paramsF   s]     #'"B"B"B"O.446LE5//05-11).&	 7
 r   )
NNNNNNNNNN)__name__
__module____qualname____doc__r   r   int__annotations__r   dictr	   r
   boolr   r   strr   listr   floatr   classmethodr!   r'   r.   __classcell__)r   s   @r   r   r      s    !%J$&*OXd^*D(3-!FHTN!E8C=!%K#% E8D> D(3- %)*.""!%'+#%) $"4SM4 "$4 sm	4
 sm4 4 e_4 }4 c]4 ~4 sm4 
4$ $ $
 
 
(   	
  
r   r   N)r2   typingr   +litellm.llms.openai.chat.gpt_transformationr   r   r&   r   r   <module>r>      s      GG_ Gr   