o
    ±3Ihö  ã                   @   s    zd dl Z W n ey   edƒ‚w d dlmZmZmZmZ d dlmZ	 d dlmZ
 d dlmZ d dlmZ d dlmZ G d	d
„ d
e jƒZG dd„ de jƒZdS )é    NzHPlease install the Open AI SDK to use this feature: 'pip install openai')ÚWrappedBetaÚWrappedChatÚWrappedEmbeddingsÚWrappedResponses)r   )r   )r   )r   )ÚClientc                       ó0   e Zd ZU dZeed< def‡ fdd„Z‡  ZS )ÚAzureOpenAIze
    A wrapper around the Azure OpenAI SDK that automatically sends LLM usage events to PostHog.
    Ú
_ph_clientÚposthog_clientc                    ó¸   t ƒ jdi |¤Ž || _t| ddƒ| _t| ddƒ| _t| ddƒ| _t| ddƒ| _| jdur4t| | jƒ| _	| jdur@t
| | jƒ| _| jdurLt| | jƒ| _| jdurZt| | jƒ| _dS dS ©a;  
        Args:
            api_key: Azure OpenAI API key.
            posthog_client: If provided, events will be captured via this client instead
                            of the global posthog.
            **openai_config: Any additional keyword args to set on Azure OpenAI (e.g. azure_endpoint="xxx").
        ÚchatNÚ
embeddingsÚbetaÚ	responses© )ÚsuperÚ__init__r	   ÚgetattrÚ_original_chatÚ_original_embeddingsÚ_original_betaÚ_original_responsesr   r   r   r   r   r   r   r   ©Úselfr
   Úkwargs©Ú	__class__r   úb/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/posthog/ai/openai/openai_providers.pyr      s   



ÿzAzureOpenAI.__init__©Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚPostHogClientÚ__annotations__r   Ú__classcell__r   r   r   r   r      ó   
 r   c                       r   )ÚAsyncAzureOpenAIzl
    An async wrapper around the Azure OpenAI SDK that automatically sends LLM usage events to PostHog.
    r	   r
   c                    r   r   )r   r   r	   r   r   r   r   r   ÚAsyncWrappedChatr   ÚAsyncWrappedEmbeddingsr   ÚAsyncWrappedBetar   ÚAsyncWrappedResponsesr   r   r   r   r   r   B   s   



ÿzAsyncAzureOpenAI.__init__r   r   r   r   r   r(   ;   r'   r(   )ÚopenaiÚImportErrorÚModuleNotFoundErrorÚposthog.ai.openai.openair   r   r   r   Úposthog.ai.openai.openai_asyncr+   r)   r*   r,   Úposthog.clientr   r$   r   r(   r   r   r   r   Ú<module>   s    ÿÿ&