o
    #`^h'                  
   @  sb  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 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.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z; g dZ<ddl=m>Z?m@Z@ ddlAmBZB ddlCmDZDmEZE ddlFT ddlGmHZHmIZI e;  eJ ZKe<D ]ZLeLMdszdeKeL _NW q eOePfy   Y qw qd dlQZRd dlZSd dlTZUddl6m"Z"m#Z# daVdeWd< daXdeWd< daYdeWd< dZZdeWd< e"a[deWd < e#a\d!eWd"< da]d#eWd$< da^d%eWd&< da_d'eWd(< eSj`d) ZaeRbeaejcdd*aed+eWd,< ejcdd-afdeWd.< ejcdd/agdeWd0< ejcdd1ahdeWd2< dZid3eWd4< G d5d6 d6eZjG d7d8 d8ejeDZkG d9d: d:e'ZldLd=d>ZmdLd?d@ZndLdAdBZodadCeWdD< dMdFdGZpdNdIdJZqddKlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} dS )O    )annotationsN)override   )types)	NOT_GIVEN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)'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)r8   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                      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returnr9   c                 C     t S Nr:   self rW   M/home/air/shanriGPT/back/venv/lib/python3.10/site-packages/openai/__init__.pyr:         z_ModuleClient.api_keyvalueNonec                 C     |a d S rS   rT   rV   rZ   rW   rW   rX   r:         c                 C  rR   rS   r;   rU   rW   rW   rX   r;      rY   z_ModuleClient.organizationc                 C  r\   rS   r_   r]   rW   rW   rX   r;      r^   c                 C  rR   rS   r<   rU   rW   rW   rX   r<      rY   z_ModuleClient.projectc                 C  r\   rS   r`   r]   rW   rW   rX   r<      r^   
_httpx.URLc                   s   t d ur	tt S t j S rS   )r=   _httpxURLsuperrU   	__class__rW   rX   r=      s   
z_ModuleClient.base_urlurl_httpx.URL | strc                   s   |t  _d S rS   )rd   r=   )rV   rg   re   rW   rX   r=      s   r>   c                 C  rR   rS   r?   rU   rW   rW   rX   r?      rY   z_ModuleClient.timeoutc                 C  r\   rS   ri   r]   rW   rW   rX   r?      r^   r@   c                 C  rR   rS   rA   rU   rW   rW   rX   rA      rY   z_ModuleClient.max_retriesc                 C  r\   rS   rj   r]   rW   rW   rX   rA      r^   rB   c                 C  rR   rS   rC   rU   rW   rW   rX   _custom_headers   rY   z_ModuleClient._custom_headersc                 C  r\   rS   rk   r]   rW   rW   rX   rl      r^   rD   c                 C  rR   rS   rE   rU   rW   rW   rX   _custom_query   rY   z_ModuleClient._custom_queryc                 C  r\   rS   rm   r]   rW   rW   rX   rn      r^   _httpx.Clientc                   s   t pt jS rS   )rF   rd   _clientrU   re   rW   rX   rp      s   z_ModuleClient._clientc                 C  r\   rS   )rF   r]   rW   rW   rX   rp      r^   )rQ   r9   )rZ   r9   rQ   r[   )rQ   ra   )rg   rh   rQ   r[   )rQ   r>   )rZ   r>   rQ   r[   )rQ   r@   )rZ   r@   rQ   r[   )rQ   rB   )rZ   rB   rQ   r[   )rQ   rD   )rZ   rD   rQ   r[   )rQ   ro   )rZ   ro   rQ   r[   )__name__
__module____qualname__propertyr   r:   setterr;   r<   r=   r?   rA   rl   rn   rp   __classcell__rW   rW   re   rX   rP      s\    rP   c                   @  s   e Zd ZdS )_AzureModuleClientN)rq   rr   rs   rW   rW   rW   rX   rw      s    rw   c                      s   e Zd Zd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrQ   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`)rd   __init__rU   re   rW   rX   ry      s   z)_AmbiguousModuleClientUsageError.__init__rQ   r[   )rq   rr   rs   ry   rv   rW   rW   re   rX   rx      s    rx   rQ   boolc                   C  s   t jdd uS )NOPENAI_API_KEY)_osenvirongetrW   rW   rW   rX   _has_openai_credentials  s   r   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rL   r}   r~   r   rW   rW   rW   rX   _has_azure_credentials  s   r   c                   C  s    t jdd uptd uptd uS )NrM   )r}   r~   r   rN   rO   rW   rW   rW   rX   _has_azure_ad_credentials
  s
   r   zOpenAI | Nonerp   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 )	NrK   rM   rI   r   r/   r8   )rJ   rL   r:   rN   rO   r;   r=   r?   rA   rC   rE   rF   )	r:   r;   r<   r=   r?   rA   rC   rE   rF   )rp   rL   r}   r~   r   rN   rJ   rH   r   r   r   rx   rO   rw   r:   r;   r=   r?   rA   rC   rE   rF   rP   r<   )
has_openai	has_azurehas_azure_adrW   rW   rX   _load_client  sf   r   r[   c                   C  s   d a d S rS   )rp   rW   rW   rW   rX   _reset_clientW  s   r   )betachataudiofilesimagesmodelsbatches
embeddingscompletionsfine_tuningmoderations)rQ   r{   )rQ   r   rz   )~
__future__r   osr}   typing_extensionsr    r   _typesr   r   r   r	   r
   _utilsr   rp   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__all__libr/   _azurer0   versionr1   	lib.azurer2   r3   lib._old_apilib.streamingr5   r6   locals__locals__name
startswithrr   	TypeErrorAttributeErrortyping_t_tehttpxrb   r:   __annotations__r;   r<   r=   r?   rA   rC   rE   rF   Literal_ApiTypecastr~   r   rH   rJ   rL   rN   rO   rP   rw   rx   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   rW   rW   rW   rX   <module>   sv   ,H*

i




B8