
    g                     N    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de      Z	y	)
a  
Support for o1 model family 

https://platform.openai.com/docs/guides/reasoning

Translations handled by LiteLLM:
- modalities: image => drop param (if user opts in to dropping param)  
- role: system ==> translate to role 'user' 
- streaming => faked by LiteLLM 
- Tools, response_format =>  drop param (if user opts in to dropping param) 
- Logprobs => drop param (if user opts in to dropping param)
- Temperature => drop param (if user opts in to dropping param)
    )Optional)verbose_logger)get_model_info   )OpenAIO1Configc            	       J    e Zd Z	 ddee   dee   dee   defdZdedefdZy)	AzureOpenAIO1ConfigNmodelstreamcustom_llm_providerreturnc                     |dury|$	 t        ||      }|j                  d      du ry	 yy# t        $ r"}t        j                  d|        Y d}~yd}~ww xY w)zL
        Currently no Azure OpenAI models support native streaming.
        TFN)r
   r   supports_native_streamingz1Error getting model info in AzureOpenAIO1Config: )r   get	Exceptionr   debug)selfr
   r   r   
model_infoes         ^/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/azure/chat/o1_transformation.pyshould_fake_streamz&AzureOpenAIO1Config.should_fake_stream   s     	+5H
 >>"=>$F  G   $$GsK  s    - 	AAAc                 &    ddg}|D ]  }||v s y y)Nzo1-miniz
o1-previewTF )r   r
   	o1_modelsms       r   is_o1_modelzAzureOpenAIO1Config.is_o1_model2   s%    -	AEz      )N)__name__
__module____qualname__r   strboolr   r   r   r   r   r	   r	      sQ    
 .2	}  &c]	
 
4  r   r	   N)
__doc__typingr   litellmr   litellm.utilsr   openai.chat.o1_transformationr   r	   r   r   r   <module>r(      s$     " ( ; .  r   