
    U th:+                       U d dl mZ d dl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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;Z;m<Z<m=Z= ddl>m?Z@ ddlAmBZB g dZCejD        sddlEmFZF ddlGmHZImJZJ ddlKmLZL ddlMmNZNmOZO ddlPT ddlQmRZRmSZS  e@              eT            ZUeCD ]3ZVeVW                    d          s	 deUeV         _X        &# eYeZf$ r Y /w xY w4d dlZd dlZ[d dl\Z]ddl:m%Z%m&Z& da^de_d<   da`de_d<   daade_d<   dabde_d<   dZcd e_d!<   e%add"e_d#<   e&aed$e_d%<   dafd&e_d'<   dagd(e_d)<   dahd*e_d+<   e[ji        d,         Zj ejk        ejejl        m                    d-                    and.e_d/<   ejl        m                    d0          aode_d1<   ejl        m                    d2          apde_d3<   ejl        m                    d4          aqde_d5<   dZrd6e_d7<    G d8 d9e          Zs G d: d;eseN          Zt G d< d=e*          ZudJd@ZvdJdAZwdJdBZxdadCe_dD<   dKdFZydLdHZzddIl{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )M    )annotationsN)override   )types)	NOT_GIVENOmit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InvalidWebhookSignatureErrorContentFilterFinishReasonError)DefaultHttpxClientDefaultAioHttpClientDefaultAsyncHttpxClient)setup_logging)HttpxBinaryResponseContent)*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   r/   r1   r0   )	resources)azurepydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)*)AssistantEventHandlerAsyncAssistantEventHandler__openai)r   r   
str | Noneapi_keyorganizationprojectwebhook_secretz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)r>   r5   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!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/html/mycamper/aliexpress-site/backend/venv/lib/python3.11/site-packages/openai/__init__.pyr@   z_ModuleClient.api_key   	         valueNonec                
    |a d S r[   r\   r^   rb   s     r_   r@   z_ModuleClient.api_key        ra   c                    t           S r[   rA   r]   s    r_   rA   z_ModuleClient.organization   s
     ra   c                
    |a d S r[   rh   re   s     r_   rA   z_ModuleClient.organization   s     ra   c                    t           S r[   rB   r]   s    r_   rB   z_ModuleClient.project   r`   ra   c                
    |a d S r[   rk   re   s     r_   rB   z_ModuleClient.project   rf   ra   c                    t           S r[   rC   r]   s    r_   rC   z_ModuleClient.webhook_secret   s
     ra   c                
    |a d S r[   rn   re   s     r_   rC   z_ModuleClient.webhook_secret   s     ra   
_httpx.URLc                j    t           t          j        t                     S t                      j         S r[   )rD   _httpxURLsuperr^   	__class__s    r_   rD   z_ModuleClient.base_url   s(     :h'''wwra   url_httpx.URL | strc                .    |t                      _        d S r[   )rt   rD   )r^   rw   rv   s     r_   rD   z_ModuleClient.base_url   s    ra   rE   c                    t           S r[   rF   r]   s    r_   rF   z_ModuleClient.timeout   r`   ra   c                
    |a d S r[   r{   re   s     r_   rF   z_ModuleClient.timeout   rf   ra   rG   c                    t           S r[   rH   r]   s    r_   rH   z_ModuleClient.max_retries   s
     ra   c                
    |a d S r[   r~   re   s     r_   rH   z_ModuleClient.max_retries        ra   rI   c                    t           S r[   rJ   r]   s    r_   _custom_headersz_ModuleClient._custom_headers   s
     ra   c                
    |a d S r[   r   re   s     r_   r   z_ModuleClient._custom_headers   s      ra   rK   c                    t           S r[   rL   r]   s    r_   _custom_queryz_ModuleClient._custom_query   s
     ra   c                
    |a d S r[   r   re   s     r_   r   z_ModuleClient._custom_query   s     ra   _httpx.Clientc                8    t           pt                      j        S r[   )rM   rt   _clientru   s    r_   r   z_ModuleClient._client  s     -eggo-ra   c                
    |a d S r[   )rM   re   s     r_   r   z_ModuleClient._client  r   ra   )rY   r?   )rb   r?   rY   rc   )rY   rp   )rw   rx   rY   rc   )rY   rE   )rb   rE   rY   rc   )rY   rG   )rb   rG   rY   rc   )rY   rI   )rb   rI   rY   rc   )rY   rK   )rb   rK   rY   rc   )rY   r   )rb   r   rY   rc   )__name__
