o
    i+                  
   @  s  U d dl mZ d dl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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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; ddl<m=Z=m>Z>m?Z? ddl@mAZB ddlCmDZD g dZEejFsddlGmHZH ddlImJZKmLZL ddlMmNZN ddlOmPZPmQZQ ddlRT ddlSmTZTmUZU eB  eV ZWeED ]ZXeXYdszdeWeX _ZW q e[e\fy   Y qw qd dlZd dlZ]d dl^Z_ddl<m'Z'm(Z( da`dead< dabdead< dacdead< daddead< dZed ead!< e'afd"ead#< e(agd$ead%< dahd&ead'< daid(ead)< dajd*ead+< e]jkd, Zlemelejnod-apd.ead/< ejnod0aqdead1< ejnod2ardead3< ejnod4asdead5< dZtd6ead7< G d8d9 d9eZuG d:d; d;euePZvG d<d= d=e,ZwdOd@dAZxdOdBdCZydOdDdEZzdadFeadG< dPdIdJZ{dQdLdMZ|ddNl}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dS )R    )annotationsN)override   )types)	NOT_GIVENOmitNoneTypeNotGiven	TransportProxiesTypesomit	not_given)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InvalidWebhookSignatureErrorContentFilterFinishReasonError)DefaultHttpxClientDefaultAioHttpClient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   r   r0   r2   r1   )	resources)azurepydantic_function_tool)VERSION)AzureOpenAIAsyncAzureOpenAI)*)AssistantEventHandlerAsyncAssistantEventHandler__openai)r   r   
str | Noneapi_keyorganizationprojectwebhook_secretz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?   r6   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                      sp  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+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d0ddZeed1ddZejd2ddZeed3d d!Zejd4d"d!Zeed5d$d%Zejd6d&d%Zeed7 fd(d)Zejd8d*d)Z  ZS )9_ModuleClientreturnr@   c                 C     t S NrA   self r^   I/home/kim/smarthome/.venv/lib/python3.10/site-packages/openai/__init__.pyrA         z_ModuleClient.api_keyvalueNonec                 C     |a d S rZ   r[   r]   ra   r^   r^   r_   rA         c                 C  rY   rZ   rB   r\   r^   r^   r_   rB      r`   z_ModuleClient.organizationc                 C  rc   rZ   rf   rd   r^   r^   r_   rB      re   c                 C  rY   rZ   rC   r\   r^   r^   r_   rC      r`   z_ModuleClient.projectc                 C  rc   rZ   rg   rd   r^   r^   r_   rC      re   c                 C  rY   rZ   rD   r\   r^   r^   r_   rD      r`   z_ModuleClient.webhook_secretc                 C  rc   rZ   rh   rd   r^   r^   r_   rD      re   
_httpx.URLc                   s   t d ur	tt S t j S rZ   )rE   _httpxURLsuperr\   	__class__r^   r_   rE      s   
z_ModuleClient.base_urlurl_httpx.URL | strc                   s   |t  _d S rZ   )rl   rE   )r]   ro   rm   r^   r_   rE      s   rF   c                 C  rY   rZ   rG   r\   r^   r^   r_   rG      r`   z_ModuleClient.timeoutc                 C  rc   rZ   rq   rd   r^   r^   r_   rG      re   rH   c                 C  rY   rZ   rI   r\   r^   r^   r_   rI      r`   z_ModuleClient.max_retriesc                 C  rc   rZ   rr   rd   r^   r^   r_   rI      re   rJ   c                 C  rY   rZ   rK   r\   r^   r^   r_   _custom_headers   r`   z_ModuleClient._custom_headersc                 C  rc   rZ   rs   rd   r^   r^   r_   rt      re   rL   c                 C  rY   rZ   rM   r\   r^   r^   r_   _custom_query   r`   z_ModuleClient._custom_queryc                 C  rc   rZ   ru   rd   r^   r^   r_   rv      re   _httpx.Clientc                   s   t pt jS rZ   )rN   rl   _clientr\   rm   r^   r_   rx     s   z_ModuleClient._clientc                 C  rc   rZ   )rN   rd   r^   r^   r_   rx     re   )rX   r@   )ra   r@   rX   rb   )rX   ri   )ro   rp   rX   rb   )rX   rF   )ra   rF   rX   rb   )rX   rH   )ra   rH   rX   rb   )rX   rJ   )ra   rJ   rX   rb   )rX   rL   )ra   rL   rX   rb   )rX   rw   )ra   rw   rX   rb   )__name__
__module____qualname__propertyr   rA   setterrB   rC   rD   rE   rG   rI   rt   rv   rx   __classcell__r^   r^   rm   r_   rW      sf    rW   c                   @  s   e Zd ZdS )_AzureModuleClientN)ry   rz   r{   r^   r^   r^   r_   r     s    r   c                      s   e Zd Zd fddZ  ZS ) _AmbiguousModuleClientUsageErrorrX   rb   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`)rl   __init__r\   rm   r^   r_   r     s   z)_AmbiguousModuleClientUsageError.__init__rX   rb   )ry   rz   r{   r   r~   r^   r^   rm   r_   r     s    r   rX   boolc                   C  s   t jdd uS )NZOPENAI_API_KEY)_osenvirongetr^   r^   r^   r_   _has_openai_credentials  s   r   c                   C  s   t d uptjdd uS )NAZURE_OPENAI_API_KEY)rS   r   r   r   r^   r^   r^   r_   _has_azure_credentials  s   r   c                   C  s    t jdd uptd uptd uS )NrT   )r   r   r   rU   rV   r^   r^   r^   r_   _has_azure_ad_credentials"  s
   r   zOpenAI | Nonerx   r   c                  C  s   t d u rzt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td
a t S t S )	NrR   rT   rP   r   r6   r?   )rQ   rS   rA   rU   rV   rB   rE   rG   rI   rK   rM   rN   )
rA   rB   rC   rD   rE   rG   rI   rK   rM   rN   )rx   rS   r   r   r   rU   rQ   rO   r   r   r   r   rV   r   rA   rB   rE   rG   rI   rK   rM   rN   rW   rC   rD   )Z
has_openaiZ	has_azureZhas_azure_adr^   r^   r_   _load_client-  sh   r   rb   c                   C  s   d a d S rZ   )rx   r^   r^   r^   r_   _reset_clientp  s   r   )betachataudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtimewebhooks	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)rX   r   )rX   r   r   )
__future__r   osr   typingZ_tZtyping_extensionsr    r   _typesr   r   r   r	   r
   r   r   r   Z_utilsr   rx   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.   r/   Z_base_clientr0   r1   r2   Z_utils._logsr3   Z_setup_loggingZ_legacy_responser4   __all__TYPE_CHECKINGZ_utils._resources_proxyr5   libr6   Z_azurer7   versionr8   Z	lib.azurer9   r:   Zlib._old_apiZlib.streamingr<   r=   localsZ__localsZ__name
startswithrz   	TypeErrorAttributeErrorZ_teZhttpxrj   rA   __annotations__rB   rC   rD   rE   rG   rI   rK   rM   rN   LiteralZ_ApiTypecastr   r   rO   rQ   rS   rU   rV   rW   r   r   r   r   r   r   r   Z_module_clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r^   r^   r^   r_   <module>   s   (,L/

t




C`