
    
@g'                       U d dl mZ d dlZd dlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZ dd	lmZ dd
lmZmZ ddlmZm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z; g dZ<ddl=m>Z?m@Z@ ddlAmBZB ddlCmDZDmEZE ddlFT ddlGmHZHmIZI  e;              eJ            ZKe<D ]3ZLeLM                    d          s	 deKeL         _N        &# eOePf$ r Y /w xY w4d dlQZRd dlZSd dlTZUddl6m"Z"m#Z# daVdeWd<   daXdeWd<   daYdeWd<   dZZdeWd<   e"a[deWd <   e#a\d!eWd"<   da]d#eWd$<   da^d%eWd&<   da_d'eWd(<   eSj`        d)         Za eRjb        eaejc        d                    d*                    aed+eWd,<   ejc        d                    d-          afdeWd.<   ejc        d                    d/          agdeWd0<   ejc        d                    d1          ahdeWd2<   dZid3eWd4<    G d5 d6e          Zj G d7 d8ejeD          Zk G d9 d:e'          ZldGd=ZmdGd>ZndGd?Zodad@eWdA<   dHdCZpdIdEZqddFlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} dS )J    )annotationsN)override   )types)	NOT_GIVENNoneTypeNotGiven	TransportProxiesTypes)file_from_path)	ClientOpenAIStreamTimeoutr
   AsyncClientAsyncOpenAIAsyncStreamRequestOptions)	BaseModel)	__title____version__)APIResponseAsyncAPIResponse)DEFAULT_TIMEOUTDEFAULT_MAX_RETRIESDEFAULT_CONNECTION_LIMITS)APIErrorOpenAIErrorConflictErrorNotFoundErrorAPIStatusErrorRateLimitErrorAPITimeoutErrorBadRequestErrorAPIConnectionErrorAuthenticationErrorInternalServerErrorPermissionDeniedErrorLengthFinishReasonErrorUnprocessableEntityErrorAPIResponseValidationErrorContentFilterFinishReasonError)DefaultHttpxClientDefaultAsyncHttpxClient)setup_logging)'r   r   r   r   r
   r   r	   r   r   r   r!   r#   r%   r+   r$   r&   r(   r    r   r*   r"   r'   r)   r,   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r.   )azurepydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)*)AssistantEventHandlerAsyncAssistantEventHandler__openai)r   r   
str | Noneapi_keyorganizationprojectzstr | _httpx.URL | Nonebase_urlfloat | Timeout | Nonetimeoutintmax_retries_t.Mapping[str, str] | Nonedefault_headers_t.Mapping[str, object] | Nonedefault_queryz_httpx.Client | Nonehttp_client)r9   r0   OPENAI_API_TYPEz_ApiType | Noneapi_typeOPENAI_API_VERSIONapi_versionAZURE_OPENAI_ENDPOINTazure_endpointAZURE_OPENAI_AD_TOKENazure_ad_tokenz"_azure.AzureADTokenProvider | Noneazure_ad_token_providerc                      e Zd Zeedd                        Zej        d d            Zeedd                        Zej        d d            Zeedd	                        Zej        d d
            Zeed! fd                        Z	e	j        d" fd            Z	eed#d                        Z
e
j        d$d            Z
eed%d                        Zej        d&d            Zeed'd                        Zej        d(d            Zeed)d                        Zej        d*d            Zeed+ fd                        Zej        d,d            Z xZS )-_ModuleClientreturnr:   c                    t           S Nr;   selfs    C/var/www/piapp/venv/lib/python3.11/site-packages/openai/__init__.pyr;   z_ModuleClient.api_key   	         valueNonec                
    |a d S rU   rV   rX   r\   s     rY   r;   z_ModuleClient.api_key        r[   c                    t           S rU   r<   rW   s    rY   r<   z_ModuleClient.organization   s
     r[   c                
    |a d S rU   rb   r_   s     rY   r<   z_ModuleClient.organization   s     r[   c                    t           S rU   r=   rW   s    rY   r=   z_ModuleClient.project   rZ   r[   c                
    |a d S rU   re   r_   s     rY   r=   z_ModuleClient.project   r`   r[   
_httpx.URLc                j    t           t          j        t                     S t                      j         S rU   )r>   _httpxURLsuperrX   	__class__s    rY   r>   z_ModuleClient.base_url   s(     :h'''wwr[   url_httpx.URL | strc                .    |t                      _        d S rU   )rk   r>   )rX   rn   rm   s     rY   r>   z_ModuleClient.base_url   s    r[   r?   c                    t           S rU   r@   rW   s    rY   r@   z_ModuleClient.timeout   rZ   r[   c                
    |a d S rU   rr   r_   s     rY   r@   z_ModuleClient.timeout   r`   r[   rA   c                    t           S rU   rB   rW   s    rY   rB   z_ModuleClient.max_retries   s
     r[   c                
    |a d S rU   ru   r_   s     rY   rB   z_ModuleClient.max_retries        r[   rC   c                    t           S rU   rD   rW   s    rY   _custom_headersz_ModuleClient._custom_headers   s
     r[   c                
    |a d S rU   ry   r_   s     rY   rz   z_ModuleClient._custom_headers   s      r[   rE   c                    t           S rU   rF   rW   s    rY   _custom_queryz_ModuleClient._custom_query   s
     r[   c                
    |a d S rU   r}   r_   s     rY   r~   z_ModuleClient._custom_query   s     r[   _httpx.Clientc                8    t           pt                      j        S rU   )rG   rk   _clientrl   s    rY   r   z_ModuleClient._client   s     -eggo-r[   c                
    |a d S rU   )rG   r_   s     rY   r   z_ModuleClient._client   rw   r[   )rS   r:   )r\   r:   rS   r]   )rS   rg   )rn   ro   rS   r]   )rS   r?   )r\   r?   rS   r]   )rS   rA   )r\   rA   rS   r]   )rS   rC   )r\   rC   rS   r]   )rS   rE   )r\   rE   rS   r]   )rS   r   )r\   r   rS   r]   )__name__
