o
    ØRWj@5  ã                
   @  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;m<Z<m=Z=m>Z> ddl?m@Z@mAZAmBZB ddlCmDZE ddlFmGZG ddlHmIZImJZJ g d¢ZKejLsÂddlMmNZN ddlOmPZQmRZSmTZT ddlUmVZV ddlWmXZXmYZY ddlZm[Z[m\Z\ ddl]T ddl^m_Z_m`Z` eEƒ  eaƒ ZbeKD ]Zcec dd¡�szdebec _eW qö efegf�y   Y qöw qöd dlZd dlZhd dliZjddl?m'Z'm(Z( dakdeld< damdeld< dandeld < daodeld!< dapdeld"< dZqd#eld$< e'ard%eld&< e(asd'eld(< datd)eld*< daud+eld,< davd-eld.< ehjwd/ Zxe yexejz {d0¡¡a|d1eld2< ejz {d3¡a}deld4< ejz {d5¡a~deld6< ejz {d7¡adeld8< dZ€d9eld:< da�deld;< dZ‚d<eld=< G d>d?„ d?eƒZƒG d@dA„ dAeƒeXƒZ„G dBdC„ dCeƒe[ƒZ…G dDdE„ dEe-ƒZ†dWdHdI„Z‡dWdJdK„ZˆdWdLdM„Z‰dadNeldO< dXdQdR„ZŠdYdTdU„Z‹ddVlŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœm�Z�mžZžmŸZŸm Z m¡Z¡m¢Z¢ dS )Zé    )Ú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Ú
OAuthErrorÚOpenAIErrorÚConflictErrorÚNotFoundErrorÚAPIStatusErrorÚRateLimitErrorÚAPITimeoutErrorÚBadRequestErrorÚAPIConnectionErrorÚAuthenticationErrorÚInternalServerErrorÚPermissionDeniedErrorÚLengthFinishReasonErrorÚWebSocketQueueFullErrorÚUnprocessableEntityErrorÚAPIResponseValidationErrorÚInvalidWebhookSignatureErrorÚContentFilterFinishReasonErrorÚWebSocketConnectionClosedError)ÚDefaultHttpxClientÚDefaultAioHttpClientÚDefaultAsyncHttpxClient)Úsetup_logging)ÚHttpxBinaryResponseContent)ÚReconnectingEventÚReconnectingOverrides)3r   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,   r1   r0   r   r   r   r   r   r   r   r   ÚBedrockOpenAIÚAsyncBedrockOpenAIr   r   r   r   r   r3   r5   r4   r8   r9   r-   r2   )Ú	resources)ÚazureÚbedrockÚpydantic_function_tool)ÚVERSION)ÚAzureOpenAIÚAsyncAzureOpenAI)r:   r;   )Ú*)ÚAssistantEventHandlerÚAsyncAssistantEventHandlerÚ__Úopenai)r   r   ú
str | NoneÚapi_keyÚadmin_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)rG   r=   úamazon-bedrockÚ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_providerÚ_bedrock_api_keyz$_bedrock.BedrockTokenProvider | NoneÚbedrock_token_providerc                      s’  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.dd„ƒƒZ
e
jd/dd„ƒZ
eed0‡ fdd„ƒƒZejd1‡ fdd„ƒZeed2dd„ƒƒZejd3dd„ƒZeed4dd „ƒƒZejd5d!d „ƒZeed6d#d$„ƒƒZejd7d%d$„ƒZeed8d'd(„ƒƒZejd9d)d(„ƒZeed:‡ fd+d,„ƒƒZejd;d-d,„ƒZ‡  ZS )<Ú_ModuleClientÚreturnrH   c                 C  ó   t S ©N©rI   ©Úself© rk   ú^/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/openai/__init__.pyrI   ±   ó   z_ModuleClient.api_keyÚvalueÚNonec                 C  ó   |a d S rg   rh   ©rj   rn   rk   rk   rl   rI   ¶   ó   c                 C  rf   rg   ©rJ   ri   rk   rk   rl   rJ   ¼   rm   z_ModuleClient.admin_api_keyc                 C  rp   rg   rs   rq   rk   rk   rl   rJ   Á   rr   c                 C  rf   rg   ©rK   ri   rk   rk   rl   rK   Ç   rm   z_ModuleClient.organizationc                 C  rp   rg   rt   rq   rk   rk   rl   rK   Ì   rr   c                 C  rf   rg   ©rL   ri   rk   rk   rl   rL   Ò   rm   z_ModuleClient.projectc                 C  rp   rg   ru   rq   rk   rk   rl   rL   ×   rr   c                 C  rf   rg   ©rM   ri   rk   rk   rl   rM   Ý   rm   z_ModuleClient.webhook_secretc                 C  rp   rg   rv   rq   rk   rk   rl   rM   â   rr   ú
_httpx.URLc                   s   t d ur	t t ¡S tƒ j S rg   )rN   Ú_httpxÚURLÚsuperri   ©Ú	__class__rk   rl   rN   è   s   
z_ModuleClient.base_urlÚurlú_httpx.URL | strc                   s   |t ƒ _d S rg   )rz   rN   )rj   r}   r{   rk   rl   rN   ð   s   rO   c                 C  rf   rg   ©rP   ri   rk   rk   rl   rP   ô   rm   z_ModuleClient.timeoutc                 C  rp   rg   r   rq   rk   rk   rl   rP   ù   rr   rQ   c                 C  rf   rg   ©rR   ri   rk   rk   rl   rR   ÿ   rm   z_ModuleClient.max_retriesc                 C  rp   rg   r€   rq   rk   rk   rl   rR     rr   rS   c                 C  rf   rg   ©rT   ri   rk   rk   rl   Ú_custom_headers
  rm   z_ModuleClient._custom_headersc                 C  rp   rg   r�   rq   rk   rk   rl   r‚     rr   rU   c                 C  rf   rg   ©rV   ri   rk   rk   rl   Ú_custom_query  rm   z_ModuleClient._custom_queryc                 C  rp   rg   rƒ   rq   rk   rk   rl   r„     rr   ú_httpx.Clientc                   s   t ptƒ jS rg   )rW   rz   Ú_clientri   r{   rk   rl   r†      s   z_ModuleClient._clientc                 C  rp   rg   )rW   rq   rk   rk   rl   r†   %  rr   ©re   rH   ©rn   rH   re   ro   )re   rw   )r}   r~   re   ro   )re   rO   )rn   rO   re   ro   )re   rQ   )rn   rQ   re   ro   )re   rS   )rn   rS   re   ro   )re   rU   )rn   rU   re   ro   )re   r…   )rn   r…   re   ro   )Ú__name__Ú
