
    .h+                       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; ddl<m=Z=m>Z>m?Z? ddl@mAZB ddlCmDZD g dZEej                  sddlGmHZH ddlImJZKmLZL ddlMmNZN ddlOmPZPmQZQ ddlR ddlSmTZTmUZU  eB         eV       ZWeED ]  ZXeXj                  d      r	 deWeX   _Z        ! d dlZd dlZ]d dl^Z_ddl<m'Z'm(Z( da`dead<   dabdead<   dacdead<   daddead<   dZed ead!<   e'afd"ead#<   e(agd$ead%<   dahd&ead'<   daid(ead)<   dajd*ead+<   e]j                  d,   Zl ej                  elej                  j                  d-            apd.ead/<   ej                  j                  d0      aqdead1<   ej                  j                  d2      ardead3<   ej                  j                  d4      asdead5<   dZtd6ead7<    G d8 d9e      Zu G d: d;eueP      Zv G d< d=e,      ZwdFd>ZxdFd?ZydFd@ZzdadAeadB<   dGdCZ{dHdDZ|ddEl}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ y# e[e\f$ r Y w xY w)I    )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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,   r0   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   r3   r2   )	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@   r7   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 )#_ModuleClientc                    t         S NrB   selfs    P/var/www/html/axiom-chatbot/venv/lib/python3.12/site-packages/openai/__init__.pyrB   z_ModuleClient.api_key   	         c                    |a y r\   r]   r_   values     r`   rB   z_ModuleClient.api_key   	     rb   c                    t         S r\   rC   r^   s    r`   rC   z_ModuleClient.organization   s
     rb   c                    |a y r\   rh   rd   s     r`   rC   z_ModuleClient.organization   s	     rb   c                    t         S r\   rD   r^   s    r`   rD   z_ModuleClient.project   ra   rb   c                    |a y r\   rk   rd   s     r`   rD   z_ModuleClient.project   rf   rb   c                    t         S r\   rE   r^   s    r`   rE   z_ModuleClient.webhook_secret   s
     rb   c                    |a y r\   rn   rd   s     r`   rE   z_ModuleClient.webhook_secret   s	     rb   c                V    t         t        j                  t               S t        |    S r\   )rF   _httpxURLsuperr_   	__class__s    r`   rF   z_ModuleClient.base_url   s%     ::h''wrb   c                $    |t               _        y r\   )rs   rF   )r_   urlru   s     r`   rF   z_ModuleClient.base_url   s    rb   c                    t         S r\   rH   r^   s    r`   rH   z_ModuleClient.timeout   ra   rb   c                    |a y r\   ry   rd   s     r`   rH   z_ModuleClient.timeout   rf   rb   c                    t         S r\   rJ   r^   s    r`   rJ   z_ModuleClient.max_retries   s
     rb   c                    |a y r\   r|   rd   s     r`   rJ   z_ModuleClient.max_retries   	     rb   c                    t         S r\   rL   r^   s    r`   _custom_headersz_ModuleClient._custom_headers   s
     rb   c                    |a y r\   r   rd   s     r`   r   z_ModuleClient._custom_headers   s	      rb   c                    t         S r\   rN   r^   s    r`   _custom_queryz_ModuleClient._custom_query   s
     rb   c                    |a y r\   r   rd   s     r`   r   z_ModuleClient._custom_query   s	     rb   c                (    t         xs
 t        |   S r\   )rO   rs   _clientrt   s    r`   r   z_ModuleClient._client  s     -ego-rb   c                    |a y r\   )rO   rd   s     r`   r   z_ModuleClient._client  r~   rb   )returnrA   )re   rA   r   None)r   z
_httpx.URL)rw   z_httpx.URL | strr   r   )r   rG   )re   rG   r   r   )r   rI   )re   rI   r   r   )r   rK   )re   rK   r   r   )r   rM   )re   rM   r   r   )r   _httpx.Client)re   r   r   r   )__name__
__module____qualname__propertyr   rB   setterrC   rD   rE   rF   rH   rJ   r   r   r   __classcell__ru   s   @r`   rZ   rZ      s       ^^ 
     
    ^^ 
     
      __     ^^ 
     
       
     
 .  . ^^ rb   rZ   c                      e Zd Zy)_AzureModuleClientN)r   r   r    rb   r`   r   r     s    rb   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorc                $    t         |   d       y )NzAmbiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai` or `azure`)rs   __init__rt   s    r`   r   z)_AmbiguousModuleClientUsageError.__init__  s     P	
rb   r   r   )r   r   r   r   r   r   s   @r`   r   r     s    
 
rb   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr   rb   r`   _has_openai_credentialsr     s    ;;??+,D88rb   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)rU   r   r   r   r   rb   r`   _has_azure_credentialsr     s&    %\9O)PX\)\\rb   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )NrV   )r   r   r   rW   rX   r   rb   r`   _has_azure_ad_credentialsr   "  s7    /0< 	/%	/"$.rb   zOpenAI | Noner   c                    t         {t        t        j                  j	                  d      at
        t        j                  j	                  d      at        t        j                  j	                  d      at        mt               } t               }t               }| r|s|r
t               t
        t        *t        j                  j	                  d      	 
t               |s|rdandat        dk(  rMt        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 )	NrT   rV   rR   r   r7   r@   )rS   rU   rB   rW   rX   rC   rF   rH   rJ   rL   rN   rO   )
rB   rC   rD   rE   rF   rH   rJ   rL   rN   rO   )r   rU   r   r   r   rW   rS   rQ   r   r   r   r   rX   r   rB   rC   rF   rH   rJ   rL   rN   rO   rZ   rD   rE   )
has_openai	has_azurehas_azure_ads      r`   _load_clientr   -  s<     ! [[__-DEN! [[__-DEN++//*>?K02J.0I46LyL688*.E.QWZWbWbWfWf&XX 788L"#w('--(?)!' /+'G N%)#+'#
 Nrb   c                     d a y r\   )r   r   rb   r`   _reset_clientr   p  s	     Grb   )betachataudioevalsfilesimagesmodelsbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)r   bool)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   _base_clientr1   r2   r3   _utils._logsr4   _setup_logging_legacy_responser5   __all__TYPE_CHECKING_utils._resources_proxyr6   libr7   _azurer8   versionr9   	lib.azurer:   r;   lib._old_apilib.streamingr=   r>   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxrq   rB   __annotations__rC   rD   rE   rF   rH   rJ   rL   rN   rO   Literal_ApiTypecastr   r   rQ   rS   rU   rW   rX   rZ   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   rb   r`   <module>r      sQ   #   &  a a a " v v v  , W W W    & \ [ 9 V-^ 
? R ' W 
   8 FT"	*2HV'    > j  !
 !$(
! ("1	 1&S &/3, 304- 4$(! (;;()#BGGHckkoo>O.PQ/ Q++//*>?Z ? [[__-DE
 E [[__-DE
 E>B ; BqF qh 
{ 
9]  @F     Q >* 		s   
I<<JJ