o
    ͩZh(                  
   @  s~  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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 ddl7m8Z8m9Z9 ddl:m;Z< ddl=m>Z> g dZ?ddl@mAZBmCZC ddlDmEZE ddlFmGZGmHZH ddlIT ddlJmKZKmLZL e<  eM ZNe?D ]ZOeOPdszdeNeO _QW q eReSfy   Y qw qd dlTZUd dlZVd dlWZXddl7m#Z#m$Z$ daYdeZd< da[deZd< da\deZd< dZ]deZd< e#a^d eZd!< e$a_d"eZd#< da`d$eZd%< daad&eZd'< dabd(eZd)< eVjcd* ZdeUeedejfgd+ahd,eZd-< ejfgd.aideZd/< ejfgd0ajdeZd1< ejfgd2akdeZd3< dZld4eZd5< G d6d7 d7eZmG d8d9 d9emeGZnG d:d; d;e(ZodMd>d?ZpdMd@dAZqdMdBdCZrdadDeZdE< dNdGdHZsdOdJdKZtddLlumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZ dS )P    )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.   )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:   r1   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                      sN  e Zd Zeed(ddZejd)ddZeed(dd	Zejd)d
d	Zeed(ddZejd)ddZeed* fddZ	e	jd+ fddZ	eed,ddZ
e
jd-ddZ
eed.ddZejd/ddZeed0ddZejd1ddZeed2d!d"Zejd3d#d"Zeed4 fd%d&Zejd5d'd&Z  ZS )6_ModuleClientreturnr;   c                 C     t S Nr<   self rX   F/var/www/html/lang_env/lib/python3.10/site-packages/openai/__init__.pyr<         z_ModuleClient.api_keyvalueNonec                 C     |a d S rT   rU   rW   r[   rX   rX   rY   r<         c                 C  rS   rT   r=   rV   rX   rX   rY   r=      rZ   z_ModuleClient.organizationc                 C  r]   rT   r`   r^   rX   rX   rY   r=      r_   c                 C  rS   rT   r>   rV   rX   rX   rY   r>      rZ   z_ModuleClient.projectc                 C  r]   rT   ra   r^   rX   rX   rY   r>      r_   
_httpx.URLc                   s   t d ur	tt S t j S rT   )r?   _httpxURLsuperrV   	__class__rX   rY   r?      s   
z_ModuleClient.base_urlurl_httpx.URL | strc                   s   |t  _d S rT   )re   r?   )rW   rh   rf   rX   rY   r?      s   r@   c                 C  rS   rT   rA   rV   rX   rX   rY   rA      rZ   z_ModuleClient.timeoutc                 C  r]   rT   rj   r^   rX   rX   rY   rA      r_   rB   c                 C  rS   rT   rC   rV   rX   rX   rY   rC      rZ   z_ModuleClient.max_retriesc                 C  r]   rT   rk   r^   rX   rX   rY   rC      r_   rD   c                 C  rS   rT   rE   rV   rX   rX   rY   _custom_headers   rZ   z_ModuleClient._custom_headersc                 C  r]   rT   rl   r^   rX   rX   rY   rm      r_   rF   c                 C  rS   rT   rG   rV   rX   rX   rY   _custom_query   rZ   z_ModuleClient._custom_queryc                 C  r]   rT   rn   r^   rX   rX   rY   ro      r_   _httpx.Clientc                   s   t pt jS rT   )rH   re   _clientrV   rf   rX   rY   rq      s   z_ModuleClient._clientc                 C  r]   rT   )rH   r^   rX   rX   rY   rq      r_   )rR   r;   )r[   r;   rR   r\   )rR   rb   )rh   ri   rR   r\   )rR   r@   )r[   r@   rR   r\   )rR   rB   )r[   rB   rR   r\   )rR   rD   )r[   rD   rR   r\   )rR   rF   )r[   rF   rR   r\   )rR   rp   )r[   rp   rR   r\   )__name__
__module____qualname__propertyr   r<   setterr=   r>   r?   rA   rC   rm   ro   rq   __classcell__rX   rX   rf   rY   rQ      s\    rQ   c                   @  s   e Zd ZdS )_AzureModuleClientN)rr   rs   rt   rX   rX   rX   rY   rx      s    rx   c                      s   e Zd Zd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrR   r\   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`)re   __init__rV   rf   rX   rY   rz      s   z)_AmbiguousModuleClientUsageError.__init__rR   r\   )rr   rs   rt   rz   rw   rX   rX   rf   rY   ry      s    ry   rR   boolc                   C  s   t jdd uS )NZOPENAI_API_KEY)_osenvirongetrX   rX   rX   rY   _has_openai_credentials  s   r   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rM   r}   r~   r   rX   rX   rX   rY   _has_azure_credentials  s   r   c                   C  s    t jdd uptd uptd uS )NrN   )r}   r~   r   rO   rP   rX   rX   rX   rY   _has_azure_ad_credentials  s
   r   zOpenAI | Nonerq   r   c                  C  s   t d u rytd u rtjdatd u rtjdatd u r"tjdatd u rTt } t	 }t
 }| r8|s5|r8t td us@td urKtjdd urKt |sO|rRdandatdkrjt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td	a t S t S )	NrL   rN   rJ   r   r1   r:   )rK   rM   r<   rO   rP   r=   r?   rA   rC   rE   rG   rH   )	r<   r=   r>   r?   rA   rC   rE   rG   rH   )rq   rM   r}   r~   r   rO   rK   rI   r   r   r   ry   rP   rx   r<   r=   r?   rA   rC   rE   rG   rH   rQ   r>   )Z
has_openaiZ	has_azureZhas_azure_adrX   rX   rY   _load_client  sf   r   r\   c                   C  s   d a d S rT   )rq   rX   rX   rX   rY   _reset_clientY  s   r   )betachataudiofilesimagesmodelsbatchesuploads	responses
embeddingscompletionsfine_tuningmoderationsvector_stores)rR   r|   )rR   r   r{   )
__future__r   osr}   Ztyping_extensionsr    r   _typesr   r   r   r	   r
   r   _utilsr   rq   r   r   r   r   r   r   r   r   Z_modelsr   _versionr   r   	_responser   r   
_constantsr   r   r   _exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   Z_base_clientr-   r.   Z_utils._logsr/   Z_setup_loggingZ_legacy_responser0   __all__libr1   Z_azurer2   versionr3   Z	lib.azurer4   r5   Zlib._old_apiZlib.streamingr7   r8   localsZ__localsZ__name
startswithrs   	TypeErrorAttributeErrortypingZ_tZ_teZhttpxrc   r<   __annotations__r=   r>   r?   rA   rC   rE   rG   rH   LiteralZ_ApiTypecastr~   r   rI   rK   rM   rO   rP   rQ   rx   ry   r   r   r   r   r   Z_module_clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   rX   rX   rX   rY   <module>   sx    ,H+

i




BD