
    g                     f    d Z ddlmZmZ ddlZddlmZmZmZm	Z	 ddl
mZ ddlmZ  G d	 d
e      Zy)z|
Handler file for calls to Azure OpenAI's o1 family of models

Written separately to handle faking streaming for o1 models.
    )OptionalUnionN)AsyncAzureOpenAIAsyncOpenAIAzureOpenAIOpenAI   )OpenAIChatCompletion   )get_azure_openai_clientc                       e Zd Zddd ej                  d      dddfdedee   dee   dee   dee	ej                  f   dee
   d	ee   d
eeeeeef      deeeeeef      fdZy)AzureOpenAIO1ChatCompletionNr   is_asyncapi_keyapi_baseapi_versiontimeoutmax_retriesorganizationclientreturnc	           
      l    t        |t              st        |t              rd }t        ||||||||      S )N)r   r   r   r   r   r   r   	_is_async)
isinstancer   r   r   )	selfr   r   r   r   r   r   r   r   s	            W/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/azure/chat/o1_handler.py_get_openai_clientz.AzureOpenAIO1ChatCompletion._get_openai_client   sA    , ff%FK)HF&#%#	
 		
    )__name__
__module____qualname__httpxTimeoutboolr   strr   floatintr   r   r   r   r    r   r   r   r      s     "&"&%)/<u}}T/B%&&* "
"
 #"
 3-	"

 c]"
 uemm+,"
 c]"
 sm"
 &+{4DDE
"
 
	

"
r   r   )__doc__typingr   r   r"   openair   r   r   r   openai.openair
   common_utilsr   r   r(   r   r   <module>r.      s+    #  E E 1 2#
"6 #
r   