__module____qualname__propertyr   r;   setterr<   r=   r>   r@   rB   rz   r~   r   __classcell__rm   s   @rY   rR   rR      s           X X ^   ^
    X X    
    X X ^   ^
           X X  _     _    X X ^   ^
    X X    
    X X        
    X X    
 . . . . . X X. ^   ^    r[   rR   c                      e Zd ZdS )_AzureModuleClientN)r   r   r    r[   rY   r   r      s        Cr[   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorrS   r]   c                J    t                                          d           d S )NzAmbiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai` or `azure`)rk   __init__rl   s    rY   r   z)_AmbiguousModuleClientUsageError.__init__   s/     P	
 	
 	
 	
 	
r[   rS   r]   )r   r   r   r   r   r   s   @rY   r   r      s=        
 
 
 
 
 
 
 
 
 
r[   r   rS   boolc                 D    t           j                            d          d uS )NOPENAI_API_KEY)_osenvirongetr   r[   rY   _has_openai_credentialsr     s    ;??+,,D88r[   c                 V    t           d up t          j                            d          d uS )NAZURE_OPENAI_API_KEY)rM   r   r   r   r   r[   rY   _has_azure_credentialsr     s'    %\9O)P)PX\)\\r[   c                 h    t           j                            d          d upt          d upt          d uS )NrN   )r   r   r   rO   rP   r   r[   rY   _has_azure_ad_credentialsr   
  s8    /00< 	/%	/"$.r[   zOpenAI | Noner   r   c                    t           t          t          j                            d          at
          t          j                            d          at          t          j                            d          at          t                      } t                      }t                      }| r|s|rt                      t
          t          .t          j                            d          	 t                      |s|rdandat          dk    r^t          t          t          t          t
          t          t          t           t"          t$          t&          t(          t*                    a t           S t-          t          t          t.          t           t"          t$          t&          t(          t*          	  	        a t           S t           S )	NrL   rN   rJ   r   r0   r9   )rK   rM   r;   rO   rP   r<   r>   r@   rB   rD   rF   rG   )	r;   r<   r=   r>   r@   rB   rD   rF   rG   )r   rM   r   r   r   rO   rK   rI   r   r   r   r   rP   r   r;   r<   r>   r@   rB   rD   rF   rG   rR   r=   )
has_openai	has_azurehas_azure_ads      rY   _load_clientr     s     ! [__-DEEN! [__-DEEN+//*>??K022J.00I466L 9y 9L 96888*.E.QWZWbWfWf&X XX 7888 $L $"#w('--(?)!' /+'  G N%#+'#

 

 

 Nr[   r]   c                 
    d a d S rU   )r   r   r[   rY   _reset_clientr   W  s     GGGr[   )betachataudiofilesimagesmodelsbatches
embeddingscompletionsfine_tuningmoderations)rS   r   )rS   r   r   )~
__future__r   osr   typing_extensionsr    r   _typesr   r   r	   r
   r   _utilsr   r   r   r   r   r   r   r   r   r   _modelsr   _versionr   r   	_responser   r   
_constantsr   r   r   _exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   _base_clientr-   r.   _utils._logsr/   _setup_logging__all__libr0   _azurer1   versionr2   	lib.azurer3   r4   lib._old_apilib.streamingr6   r7   locals__locals__name
startswithr   	TypeErrorAttributeErrortyping_t_tehttpxri   r;   __annotations__r<   r=   r>   r@   rB   rD   rF   rG   Literal_ApiTypecastr   r   rI   rK   rM   rO   rP   rR   r   r   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   r[   rY   <module>r      s,   # " " " " " "     & & & & & &       J J J J J J J J J J J J J J " " " " " " v v v v v v v v v v v v v v v v v v v v v v       , , , , , , , , W W W W W W W W W W W W W W W W W W                                   $ F E E E E E E E 9 9 9 9 9 9( ( (T S R R R R R R R ' ' ' ' ' ' W W W W W W W W           
     688  FT"" 	*2HV''>* 	 	 	D	             > > > > > > > >            $( ( ( ( ("1 1 1 1 1& & & & &/3 3 3 3 304 4 4 4 4$( ( ( ( (;()#BGHckoo>O.P.PQQ Q Q Q Q+//*>?? ? ? ? ? [__-DEE E E E E [__-DEE E E E E>B  B B B Bf f f f fF f f fR       
 
 
 
 
{ 
 
 
9 9 9 9] ] ] ]        ? ? ? ?D                              s   (C66D ?D 