__module__Ú__qualname__Úpropertyr   rI   ÚsetterrJ   rK   rL   rM   rN   rP   rR   r‚   r„   r†   Ú__classcell__rk   rk   r{   rl   rd   ­   sp    rd   c                   @  s   e Zd ZdS )Ú_AzureModuleClientN)r‰   rŠ   r‹   rk   rk   rk   rl   r�   ,  s    r�   c                      sV   e Zd Zeeddd„ƒƒZejddd„ƒZed‡ fd	d
„ƒZed‡ fdd„ƒZ‡  Z	S )Ú_BedrockModuleClientre   rH   c                 C  s   t d urt S tS rg   )rI   rb   ri   rk   rk   rl   rI   1  s   z_BedrockModuleClient.api_keyrn   ro   c                 C  rp   rg   )rb   rq   rk   rk   rl   rI   6  rr   Ústrc                   s   t d urt S tƒ  ¡ S rg   )rI   rz   Ú_refresh_api_keyri   r{   rk   rl   r’   <  s   
z%_BedrockModuleClient._refresh_api_keyú!_bedrock._LegacyAuthConfigurationc                   s   t d urdt fS tƒ  ¡ S )NÚbearer)rI   rz   Ú_legacy_auth_configurationri   r{   rk   rl   r•   C  s   
z/_BedrockModuleClient._legacy_auth_configurationr‡   rˆ   )re   r‘   )re   r“   )
r‰   rŠ   r‹   rŒ   r   rI   r�   r’   r•   rŽ   rk   rk   r{   rl   r�   0  s    r�   c                      s   e Zd Zd‡ fdd„Z‡  ZS )Ú _AmbiguousModuleClientUsageErrorre   ro   c                   s   t ƒ  d¡ d S )Nz”Ambiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai`, `azure`, or `amazon-bedrock`)rz   Ú__init__ri   r{   rk   rl   r—   K  s   ÿz)_AmbiguousModuleClientUsageError.__init__©re   ro   )r‰   rŠ   r‹   r—   rŽ   rk   rk   r{   rl   r–   J  s    r–   re   Úboolc                   C  s   t j d¡d uS )NÚOPENAI_API_KEY)Ú_osÚenvironÚgetrk   rk   rk   rl   Ú_has_openai_credentialsQ  s   rž   c                   C  s   t d uptj d¡d uS )NÚAZURE_OPENAI_API_KEY)r^   r›   rœ   r�   rk   rk   rk   rl   Ú_has_azure_credentialsU  s   r    c                   C  s    t j d¡d uptd uptd uS )Nr_   )r›   rœ   r�   r`   ra   rk   rk   rk   rl   Ú_has_azure_ad_credentialsY  s
   ÿýr¡   zOpenAI | Noner†   r   c                  C  s&  t d u r‘t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dkr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td
