a
    _g8(                  
   @  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 n eReSfy   Y n0 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(Zod<d=d>d?Zpd<d=d@dAZqd<d=dBdCZrdadDeZdE< dFd=dGdHZsdId=dJdKZtddLlumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZ dS )M    )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                      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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  ZS )(_ModuleClientr;   returnc                 C  s   t S Nr<   self rX   ]/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/openai/__init__.pyr<      s    z_ModuleClient.api_keyNone)valuerS   c                 C  s   |a d S rT   rU   rW   r[   rX   rX   rY   r<      s    c                 C  s   t S rT   r=   rV   rX   rX   rY   r=      s    z_ModuleClient.organizationc                 C  s   |a d S rT   r]   r\   rX   rX   rY   r=      s    c                 C  s   t S rT   r>   rV   rX   rX   rY   r>      s    z_ModuleClient.projectc                 C  s   |a d S rT   r^   r\   rX   rX   rY   r>      s    z
_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_urlz_httpx.URL | str)urlrS   c                   s   |t  _d S rT   )ra   r?   )rW   rd   rb   rX   rY   r?      s    r@   c                 C  s   t S rT   rA   rV   rX   rX   rY   rA      s    z_ModuleClient.timeoutc                 C  s   |a d S rT   re   r\   rX   rX   rY   rA      s    rB   c                 C  s   t S rT   rC   rV   rX   rX   rY   rC      s    z_ModuleClient.max_retriesc                 C  s   |a d S rT   rf   r\   rX   rX   rY   rC      s    rD   c                 C  s   t S rT   rE   rV   rX   rX   rY   _custom_headers   s    z_ModuleClient._custom_headersc                 C  s   |a d S rT   rg   r\   rX   rX   rY   rh      s    rF   c                 C  s   t S rT   rG   rV   rX   rX   rY   _custom_query   s    z_ModuleClient._custom_queryc                 C  s   |a d S rT   ri   r\   rX   rX   rY   rj      s    z_httpx.Clientc                   s   t p
t jS rT   )rH   ra   _clientrV   rb   rX   rY   rk      s    z_ModuleClient._clientc                 C  s   |a d S rT   )rH   r\   rX   rX   rY   rk      s    )__name__
__module____qualname__propertyr   r<   setterr=   r>   r?   rA   rC   rh   rj   rk   __classcell__rX   rX   rb   rY   rQ      sZ   rQ   c                   @  s   e Zd ZdS )_AzureModuleClientN)rl   rm   rn   rX   rX   rX   rY   rr      s   rr   c                      s"   e Zd Zdd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrZ   rR   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`)ra   __init__rV   rb   rX   rY   rt      s    z)_AmbiguousModuleClientUsageError.__init__)rl   rm   rn   rt   rq   rX   rX   rb   rY   rs      s   rs   boolrR   c                   C  s   t jdd uS )NZOPENAI_API_KEY)_osenvirongetrX   rX   rX   rY   _has_openai_credentials  s    ry   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rM   rv   rw   rx   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   )rv   rw   rx   rO   rP   rX   rX   rX   rY   _has_azure_ad_credentials  s
    r|   zOpenAI | Nonerk   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td	a t S t S )	NrL   rN   rJ   rz   r1   r:   )rK   rM   r<   rO   rP   r=   r?   rA   rC   rE   rG   rH   )	r<   r=   r>   r?   rA   rC   rE   rG   rH   )rk   rM   rv   rw   rx   rO   rK   rI   ry   r{   r|   rs   rP   rr   r<   r=   r?   rA   rC   rE   rG   rH   rQ   r>   )Z
has_openaiZ	has_azureZhas_azure_adrX   rX   rY   _load_client  sf    r}   rZ   c                   C  s   d a d S rT   )rk   rX   rX   rX   rY   _reset_clientY  s    r~   )betachataudiofilesimagesmodelsbatches
embeddingscompletionsfine_tuningmoderations)
__future__r   osrv   Ztyping_extensionsr    r   _typesr   r   r   r	   r
   r   _utilsr   rk   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
startswithrm   	TypeErrorAttributeErrortypingZ_tZ_teZhttpxr_   r<   __annotations__r=   r>   r?   rA   rC   rE   rG   rH   LiteralZ_ApiTypecastrw   rx   rI   rK   rM   rO   rP   rQ   rr   rs   ry   r{   r|   r}   r~   Z_module_clientr   r   r   r   r   r   r   r   r   r   r   rX   rX   rX   rY   <module>   sr    ,H+

iB