a
    _ŠÝg;[  ã                   @  sœ  d dl mZ d dlZd dlmZmZmZ d dlmZ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mZ dd	l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$ 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/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 g d¢Z8G dd„ de,ƒZ9G dd„ de-ƒZ:G dd„ dƒZ;G dd„ dƒZ<G dd„ dƒZ=G dd „ d ƒZ>e9Z?e:Z@dS )!é    )ÚannotationsN)ÚAnyÚUnionÚMapping)ÚSelfÚoverrideé   )Ú_exceptions©ÚQuerystring)Ú	NOT_GIVENÚOmitÚTimeoutÚNotGivenÚ	TransportÚProxiesTypesÚRequestOptions)Úis_givenÚ
is_mappingÚget_async_library)Ú__version__)ÚfilesÚimagesÚmodelsÚbatchesÚ
embeddingsÚcompletionsÚmoderations)ÚStreamÚAsyncStream)ÚOpenAIErrorÚAPIStatusError)ÚDEFAULT_MAX_RETRIESÚSyncAPIClientÚAsyncAPIClient)Úbeta)Úchat)Úaudio)Úuploads)Úfine_tuning)r   r   r   r   ÚOpenAIÚAsyncOpenAIÚClientÚAsyncClientc                      sŒ  e Zd ZU ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded < ded!< d"ed#< d$d$d$d$d$eed$d$d$d%d&œdddd"d"d'd(d)d*d+d,d-d.œ‡ fd/d0„Zeed1d2œd3d4„ƒƒZ	eed5d2œd6d7„ƒƒZ
eed8d2œ‡ fd9d:„ƒƒZd$d$d$d$d$ed$ed$d$d$d$i d;œdddd"d"d<d+d=d)d)d*d*d>d?d@œdAdB„ZeZeddCdDdEdFœdGdH„ƒZ‡  ZS )Ir*   zcompletions.Completionsr   z	chat.Chatr&   zembeddings.Embeddingsr   zfiles.Filesr   zimages.Imagesr   zaudio.Audior'   zmoderations.Moderationsr   zmodels.Modelsr   zfine_tuning.FineTuningr)   z	beta.Betar%   zbatches.Batchesr   zuploads.Uploadsr(   ÚOpenAIWithRawResponseÚwith_raw_responseÚOpenAIWithStreamedResponseÚwith_streaming_responseÚstrÚapi_keyú
str | NoneÚorganizationÚprojectústr | httpx.URL | NoneÚwebsocket_base_urlNF©r3   r5   r6   Úbase_urlr8   ÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationú%Union[float, Timeout, None, NotGiven]ÚintúMapping[str, str] | NoneúMapping[str, object] | Nonezhttpx.Client | NoneÚboolÚNone©r3   r5   r6   r:   r8   r;   r<   r=   r>   r?   r@   Úreturnc             
     sN  |du rt j d¡}|du r$tdƒ‚|| _|du r>t j d¡}|| _|du rXt j d¡}|| _|| _|du rxt j d¡}|du r„d}tƒ j	t
