
    8h0)                       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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z> ddl?m@Z@ g dZAej                  sddlCmDZD ddlEmFZGmHZH ddlImJZJ ddlKmLZLmMZM ddlN ddlOmPZPmQZQ  e>         eR       ZSeAD ]  ZTeTj                  d      r	 deSeT   _V        ! d dlZd dlZYd dlZZ[ddl9m%Z%m&Z& da\de]d<   da^de]d<   da_de]d<   dZ`de]d <   e%aad!e]d"<   e&abd#e]d$<   dacd%e]d&<   dadd'e]d(<   daed)e]d*<   eYj                  d+   Zg ej                  egej                  j                  d,            akd-e]d.<   ej                  j                  d/      alde]d0<   ej                  j                  d1      amde]d2<   ej                  j                  d3      ande]d4<   dZod5e]d6<    G d7 d8e      Zp G d9 d:epeL      Zq G d; d<e*      ZrdEd=ZsdEd>ZtdEd?Zudad@e]dA<   dFdBZvdGdCZwddDlxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZ y# eWeXf$ r Y w xY w)H    )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ContentFilterFinishReasonError)DefaultHttpxClient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/   )	resources)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)r<   r3   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                  r    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 )!_ModuleClientc                    t         S Nr>   selfs    f/home/stella.sw7ft.com/public_html/site_rebuilder/venv/lib/python3.12/site-packages/openai/__init__.pyr>   z_ModuleClient.api_key   	         c                    |a y rW   rX   rZ   values     r[   r>   z_ModuleClient.api_key   	     r]   c                    t         S rW   r?   rY   s    r[   r?   z_ModuleClient.organization   s
     r]   c                    |a y rW   rc   r_   s     r[   r?   z_ModuleClient.organization   s	     r]   c                    t         S rW   r@   rY   s    r[   r@   z_ModuleClient.project   r\   r]   c                    |a y rW   rf   r_   s     r[   r@   z_ModuleClient.project   ra   r]   c                V    t         t        j                  t               S t        |    S rW   )rA   _httpxURLsuperrZ   	__class__s    r[   rA   z_ModuleClient.base_url   s%     ::h''wr]   c                $    |t               _        y rW   )rk   rA   )rZ   urlrm   s     r[   rA   z_ModuleClient.base_url   s    r]   c                    t         S rW   rC   rY   s    r[   rC   z_ModuleClient.timeout   r\   r]   c                    |a y rW   rq   r_   s     r[   rC   z_ModuleClient.timeout   ra   r]   c                    t         S rW   rE   rY   s    r[   rE   z_ModuleClient.max_retries   s
     r]   c                    |a y rW   rt   r_   s     r[   rE   z_ModuleClient.max_retries   	     r]   c                    t         S rW   rG   rY   s    r[   _custom_headersz_ModuleClient._custom_headers   s
     r]   c                    |a y rW   rx   r_   s     r[   ry   z_ModuleClient._custom_headers   s	      r]   c                    t         S rW   rI   rY   s    r[   _custom_queryz_ModuleClient._custom_query   s
     r]   c                    |a y rW   r|   r_   s     r[   r}   z_ModuleClient._custom_query   s	     r]   c                (    t         xs
 t        |   S rW   )rJ   rk   _clientrl   s    r[   r   z_ModuleClient._client   s     -ego-r]   c                    |a y rW   )rJ   r_   s     r[   r   z_ModuleClient._client   rv   r]   )returnr=   )r`   r=   r   None)r   z
_httpx.URL)ro   z_httpx.URL | strr   r   )r   rB   )r`   rB   r   r   )r   rD   )r`   rD   r   r   )r   rF   )r`   rF   r   r   )r   rH   )r`   rH   r   r   )r   _httpx.Client)r`   r   r   r   )__name__
__module____qualname__propertyr   r>   setterr?   r@   rA   rC   rE   ry   r}   r   __classcell__rm   s   @r[   rU   rU      s       ^^ 
     
    ^^ 
      __     ^^ 
     
       
     
 .  . ^^ r]   rU   c                      e Zd Zy)_AzureModuleClientN)r   r   r    r]   r[   r   r      s    r]   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`)rk   __init__rl   s    r[   r   z)_AmbiguousModuleClientUsageError.__init__  s     P	
r]   r   r   )r   r   r   r   r   r   s   @r[   r   r     s    
 
r]   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr   r]   r[   _has_openai_credentialsr     s    ;;??+,D88r]   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)rP   r   r   r   r   r]   r[   _has_azure_credentialsr     s&    %\9O)PX\)\\r]   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )NrQ   )r   r   r   rR   rS   r   r]   r[   _has_azure_ad_credentialsr     s7    /0< 	/%	/"$.r]   zOpenAI | Noner   c                    t         vt        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.        t         t"        t$        t&        t(        t*        	      a t         S t         S )	NrO   rQ   rM   r   r3   r<   )rN   rP   r>   rR   rS   r?   rA   rC   rE   rG   rI   rJ   )	r>   r?   r@   rA   rC   rE   rG   rI   rJ   )r   rP   r   r   r   rR   rN   rL   r   r   r   r   rS   r   r>   r?   rA   rC   rE   rG   rI   rJ   rU   r@   )
has_openai	has_azurehas_azure_ads      r[   _load_clientr     s9     ! [[__-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%#+'#

 Nr]   c                     d a y rW   )r   r   r]   r[   _reset_clientr   ]  s	     Gr]   )betachataudioevalsfilesimagesmodelsbatchesuploads	responses
containers
embeddingscompletionsfine_tuningmoderationsvector_stores)r   bool)r   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-   _base_clientr.   r/   _utils._logsr0   _setup_logging_legacy_responser1   __all__TYPE_CHECKING_utils._resources_proxyr2   libr3   _azurer4   versionr5   	lib.azurer6   r7   lib._old_apilib.streamingr9   r:   locals__locals__name
startswithr   	TypeErrorAttributeError_tehttpxri   r>   __annotations__r?   r@   rA   rC   rE   rG   rI   rJ   Literal_ApiTypecastr   r   rL   rN   rP   rR   rS   rU   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[   <module>r      s;   #   &  P P " v v v  , W W W    $ F 9 V)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fF fR 
{ 
9]  ?D    u >* 		s   ?
I''I21I2