o
    Rh(                  
   @  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   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 rY   Q/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/openai/__init__.pyr<         z_ModuleClient.api_keyvalueNonec                 C     |a d S rU   rV   rX   r\   rY   rY   rZ   r<         c                 C  rT   rU   r=   rW   rY   rY   rZ   r=      r[   z_ModuleClient.organizationc                 C  r^   rU   ra   r_   rY   rY   rZ   r=      r`   c                 C  rT   rU   r>   rW   rY   rY   rZ   r>      r[   z_ModuleClient.projectc                 C  r^   rU   rb   r_   rY   rY   rZ   r>      r`   
_httpx.URLc                   s   t d ur	tt S t j S rU   )r?   _httpxURLsuperrW   	__class__rY   rZ   r?      s   
z_ModuleClient.base_urlurl_httpx.URL | strc                   s   |t  _d S rU   )rf   r?   )rX   ri   rg   rY   rZ   r?      s   r@   c                 C  rT   rU   rA   rW   rY   rY   rZ   rA      r[   z_ModuleClient.timeoutc                 C  r^   rU   rk   r_   rY   rY   rZ   rA      r`   rB   c                 C  rT   rU   rC   rW   rY   rY   rZ   rC      r[   z_ModuleClient.max_retriesc                 C  r^   rU   rl   r_   rY   rY   rZ   rC      r`   rD   c                 C  rT   rU   rE   rW   rY   rY   rZ   _custom_headers   r[   z_ModuleClient._custom_headersc                 C  r^   rU   rm   r_   rY   rY   rZ   rn      r`   rF   c                 C  rT   rU   rG   rW   rY   rY   rZ   _custom_query   r[   z_ModuleClient._custom_queryc                 C  r^   rU   ro   r_   rY   rY   rZ   rp      r`   _httpx.Clientc                   s   t pt jS rU   )rH   rf   _clientrW   rg   rY   rZ   rr      s   z_ModuleClient._clientc                 C  r^   rU   )rH   r_   rY   rY   rZ   rr      r`   )rS   r;   )r\   r;   rS   r]   )rS   rc   )ri   rj   rS   r]   )rS   r@   )r\   r@   rS   r]   )rS   rB   )r\   rB   rS   r]   )rS   rD   )r\   rD   rS   r]   )rS   rF   )r\   rF   rS   r]   )rS   rq   )r\   rq   rS   r]   )__name__
__module____qualname__propertyr   r<   setterr=   r>   r?   rA   rC   rn   rp   rr   __classcell__rY   rY   rg   rZ   rR      s\    rR   c                   @  s   e Zd ZdS )_AzureModuleClientN)rs   rt   ru   rY   rY   rY   rZ   ry      s    ry   c                      s   e Zd Zd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrS   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`)rf   __init__rW   rg   rY   rZ   r{      s   z)_AmbiguousModuleClientUsageError.__init__rS   r]   )rs   rt   ru   r{   rx   rY   rY   rg   rZ   rz      s    rz   rS   boolc                   C  s   t jdd uS )NOPENAI_API_KEY)_osenvirongetrY   rY   rY   rZ   _has_openai_credentials  s   r   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rN   r   r   r   rY   rY   rY   rZ   _has_azure_credentials  s   r   c                   C  s    t jdd uptd uptd uS )NrO   )r   r   r   rP   rQ   rY   rY   rY   rZ   _has_azure_ad_credentials  s
   r   zOpenAI | Nonerr   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 )	NrM   rO   rK   r   r1   r:   )rL   rN   r<   rP   rQ   r=   r?   rA   rC   rE   rG   rH   )	r<   r=   r>   r?   rA   rC   rE   rG   rH   )rr   rN   r   r   r   rP   rL   rJ   r   r   r   rz   rQ   ry   r<   r=   r?   rA   rC   rE   rG   rH   rR   r>   )
has_openai	has_azurehas_azure_adrY   rY   rZ   _load_client  sf   r   r]   c                   C  s   d a d S rU   )rr   rY   rY   rY   rZ   _reset_clientY  s   r   )betachataudiofilesimagesmodelsbatchesuploads	responses
embeddingscompletionsfine_tuningmoderationsvector_stores)rS   r}   )rS   r   r|   )
__future__r   osr   typing_extensionsr    r   _typesr   r   r   r	   r
   r   _utilsr   rr   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_legacy_responser0   __all__libr1   _azurer2   versionr3   	lib.azurer4   r5   lib._old_apilib.streamingr7   r8   locals__locals__name
startswithrt   	TypeErrorAttributeErrortyping_t_tehttpxrd   r<   __annotations__r=   r>   r?   rA   rC   rE   rG   rH   Literal_ApiTypecastr   r   rJ   rL   rN   rP   rQ   rR   ry   rz   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   rY   rY   rY   rZ   <module>   sx    ,H+

i




BD