__module____qualname__propertyr   r@   setterrA   rB   rC   rD   rF   rH   r   r   r   __classcell__rv   s   @r_   rX   rX      s?           X X ^   ^
    X X    
    X X ^   ^
    X X    
           X X  _     _    X X ^   ^
    X X    
    X X        
    X X    
 . . . . . X X. ^   ^    ra   rX   c                      e Zd ZdS )_AzureModuleClientN)r   r   r    ra   r_   r   r     s        Cra   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorrY   rc   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`)rt   __init__ru   s    r_   r   z)_AmbiguousModuleClientUsageError.__init__  s/     P	
 	
 	
 	
 	
ra   rY   rc   )r   r   r   r   r   r   s   @r_   r   r     s=        
 
 
 
 
 
 
 
 
 
ra   r   rY   boolc                 D    t           j                            d          d uS )NOPENAI_API_KEY)_osenvirongetr   ra   r_   _has_openai_credentialsr     s    ;??+,,D88ra   c                 V    t           d up t          j                            d          d uS )NAZURE_OPENAI_API_KEY)rS   r   r   r   r   ra   r_   _has_azure_credentialsr     s'    %\9O)P)PX\)\\ra   c                 h    t           j                            d          d upt          d upt          d uS )NrT   )r   r   r   rU   rV   r   ra   r_   _has_azure_ad_credentialsr      s8    /00< 	/%	/"$.ra   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.          t0          t           t"          t$          t&          t(          t*          
  
        a t           S t           S )	NrR   rT   rP   r   r5   r>   )rQ   rS   r@   rU   rV   rA   rD   rF   rH   rJ   rL   rM   )
r@   rA   rB   rC   rD   rF   rH   rJ   rL   rM   )r   rS   r   r   r   rU   rQ   rO   r   r   r   r   rV   r   r@   rA   rD   rF   rH   rJ   rL   rM   rX   rB   rC   )
has_openai	has_azurehas_azure_ads      r_   _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%)#+'#
 
 
 Nra   rc   c                 
    d a d S r[   )r   r   ra   r_   _reset_clientr   n  s     GGGra   )betachataudioevalsfilesimagesmodelsbatchesuploadswebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsvector_stores)rY   r   )rY   r   r   )
__future__r   osr   typing_ttyping_extensionsr    r   _typesr   r   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-   r.   _base_clientr/   r0   r1   _utils._logsr2   _setup_logging_legacy_responser3   __all__TYPE_CHECKING_utils._resources_proxyr4   libr5   _azurer6   versionr7   	lib.azurer8   r9   lib._old_apilib.streamingr;   r<   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxrr   r@   __annotations__rA   rB   rC   rD   rF   rH   rJ   rL   rM   Literal_ApiTypecastr   r   rO   rQ   rS   rU   rV   rX   r   r   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ra   r_   <module>r      s   # " " " " " "         & & & & & &       P P P P P P P P P P P P P P P P " " " " " " 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                                     & \ [ [ [ [ [ [ [ [ [ 9 9 9 9 9 9 V V V V V V+ + +Z 
 @?????? R 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q q q q qF q q qh       
 
 
 
 
{ 
 
 
9 9 9 9] ] ] ]        @ @ @ @F                                          s   DDD