d�a t S t S )Nr]   r_   r[   rŸ   r=   rG   )r\   r^   rI   r`   ra   rK   rN   rP   rR   rT   rV   rW   rX   )rI   rc   rK   rL   rM   rN   rP   rR   rT   rV   rW   F)rI   rJ   rK   rL   rM   rN   rP   rR   rT   rV   rW   Ú_enforce_credentials)r†   r^   r›   rœ   r�   r`   r\   rZ   rž   r    r¡   r–   ra   r�   rI   rK   rN   rP   rR   rT   rV   rW   r�   rc   rL   rM   rd   rJ   )Ú
has_openaiÚ	has_azureÚhas_azure_adrk   rk   rl   Ú_load_clientd  sŠ   ÿþôõôr¦   ro   c                   C  s   d a d S rg   )r†   rk   rk   rk   rl   Ú_reset_client¹  s   r§   )ÚbetaÚchatÚadminÚaudioÚevalsÚfilesÚimagesÚmodelsÚskillsÚvideosÚbatchesÚuploadsÚrealtimeÚwebhooksÚ	responsesÚ
containersÚ
embeddingsÚcompletionsÚfine_tuningÚmoderationsÚconversationsÚvector_stores)re   r™   )re   r   r˜   )£Ú
__future__r   Úosr›   ÚtypingÚ_tÚtyping_extensionsr   Ú r   Ú_typesr   r   r   r	   r
   r   r   r   Ú_utilsr   r†   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.   r/   r0   r1   r2   Ú_base_clientr3   r4   r5   Ú_utils._logsr6   Ú_setup_loggingÚ_legacy_responser7   Útypes.websocket_reconnectionr8   r9   Ú__all__ÚTYPE_CHECKINGÚ_utils._resources_proxyr<   Úlibr=   Ú_azurer>   Ú_bedrockr?   Úversionr@   Ú	lib.azurerA   rB   Úlib.bedrockr:   r;   Úlib._old_apiÚlib.streamingrD   rE   ÚlocalsÚ__localsÚ__nameÚ
startswithrŠ   Ú	TypeErrorÚAttributeErrorÚ_teÚhttpxrx   rI   Ú__annotations__rJ   rK   rL   rM   rN   rP   rR   rT   rV   rW   ÚLiteralÚ_ApiTypeÚcastrœ   r�   rZ   r\   r^   r`   ra   rb   rc   rd   r�   r�   r–   rž   r    r¡   r¦   r§   Ú_module_clientr¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   rk   rk   rk   rl   Ú<module>   sŒ   (,X6þý





Ud