
    &Mg'                       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lF ddlGmHZHmIZI  e;         eJ       ZKe<D ]  ZLeLj                  d      r	 deKeL   _N        ! d 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 eRj                  eaej                  j                  d*            aed+eWd,<   ej                  j                  d-      afdeWd.<   ej                  j                  d/      agdeWd0<   ej                  j                  d1      ahdeWd2<   dZid3eWd4<    G d5 d6e      Zj G d7 d8ejeD      Zk G d9 d:e'      ZldCd;ZmdCd<ZndCd=Zodad>eWd?<   dDd@ZpdEdAZqddBlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} y# eOePf$ r Y ~w xY w)F    )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                  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    ]E:\wamp.anq\www\apps\calme\nutritwin\resources\nutritwin\Lib\site-packages\openai/__init__.pyr;   z_ModuleClient.api_key   	         c                    |a y rT   rU   rW   values     rX   r;   z_ModuleClient.api_key   	     rZ   c                    t         S rT   r<   rV   s    rX   r<   z_ModuleClient.organization   s
     rZ   c                    |a y rT   r`   r\   s     rX   r<   z_ModuleClient.organization   s	     rZ   c                    t         S rT   r=   rV   s    rX   r=   z_ModuleClient.project   rY   rZ   c                    |a y rT   rc   r\   s     rX   r=   z_ModuleClient.project   r^   rZ   c                V    t         t        j                  t               S t        |    S rT   )r>   _httpxURLsuperrW   	__class__s    rX   r>   z_ModuleClient.base_url   s%     ::h''wrZ   c                $    |t               _        y rT   )rh   r>   )rW   urlrj   s     rX   r>   z_ModuleClient.base_url   s    rZ   c                    t         S rT   r@   rV   s    rX   r@   z_ModuleClient.timeout   rY   rZ   c                    |a y rT   rn   r\   s     rX   r@   z_ModuleClient.timeout   r^   rZ   c                    t         S rT   rB   rV   s    rX   rB   z_ModuleClient.max_retries   s
     rZ   c                    |a y rT   rq   r\   s     rX   rB   z_ModuleClient.max_retries   	     rZ   c                    t         S rT   rD   rV   s    rX   _custom_headersz_ModuleClient._custom_headers   s
     rZ   c                    |a y rT   ru   r\   s     rX   rv   z_ModuleClient._custom_headers   s	      rZ   c                    t         S rT   rF   rV   s    rX   _custom_queryz_ModuleClient._custom_query   s
     rZ   c                    |a y rT   ry   r\   s     rX   rz   z_ModuleClient._custom_query   s	     rZ   c                (    t         xs
 t        |   S rT   )rG   rh   _clientri   s    rX   r}   z_ModuleClient._client   s     -ego-rZ   c                    |a y rT   )rG   r\   s     rX   r}   z_ModuleClient._client   rs   rZ   )returnr:   )r]   r:   r   None)r   z
_httpx.URL)rl   z_httpx.URL | strr   r   )r   r?   )r]   r?   r   r   )r   rA   )r]   rA   r   r   )r   rC   )r]   rC   r   r   )r   rE   )r]   rE   r   r   )r   _httpx.Client)r]   r   r   r   )__name__
__module____qualname__propertyr   r;   setterr<   r=   r>   r@   rB   rv   rz   r}   __classcell__rj   s   @rX   rR   rR      s       ^^ 
     
    ^^ 
      __     ^^ 
     
       
     
 .  . ^^ rZ   rR   c                      e Zd Zy)_AzureModuleClientN)r   r   r    rZ   rX   r   r      s    rZ   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`)rh   __init__ri   s    rX   r   z)_AmbiguousModuleClientUsageError.__init__   s     P	
rZ   r   r   )r   r   r   r   r   r   s   @rX   r   r      s    
 
rZ   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr   rZ   rX   _has_openai_credentialsr     s    ;;??+,D88rZ   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)rM   r   r   r   r   rZ   rX   _has_azure_credentialsr     s&    %\9O)PX\)\\rZ   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )NrN   )r   r   r   rO   rP   r   rZ   rX   _has_azure_ad_credentialsr   
  s7    /0< 	/%	/"$.rZ   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 )	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      rX   _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%#+'#

 NrZ   c                     d a y rT   )r}   r   rZ   rX   _reset_clientr   W  s	     GrZ   )betachataudiofilesimagesmodelsbatches
embeddingscompletionsfine_tuningmoderations)r   bool)r   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httpxrf   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   rZ   rX   <module>r      s    #  &  J J " v v v  , W W W    $ F 9(T S ' 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   !
H??I
	I
