
    g                     F    d dl mZmZ d dlmZ ddlmZ dZ G d de      Zy)	    )OptionalTuple)get_secret_str   )OpenAIGPTConfigzhttps://api.x.ai/v1c                   r    e Zd Zdee   dee   deee   ee   f   fdZdedefdZ	 dde	de	ded	e
de	f
d
Zy)XAIChatConfigapi_baseapi_keyreturnc                 V    |xs t        d      xs t        }|xs t        d      }||fS )NXAI_API_BASEXAI_API_KEY)r   r   )selfr
   r   dynamic_api_keys       Y/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/xai/chat/transformation.py$_get_openai_compatible_provider_infoz2XAIChatConfig._get_openai_compatible_provider_info   s2     M~n=M!B^M%B((    modelc                 
    g dS )N)frequency_penalty
logit_biaslogprobs
max_tokensnpresence_penaltyresponse_formatseedstopstreamstream_optionstemperaturetool_choicetoolstop_logprobstop_puser )r   r   s     r   get_supported_openai_paramsz)XAIChatConfig.get_supported_openai_params   s    
 	
r   non_default_paramsoptional_paramsdrop_paramsc                     | j                  |      }|j                         D ]  \  }}|dk(  r||d<   ||v s||||<    |S )N)r   max_completion_tokensr   )r)   items)r   r*   r+   r   r,   supported_openai_paramsparamvalues           r   map_openai_paramszXAIChatConfig.map_openai_params'   sc     #'"B"B"B"O.446LE5//05-11$-2OE* 7 r   N)F)__name__
__module____qualname__r   strr   r   listr)   dictboolr3   r(   r   r   r	   r	   
   s    ) )08)	x}hsm+	,)
 
 
4 "   	
  
r   r	   N)	typingr   r   litellm.secret_managers.mainr   openai.chat.gpt_transformationr   r   r	   r(   r   r   <module>r>      s    " 7 =$+O +r   