
    ]h%                       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 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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$m%Z%m&Z&m'Z'm(Z( ddl)m*Z+ g dZ,ddl-m.Z/ ddl0m1Z1 ddl2m3Z3 ddl2m4Z4 ddl5  e+         e6       Z7e,D ]  Z8e8js                  d      r	 de7e8   _:        ! d dl=Z>d dlZ?d dl@ZAddlBmCZCmDZD daEdeFd<   daGdeFd<   dZHdeFd<   eCaIdeFd<   eDaJdeFd<   daKdeFd<   daLd eFd!<   daMd"eFd#<   e?j                  d$   ZO e>j                  eOej                  j                  d%            aSd&eFd'<   ej                  j                  d(      aTdeFd)<   ej                  j                  d*      aUdeFd+<   ej                  j                  d,      aVdeFd-<   dZWd.eFd/<    G d0 d1e      ZX G d2 d3eXe3      ZY G d4 d5e      ZZdId6Z[dId7Z\dId8Z]dad9eFd:<   dJd;Z^dKd<Z_dd=l`maZa dd>l`mbZb dd?l`mcZc dd@l`mdZd ddAl`meZe ddBl`mfZf ddCl`mgZg ddDl`mhZh ddEl`miZi ddFl`mjZj ddGl`mkZk ddHl`mlZl y# e;e<f$ r Y w xY w)L    )annotationsN)override   )types)NoneType	TransportProxiesTypes)file_from_path)	ClientOpenAIStreamTimeoutr   AsyncClientAsyncOpenAIAsyncStreamRequestOptions)	__title____version__)APIErrorOpenAIErrorConflictErrorNotFoundErrorAPIStatusErrorRateLimitErrorAPITimeoutErrorBadRequestErrorAPIConnectionErrorAuthenticationErrorInternalServerErrorPermissionDeniedErrorUnprocessableEntityErrorAPIResponseValidationError)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
   )azure)VERSION)AzureOpenAI)AsyncAzureOpenAI)*__openai)DEFAULT_TIMEOUTDEFAULT_MAX_RETRIES
str | Noneapi_keyorganizationz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*   r$   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                  F    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 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ed  fd       Z xZS )!_ModuleClientc                    t         S Nr.   selfs    [/home/totalfocus.sw7ft.com/public_html/venv/lib/python3.12/site-packages/openai/__init__.pyr.   z_ModuleClient.api_key   	         c                    |a y rF   rG   rI   values     rJ   r.   z_ModuleClient.api_key   	     rL   c                    t         S rF   r/   rH   s    rJ   r/   z_ModuleClient.organization   s
     rL   c                    |a y rF   rR   rN   s     rJ   r/   z_ModuleClient.organization   s	     rL   c                V    t         t        j                  t               S t        |    S rF   )r0   _httpxURLsuperrI   	__class__s    rJ   r0   z_ModuleClient.base_url   s%     ::h''wrL   c                $    |t               _        y rF   )rW   r0   )rI   urlrY   s     rJ   r0   z_ModuleClient.base_url   s    rL   c                    t         S rF   r2   rH   s    rJ   r2   z_ModuleClient.timeout   rK   rL   c                    |a y rF   r]   rN   s     rJ   r2   z_ModuleClient.timeout   rP   rL   c                    t         S rF   r4   rH   s    rJ   r4   z_ModuleClient.max_retries   s
     rL   c                    |a y rF   r`   rN   s     rJ   r4   z_ModuleClient.max_retries   	     rL   c                    t         S rF   r6   rH   s    rJ   _custom_headersz_ModuleClient._custom_headers   s
     rL   c                    |a y rF   rd   rN   s     rJ   re   z_ModuleClient._custom_headers   s	      rL   c                    t         S rF   r8   rH   s    rJ   _custom_queryz_ModuleClient._custom_query   s
     rL   c                    |a y rF   rh   rN   s     rJ   ri   z_ModuleClient._custom_query   s	     rL   c                (    t         xs
 t        |   S rF   )r9   rW   _clientrX   s    rJ   rl   z_ModuleClient._client   s     -ego-rL   c                    |a y rF   )r9   rN   s     rJ   rl   z_ModuleClient._client   rb   rL   c                B    	 t         |           y # t        $ r Y y w xY wrF   )rW   __del__	ExceptionrX   s    rJ   ro   z_ModuleClient.__del__   s$    	GO 		s    	)returnr-   )rO   r-   rq   None)rq   z
_httpx.URL)r[   z_httpx.URL | strrq   rr   )rq   r1   )rO   r1   rq   rr   )rq   r3   )rO   r3   rq   rr   )rq   r5   )rO   r5   rq   rr   )rq   r7   )rO   r7   rq   rr   )rq   _httpx.Client)rO   rs   rq   rr   rq   rr   )__name__
__module____qualname__propertyr   r.   setterr/   r0   r2   r4   re   ri   rl   ro   __classcell__rY   s   @rJ   rD   rD      s       ^^ 
     
      __     ^^ 
     
       
     
 .  . ^^ 
  rL   rD   c                      e Zd Zy)_AzureModuleClientN)ru   rv   rw    rL   rJ   r}   r}      s    rL   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`)rW   __init__rX   s    rJ   r   z)_AmbiguousModuleClientUsageError.__init__   s     P	
rL   rt   )ru   rv   rw   r   rz   r{   s   @rJ   r   r      s    
 
rL   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr~   rL   rJ   _has_openai_credentialsr      s    ;;??+,D88rL   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)r?   r   r   r   r~   rL   rJ   _has_azure_credentialsr      s&    %\9O)PX\)\\rL   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )Nr@   )r   r   r   rA   rB   r~   rL   rJ   _has_azure_ad_credentialsr      s7    /0< 	/%	/"$.rL   zOpenAI | Nonerl   c                    t         qt        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*              a t         S t         S )	Nr>   r@   r<   r   r$   r*   )r=   r?   r.   rA   rB   r/   r0   r2   r4   r6   r8   r9   )r.   r/   r0   r2   r4   r6   r8   r9   )rl   r?   r   r   r   rA   r=   r;   r   r   r   r   rB   r}   r.   r/   r0   r2   r4   r6   r8   r9   rD   )
has_openai	has_azurehas_azure_ads      rJ   _load_clientr     s6     ! [[__-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%#+'#	
 NrL   c                     d a y rF   )rl   r~   rL   rJ   _reset_clientr   G  s	     GrL   )beta)chat)audio)edits)files)images)models)
embeddings)
fine_tunes)completions)fine_tuning)moderations)rq   bool)rq   r   rt   )m
__future__r   osr   typing_extensionsr    r   _typesr   r   r	   _utilsr
   rl   r   r   r   r   r   r   r   r   _versionr   r   _exceptionsr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   _utils._logsr#   _setup_logging__all__libr$   _azureversionr%   	lib.azurer&   r'   lib._old_apilocals__locals__name
startswithrv   	TypeErrorAttributeErrortyping_t_tehttpxrU   _base_clientr+   r,   r.   __annotations__r/   r0   r2   r4   r6   r8   r9   Literal_ApiTypecastr   r   r;   r=   r?   rA   rB   rD   r}   r   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   r~   rL   rJ   <module>r      s   #  &  5 5 "
 
 
 -     :@ ! ' 1 ;    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bF bJ 
{ 
9]  >B ) ( * * * , , 4 4 6 6 6} >* 		s   3
H88II