||||
||	|d t| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t  | ¡| _t! "| ¡| _!t# $| ¡| _#t%| ƒ| _&t'| ƒ| _(dS )	aE  Construct a new synchronous openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        NÚOPENAI_API_KEYúƒThe api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variableÚOPENAI_ORG_IDÚOPENAI_PROJECT_IDÚOPENAI_BASE_URLúhttps://api.openai.com/v1©Úversionr:   r<   r;   r?   Zcustom_headersZcustom_queryr@   ))ÚosÚenvironÚgetr    r3   r5   r6   r8   ÚsuperÚ__init__r   r   Ú_default_stream_clsr   ZCompletionsr&   ZChatr   Z
Embeddingsr   ZFilesr   ZImagesr'   ZAudior   ZModerationsr   ZModelsr)   Z
FineTuningr%   ÚBetar   ZBatchesr(   ZUploadsr.   r/   r0   r1   ©Úselfr3   r5   r6   r:   r8   r;   r<   r=   r>   r?   r@   ©Ú	__class__© ú\/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/openai/_client.pyrU   J   sV    !ÿø
zOpenAI.__init__r   ©rH   c                 C  s
   t ddS ©NZbrackets)Zarray_formatr
   ©rY   r\   r\   r]   Úqsž   s    z	OpenAI.qsúdict[str, str]c                 C  s   | j }dd|› iS ©NÚAuthorizationzBearer ©r3   ©rY   r3   r\   r\   r]   Úauth_headers£   s    zOpenAI.auth_headersúdict[str, str | Omit]c                   sB   i t ƒ j¥d| jd ur| jntƒ | jd ur0| jntƒ dœ¥| j¥S )NÚfalse©zX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)rT   r=   r5   r   r6   Ú_custom_headersr`   rZ   r\   r]   r=   ©   s    ÿüûzOpenAI.default_headers©r3   r5   r6   r8   r:   r;   r?   r<   r=   Úset_default_headersr>   Úset_default_queryÚ_extra_kwargsú!float | Timeout | None | NotGivenúint | NotGivenúMapping[str, Any]r   ©r3   r5   r6   r8   r:   r;   r?   r<   r=   rm   r>   rn   ro   rH   c                C  sì   |	dur|
durt dƒ‚|dur0|dur0t dƒ‚| j}|	durLi |¥|	¥}n|
durX|
}| j}|durti |¥|¥}n|dur€|}|pˆ| j}| jf |p˜| j|p | j|p¨| j|p°| j|p¸| j	t
|tƒrÈ| jn||t|ƒrØ|n| j||dœ
|¤ŽS ©z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        NzPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)
r3   r5   r6   r8   r:   r;   r?   r<   r=   r>   ©Ú
ValueErrorrk   Z_custom_queryZ_clientr[   r3   r5   r6   r8   r:   Ú
isinstancer   r;   r   r<   ©rY   r3   r5   r6   r8   r:   r;   r?   r<   r=   rm   r>   rn   ro   ÚheadersÚparamsr\   r\   r]   Úcopy´   s:    
öõzOpenAI.copyÚobjectúhttpx.Responser!   ©Úerr_msgÚbodyÚresponserH   c                C  sö   t |ƒr| d|¡n|}|jdkr2tj|||dS |jdkrLtj|||dS |jdkrftj|||dS |jdkr€tj|||dS |jdkrštj|||dS |jdkr´tj	|||dS |jd	krÎtj
|||dS |jd
krètj|||dS t|||dS ©NÚerrori  )r   r€   i‘  i“  i”  i™  i¦  i­  iô  ©r   rS   Ústatus_coder	   ZBadRequestErrorÚAuthenticationErrorZPermissionDeniedErrorZNotFoundErrorZConflictErrorZUnprocessableEntityErrorZRateLimitErrorZInternalServerErrorr!   ©rY   r   r€   r   Údatar\   r\   r]   Ú_make_status_errorí   s$    







zOpenAI._make_status_error©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r"   rU   Úpropertyr   ra   rg   r=   r{   Zwith_optionsr‰   Ú__classcell__r\   r\   rZ   r]   r*   -   sp   
	è,Tñ,7r*   c                      sŒ  e Zd ZU ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded < ded!< d"ed#< d$d$d$d$d$eed$d$d$d%d&œdddd"d"d'd(d)d*d+d,d-d.œ‡ fd/d0„Zeed1d2œd3d4„ƒƒZ	eed5d2œd6d7„ƒƒZ
eed8d2œ‡ fd9d:„ƒƒZd$d$d$d$d$ed$ed$d$d$d$i d;œdddd"d"d<d+d=d)d)d*d*d>d?d@œdAdB„ZeZeddCdDdEdFœdGdH„ƒZ‡  ZS )Ir+   zcompletions.AsyncCompletionsr   zchat.AsyncChatr&   zembeddings.AsyncEmbeddingsr   zfiles.AsyncFilesr   zimages.AsyncImagesr   zaudio.AsyncAudior'   zmoderations.AsyncModerationsr   zmodels.AsyncModelsr   zfine_tuning.AsyncFineTuningr)   zbeta.AsyncBetar%   zbatches.AsyncBatchesr   zuploads.AsyncUploadsr(   ÚAsyncOpenAIWithRawResponser/   ÚAsyncOpenAIWithStreamedResponser1   r2   r3   r4   r5   r6   r7   r8   NFr9   rA   rB   rC   rD   zhttpx.AsyncClient | NonerE   rF   rG   c             
     sN  |du rt j d¡}|du r$tdƒ‚|| _|du r>t j d¡}|| _|du rXt j d¡}|| _|| _|du rxt j d¡}|du r„d}tƒ j	t
||||
||	|d t| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t | ¡| _t  | ¡| _t! "| ¡| _!t# $| ¡| _#t%| ƒ| _&t'| ƒ| _(dS )	a?  Construct a new async openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        NrI   rJ   rK   rL   rM   rN   rO   ))rQ   rR   rS   r    r3   r5   r6   r8   rT   rU   r   r   rV   r   ZAsyncCompletionsr&   Z	AsyncChatr   ZAsyncEmbeddingsr   Z
AsyncFilesr   ZAsyncImagesr'   Z
AsyncAudior   ZAsyncModerationsr   ZAsyncModelsr)   ZAsyncFineTuningr%   Z	AsyncBetar   ZAsyncBatchesr(   ZAsyncUploadsr‘   r/   r’   r1   rX   rZ   r\   r]   rU   -  sV    !ÿø
zAsyncOpenAI.__init__r   r^   c                 C  s
   t ddS r_   r
   r`   r\   r\   r]   ra     s    zAsyncOpenAI.qsrb   c                 C  s   | j }dd|› iS rc   re   rf   r\   r\   r]   rg   †  s    zAsyncOpenAI.auth_headersrh   c                   sJ   i t ƒ j¥dtƒ › | jd ur$| jntƒ | jd ur8| jntƒ dœ¥| j¥S )Nzasync:rj   )rT   r=   r   r5   r   r6   rk   r`   rZ   r\   r]   r=   Œ  s    ÿ
üûzAsyncOpenAI.default_headersrl   rp   rq   rr   r   rs   c                C  sì   |	dur|
durt dƒ‚|dur0|dur0t dƒ‚| j}|	durLi |¥|	¥}n|
durX|
}| j}|durti |¥|¥}n|dur€|}|pˆ| j}| jf |p˜| j|p | j|p¨| j|p°| j|p¸| j	t
|tƒrÈ| jn||t|ƒrØ|n| j||dœ
|¤ŽS rt   ru   rx   r\   r\   r]   r{   —  s:    
öõzAsyncOpenAI.copyr|   r}   r!   r~   c                C  sö   t |ƒr| d|¡n|}|jdkr2tj|||dS |jdkrLtj|||dS |jdkrftj|||dS |jdkr€tj|||dS |jdkrštj|||dS |jdkr´tj	|||dS |jd	krÎtj
|||dS |jd
krètj|||dS t|||dS r‚   r„   r‡   r\   r\   r]   r‰   Ð  s$    







zAsyncOpenAI._make_status_errorrŠ   r\   r\   rZ   r]   r+     sp   
	è,Tñ,7r+   c                   @  s   e Zd Zdddœdd„ZdS )r.   r*   rF   ©ÚclientrH   c                 C  s¬   t  |j ¡| _ t |j¡| _t |j¡| _t |j¡| _t 	|j¡| _t
 |j
¡| _
t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _d S ©N)r   ZCompletionsWithRawResponser&   ZChatWithRawResponser   ZEmbeddingsWithRawResponser   ZFilesWithRawResponser   ZImagesWithRawResponser'   ZAudioWithRawResponser   ZModerationsWithRawResponser   ZModelsWithRawResponser)   ZFineTuningWithRawResponser%   ZBetaWithRawResponser   ZBatchesWithRawResponser(   ZUploadsWithRawResponse©rY   r”   r\   r\   r]   rU   ô  s    zOpenAIWithRawResponse.__init__N©r‹   rŒ   r   rU   r\   r\   r\   r]   r.   ó  s   r.   c                   @  s   e Zd Zdddœdd„ZdS )r‘   r+   rF   r“   c                 C  s¬   t  |j ¡| _ t |j¡| _t |j¡| _t |j¡| _t 	|j¡| _t
 |j
¡| _
t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _d S r•   )r   ZAsyncCompletionsWithRawResponser&   ZAsyncChatWithRawResponser   ZAsyncEmbeddingsWithRawResponser   ZAsyncFilesWithRawResponser   ZAsyncImagesWithRawResponser'   ZAsyncAudioWithRawResponser   ZAsyncModerationsWithRawResponser   ZAsyncModelsWithRawResponser)   ZAsyncFineTuningWithRawResponser%   ZAsyncBetaWithRawResponser   ZAsyncBatchesWithRawResponser(   ZAsyncUploadsWithRawResponser–   r\   r\   r]   rU     s    z#AsyncOpenAIWithRawResponse.__init__Nr—   r\   r\   r\   r]   r‘     s   r‘   c                   @  s   e Zd Zdddœdd„ZdS )r0   r*   rF   r“   c                 C  s¬   t  |j ¡| _ t |j¡| _t |j¡| _t |j¡| _t 	|j¡| _t
 |j
¡| _
t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _d S r•   )r   Z CompletionsWithStreamingResponser&   ZChatWithStreamingResponser   ZEmbeddingsWithStreamingResponser   ZFilesWithStreamingResponser   ZImagesWithStreamingResponser'   ZAudioWithStreamingResponser   Z ModerationsWithStreamingResponser   ZModelsWithStreamingResponser)   ZFineTuningWithStreamingResponser%   ZBetaWithStreamingResponser   ZBatchesWithStreamingResponser(   ZUploadsWithStreamingResponser–   r\   r\   r]   rU     s    z#OpenAIWithStreamedResponse.__init__Nr—   r\   r\   r\   r]   r0     s   r0   c                   @  s   e Zd Zdddœdd„ZdS )r’   r+   rF   r“   c                 C  s¬   t  |j ¡| _ t |j¡| _t |j¡| _t |j¡| _t 	|j¡| _t
 |j
¡| _
t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _d S r•   )r   Z%AsyncCompletionsWithStreamingResponser&   ZAsyncChatWithStreamingResponser   Z$AsyncEmbeddingsWithStreamingResponser   ZAsyncFilesWithStreamingResponser   Z AsyncImagesWithStreamingResponser'   ZAsyncAudioWithStreamingResponser   Z%AsyncModerationsWithStreamingResponser   Z AsyncModelsWithStreamingResponser)   Z$AsyncFineTuningWithStreamingResponser%   ZAsyncBetaWithStreamingResponser   Z!AsyncBatchesWithStreamingResponser(   Z!AsyncUploadsWithStreamingResponser–   r\   r\   r]   rU   $  s    z(AsyncOpenAIWithStreamedResponse.__init__Nr—   r\   r\   r\   r]   r’   #  s   r’   )AÚ
__future__r   rQ   Útypingr   r   r   Ztyping_extensionsr   r   ZhttpxÚ r	   Z_qsr   Ú_typesr   r   r   r   r   r   r   Ú_utilsr   r   r   Ú_versionr   Ú	resourcesr   r   r   r   r   r   r   Z
_streamingr   r   r    r!   Z_base_clientr"   r#   r$   Zresources.betar%   Zresources.chatr&   Zresources.audior'   Zresources.uploadsr(   Zresources.fine_tuningr)   Ú__all__r*   r+   r.   r‘   r0   r’   r,   r-   r\   r\   r\   r]   Ú<module>   s:   $	$ d d