
    i+                    ,   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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z>m?Z?m@Z@ ddlAmBZC ddlDmEZE g dZFejG        sddlHmIZI ddlJmKZLmMZM ddlNmOZO ddlPmQZQmRZR ddlST ddlTmUZUmVZV  eC              eW            ZXeFD ]3ZYeYZ                    d          s	 deXeY         _[        &# e\e]f$ 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aadebd<   dacdebd<   daddebd<   daedebd<   dZfd ebd!<   e'agd"ebd#<   e(ahd$ebd%<   daid&ebd'<   dajd(ebd)<   dakd*ebd+<   e^jl        d,         Zm ejn        emejo        p                    d-                    aqd.ebd/<   ejo        p                    d0          ardebd1<   ejo        p                    d2          asdebd3<   ejo        p                    d4          atdebd5<   dZud6ebd7<    G d8 d9e          Zv G d: d;eveQ          Zw G d< d=e-          ZxdJd@ZydJdAZzdJdBZ{dadCebdD<   dKdFZ|dLdHZ}ddIl~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )M    )annotationsN)override   )types)	NOT_GIVENOmitNoneTypeNotGiven	TransportProxiesTypesomit	not_given)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
OAuthError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-   r1   r0   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   r4   r3   )	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)rA   r8   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returnrB   c                    t           S NrC   selfs    Q/root/.hermes/hermes-agent/venv/lib64/python3.11/site-packages/openai/__init__.pyrC   z_ModuleClient.api_key   	         valueNonec                
    |a d S r^   r_   ra   re   s     rb   rC   z_ModuleClient.api_key        rd   c                    t           S r^   rD   r`   s    rb   rD   z_ModuleClient.organization   s
     rd   c                
    |a d S r^   rk   rh   s     rb   rD   z_ModuleClient.organization   s     rd   c                    t           S r^   rE   r`   s    rb   rE   z_ModuleClient.project   rc   rd   c                
    |a d S r^   rn   rh   s     rb   rE   z_ModuleClient.project   ri   rd   c                    t           S r^   rF   r`   s    rb   rF   z_ModuleClient.webhook_secret   s
     rd   c                
    |a d S r^   rq   rh   s     rb   rF   z_ModuleClient.webhook_secret   s     rd   
_httpx.URLc                j    t           t          j        t                     S t                      j         S r^   )rG   _httpxURLsuperra   	__class__s    rb   rG   z_ModuleClient.base_url   s(     :h'''wwrd   url_httpx.URL | strc                .    |t                      _        d S r^   )rw   rG   )ra   rz   ry   s     rb   rG   z_ModuleClient.base_url   s    rd   rH   c                    t           S r^   rI   r`   s    rb   rI   z_ModuleClient.timeout   rc   rd   c                
    |a d S r^   r~   rh   s     rb   rI   z_ModuleClient.timeout   ri   rd   rJ   c                    t           S r^   rK   r`   s    rb   rK   z_ModuleClient.max_retries   s
     rd   c                
    |a d S r^   r   rh   s     rb   rK   z_ModuleClient.max_retries        rd   rL   c                    t           S r^   rM   r`   s    rb   _custom_headersz_ModuleClient._custom_headers   s
     rd   c                
    |a d S r^   r   rh   s     rb   r   z_ModuleClient._custom_headers   s      rd   rN   c                    t           S r^   rO   r`   s    rb   _custom_queryz_ModuleClient._custom_query   s
     rd   c                
    |a d S r^   r   rh   s     rb   r   z_ModuleClient._custom_query   s     rd   _httpx.Clientc                8    t           pt                      j        S r^   )rP   rw   _clientrx   s    rb   r   z_ModuleClient._client  s     -eggo-rd   c                
    |a d S r^   )rP   rh   s     rb   r   z_ModuleClient._client
  r   rd   )r\   rB   )re   rB   r\   rf   )r\   rs   )rz   r{   r\   rf   )r\   rH   )re   rH   r\   rf   )r\   rJ   )re   rJ   r\   rf   )r\   rL   )re   rL   r\   rf   )r\   rN   )re   rN   r\   rf   )r\   r   )re   r   r\   rf   )__name__
__module____qualname__propertyr   rC   setterrD   rE   rF   rG   rI   rK   r   r   r   __classcell__ry   s   @rb   r[   r[      s?           X X ^   ^
    X X    
    X X ^   ^
    X X    
           X X  _     _    X X ^   ^
    X X    
    X X        
    X X    
 . . . . . X X. ^   ^    rd   r[   c                      e Zd ZdS )_AzureModuleClientN)r   r   r    rd   rb   r   r     s        Crd   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorr\   rf   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`)rw   __init__rx   s    rb   r   z)_AmbiguousModuleClientUsageError.__init__  s/     P	
 	
 	
 	
 	
rd   r\   rf   )r   r   r   r   r   r   s   @rb   r   r     s=        
 
 
 
 
 
 
 
 
 
rd   r   r\   boolc                 D    t           j                            d          d uS )NOPENAI_API_KEY)_osenvirongetr   rd   rb   _has_openai_credentialsr     s    ;??+,,D88rd   c                 V    t           d up t          j                            d          d uS )NAZURE_OPENAI_API_KEY)rV   r   r   r   r   rd   rb   _has_azure_credentialsr      s'    %\9O)P)PX\)\\rd   c                 h    t           j                            d          d upt          d upt          d uS )NrW   )r   r   r   rX   rY   r   rd   rb   _has_azure_ad_credentialsr   $  s8    /00< 	/%	/"$.rd   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 )	NrU   rW   rS   r   r8   rA   )rT   rV   rC   rX   rY   rD   rG   rI   rK   rM   rO   rP   )
rC   rD   rE   rF   rG   rI   rK   rM   rO   rP   )r   rV   r   r   r   rX   rT   rR   r   r   r   r   rY   r   rC   rD   rG   rI   rK   rM   rO   rP   r[   rE   rF   )
has_openai	has_azurehas_azure_ads      rb   _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%)#+'#
 
 
 Nrd   rf   c                 
    d a d S r^   )r   r   rd   rb   _reset_clientr   r  s     GGGrd   )betachataudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)r\   r   )r\   r   r   )
__future__r   osr   typing_ttyping_extensionsr    r   _typesr   r   r	   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/   r0   r1   _base_clientr2   r3   r4   _utils._logsr5   _setup_logging_legacy_responser6   __all__TYPE_CHECKING_utils._resources_proxyr7   libr8   _azurer9   versionr:   	lib.azurer;   r<   lib._old_apilib.streamingr>   r?   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxru   rC   __annotations__rD   rE   rF   rG   rI   rK   rM   rO   rP   Literal_ApiTypecastr   r   rR   rT   rV   rX   rY   r[   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   r   r   r   r   rd   rb   <module>r      s   # " " " " " "         & & & & & &       a a a a a a a a a a a a a a a a a a a a " " " " " " 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. . .` 
 @?????? 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#