a
    !f %                  
   @  sv  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l5T e+  e6 Z7e,D ]@Z8e89ds&ze:e7e8 dd W n e;e<fyb   Y n0 q&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?jNd% ZOe>PeOejQRd&aSd'eFd(< ejQRd)aTdeFd*< ejQRd+aUdeFd,< ejQRd-aVdeFd.< dZWd/eFd0< G d1d2 d2eZXG d3d4 d4eXe3ZYG d5d6 d6eZZd7d8d9d:Z[d7d8d;d<Z\d7d8d=d>Z]dad?eFd@< dAd8dBdCZ^dDd8dEdFZ_ddGl`maZa ddHl`mbZb ddIl`mcZc ddJl`mdZd ddKl`meZe ddLl`mfZf ddMl`mgZg ddNl`mhZh ddOl`miZi ddPl`mjZj ddQl`mkZk ddRl`mlZl dS )S    )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)*__
__module__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#   Z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                      s  e Zd ZeeddddZejdddddZeedddd	Zejdddd
d	Zeedd fddZejddd fddZeeddddZ	e	jdddddZ	eeddddZ
e
jdddddZ
eeddddZejdddddZeeddddZejdddd dZeed!d fd"d#Zejd!ddd$d#Zedd fd%d&Z  ZS )'_ModuleClientr-   returnc                 C  s   t S Nr.   self rI   P/var/www/html/python-backend/venv/lib/python3.9/site-packages/openai/__init__.pyr.      s    z_ModuleClient.api_keyNone)valuerD   c                 C  s   |a d S rE   rF   rH   rL   rI   rI   rJ   r.      s    c                 C  s   t S rE   r/   rG   rI   rI   rJ   r/      s    z_ModuleClient.organizationc                 C  s   |a d S rE   rN   rM   rI   rI   rJ   r/      s    z
_httpx.URLc                   s   t d urtt S t j S rE   )r0   _httpxURLsuperrG   	__class__rI   rJ   r0      s    
z_ModuleClient.base_urlz_httpx.URL | str)urlrD   c                   s   |t  _d S rE   )rQ   r0   )rH   rT   rR   rI   rJ   r0      s    r1   c                 C  s   t S rE   r2   rG   rI   rI   rJ   r2      s    z_ModuleClient.timeoutc                 C  s   |a d S rE   rU   rM   rI   rI   rJ   r2      s    r3   c                 C  s   t S rE   r4   rG   rI   rI   rJ   r4      s    z_ModuleClient.max_retriesc                 C  s   |a d S rE   rV   rM   rI   rI   rJ   r4      s    r5   c                 C  s   t S rE   r6   rG   rI   rI   rJ   _custom_headers   s    z_ModuleClient._custom_headersc                 C  s   |a d S rE   rW   rM   rI   rI   rJ   rX      s    r7   c                 C  s   t S rE   r8   rG   rI   rI   rJ   _custom_query   s    z_ModuleClient._custom_queryc                 C  s   |a d S rE   rY   rM   rI   rI   rJ   rZ      s    z_httpx.Clientc                   s   t p
t jS rE   )r9   rQ   _clientrG   rR   rI   rJ   r[      s    z_ModuleClient._clientc                 C  s   |a d S rE   )r9   rM   rI   rI   rJ   r[      s    c                   s&   zt    W n ty    Y n0 d S rE   )rQ   __del__	ExceptionrG   rR   rI   rJ   r\      s    z_ModuleClient.__del__)__name__r)   __qualname__propertyr   r.   setterr/   r0   r2   r4   rX   rZ   r[   r\   __classcell__rI   rI   rR   rJ   rB      sT   rB   c                   @  s   e Zd ZdS )_AzureModuleClientN)r^   r)   r_   rI   rI   rI   rJ   rc      s   rc   c                      s"   e Zd Zdd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrK   rC   c                   s   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`)rQ   __init__rG   rR   rI   rJ   re      s    z)_AmbiguousModuleClientUsageError.__init__)r^   r)   r_   re   rb   rI   rI   rR   rJ   rd      s   rd   boolrC   c                   C  s   t jdd uS )NZOPENAI_API_KEY)_osenvirongetrI   rI   rI   rJ   _has_openai_credentials   s    rj   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)r>   rg   rh   ri   rI   rI   rI   rJ   _has_azure_credentials   s    rl   c                   C  s    t jdd uptd uptd uS )Nr?   )rg   rh   ri   r@   rA   rI   rI   rI   rJ   _has_azure_ad_credentials   s
    rm   zOpenAI | Noner[   r   c                  C  s   t d u rtd u rtjdatd u r0tjdatd u rDtjdatd u rt } t	 }t
 }| rp|sj|rpt td ustd urtjdd urt |s|rdandatdkrtttttttttttttda t S tttttttttda t S t S )	Nr=   r?   r;   rk   r#   r*   )r<   r>   r.   r@   rA   r/   r0   r2   r4   r6   r8   r9   )r.   r/   r0   r2   r4   r6   r8   r9   )r[   r>   rg   rh   ri   r@   r<   r:   rj   rl   rm   rd   rA   rc   r.   r/   r0   r2   r4   r6   r8   r9   rB   )Z
has_openaiZ	has_azureZhas_azure_adrI   rI   rJ   _load_client  sd    
rn   rK   c                   C  s   d a d S rE   )r[   rI   rI   rI   rJ   _reset_clientG  s    ro   )beta)chat)audio)edits)files)images)models)
embeddings)
fine_tunes)completions)fine_tuning)moderations)m
__future__r   osrg   Ztyping_extensionsr    r   _typesr   r   r   _utilsr	   r[   r
   r   r   r   r   r   r   r   _versionr   r   _exceptionsr   r   r   r   r   r   r   r   r   r   r   r   r    r!   Z_utils._logsr"   Z_setup_logging__all__libr#   Z_azureversionr$   Z	lib.azurer%   r&   Zlib._old_apilocalsZ__localsZ__name
startswithsetattr	TypeErrorAttributeErrortypingZ_tZ_teZhttpxrO   Z_base_clientr+   r,   r.   __annotations__r/   r0   r2   r4   r6   r8   r9   LiteralZ_ApiTypecastrh   ri   r:   r<   r>   r@   rA   rB   rc   rd   rj   rl   rm   rn   ro   Z_module_clientrp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   rI   rI   rI   rJ   <module>   s|   ,@ 

eA