U
    ~fh                     @  s  d dl mZ d dlZd dlmZ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 ddl m!Z!m"Z" ddlm#Z#m$Z$ ddl%m&Z&m'Z'm(Z( er>ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;Z;m<Z< ddl=m>Z>m?Z? ddl@mAZAmBZB ddlCmDZDmEZE ddlFmGZGmHZH ddlImJZJmKZK ddlLmMZMmNZN ddlOmPZPmQZQ ddlRmSZSmTZT ddlUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z] ddl^m_Z_m`Z` ddlambZbmcZc ddldmeZemfZf ddlgmhZhmiZi dd ljmkZkmlZl d!d"d#d$d%d&d'd(gZmG d)d% d%e'ZnG d*d& d&e(ZoG d+d, d,ZpG d-d. d.ZqG d/d0 d0ZrG d1d2 d2ZsenZteoZudS )3    )annotationsN)TYPE_CHECKINGAnyUnionMapping)Selfoverride   )_exceptionsQuerystring)	NOT_GIVENOmitTimeoutNotGiven	TransportProxiesTypesRequestOptions)is_given
is_mappingget_async_library)cached_property)__version__)StreamAsyncStream)OpenAIErrorAPIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)betachataudioevalsfilesimagesmodelsbatchesuploads	responses
containers
embeddingscompletionsfine_tuningmoderationsvector_stores)Files
AsyncFiles)ImagesAsyncImages)ModelsAsyncModels)BatchesAsyncBatches)WebhooksAsyncWebhooks)Beta	AsyncBeta)Chat	AsyncChat)
EmbeddingsAsyncEmbeddings)Audio
AsyncAudio)CompletionsAsyncCompletions)Evals
AsyncEvals)ModerationsAsyncModerations)UploadsAsyncUploads)	ResponsesAsyncResponses)
ContainersAsyncContainers)
FineTuningAsyncFineTuning)VectorStoresAsyncVectorStoresr   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	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d fddZeddddZeddddZ	eddddZ
ed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zed8dd9d:Zed;dd<d=Zed>dd?d@ZedAddBdCZedDddEdFZedGddHdIZedJddKdLZedMddNdOZeedPddQdRZeedSddTdUZeedVd fdWdXZd	d	d	d	d	d	ed	ed	d	d	d	i dYdddddddZdd[ddddd\d]d^d_d`Z e Z!eddadbdcdddedfZ"  Z#S )grR   strapi_key
str | Noneorganizationprojectwebhook_secretstr | httpx.URL | Nonewebsocket_base_urlNFrW   rY   rZ   r[   base_urlr]   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rW   rY   rZ   r[   r_   r]   r`   ra   rb   rc   rd   re   returnc             
     s   |dkrt jd}|dkr$td|| _|dkr>t jd}|| _|dkrXt jd}|| _|dkrrt jd}|| _|| _|dkrt jd}|dkrd}t	 j
t|||||	|
|d	 t| _dS )
a}  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`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`
        NOPENAI_API_KEYThe 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_WEBHOOK_SECRETOPENAI_BASE_URLhttps://api.openai.com/v1versionr_   ra   r`   rd   Zcustom_headersZcustom_queryre   )osenvirongetr   rW   rY   rZ   r[   r]   super__init__r   r   _default_stream_clsselfrW   rY   rZ   r[   r_   r]   r`   ra   rb   rc   rd   re   	__class__ 2/tmp/pip-unpacked-wheel-rjiviquo/openai/_client.pyr{   \   s@    #zOpenAI.__init__rB   rm   c                 C  s   ddl m} || S )Nr	   )rB   )resources.completionsrB   )r~   rB   r   r   r   r,      s    zOpenAI.completionsr<   c                 C  s   ddl m} || S )Nr	   )r<   )resources.chatr<   )r~   r<   r   r   r   r!      s    zOpenAI.chatr>   c                 C  s   ddl m} || S )Nr	   )r>   )resources.embeddingsr>   )r~   r>   r   r   r   r+      s    zOpenAI.embeddingsr0   c                 C  s   ddl m} || S )Nr	   )r0   )resources.filesr0   )r~   r0   r   r   r   r$      s    zOpenAI.filesr2   c                 C  s   ddl m} || S )Nr	   )r2   )resources.imagesr2   )r~   r2   r   r   r   r%      s    zOpenAI.imagesr@   c                 C  s   ddl m} || S )Nr	   )r@   )resources.audior@   )r~   r@   r   r   r   r"      s    zOpenAI.audiorF   c                 C  s   ddl m} || S )Nr	   )rF   )resources.moderationsrF   )r~   rF   r   r   r   r.      s    zOpenAI.moderationsr4   c                 C  s   ddl m} || S )Nr	   )r4   )resources.modelsr4   )r~   r4   r   r   r   r&      s    zOpenAI.modelsrN   c                 C  s   ddl m} || S )Nr	   )rN   )resources.fine_tuningrN   )r~   rN   r   r   r   r-      s    zOpenAI.fine_tuningrP   c                 C  s   ddl m} || S )Nr	   )rP   )resources.vector_storesrP   )r~   rP   r   r   r   r/      s    zOpenAI.vector_storesr8   c                 C  s   ddl m} || S )Nr	   )r8   )resources.webhooksr8   )r~   r8   r   r   r   webhooks   s    zOpenAI.webhooksr:   c                 C  s   ddl m} || S )Nr	   )r:   )resources.betar:   )r~   r:   r   r   r   r       s    zOpenAI.betar6   c                 C  s   ddl m} || S )Nr	   )r6   )resources.batchesr6   )r~   r6   r   r   r   r'      s    zOpenAI.batchesrH   c                 C  s   ddl m} || S )Nr	   )rH   )resources.uploadsrH   )r~   rH   r   r   r   r(      s    zOpenAI.uploadsrJ   c                 C  s   ddl m} || S )Nr	   )rJ   )resources.responsesrJ   )r~   rJ   r   r   r   r)      s    zOpenAI.responsesrD   c                 C  s   ddl m} || S )Nr	   )rD   )resources.evalsrD   )r~   rD   r   r   r   r#     s    zOpenAI.evalsrL   c                 C  s   ddl m} || S )Nr	   )rL   )resources.containersrL   )r~   rL   r   r   r   r*     s    zOpenAI.containersOpenAIWithRawResponsec                 C  s   t | S N)r   r~   r   r   r   with_raw_response  s    zOpenAI.with_raw_responseOpenAIWithStreamedResponsec                 C  s   t | S r   )r   r   r   r   r   with_streaming_response  s    zOpenAI.with_streaming_responser   c                 C  s
   t ddS NZbrackets)Zarray_formatr   r   r   r   r   qs  s    z	OpenAI.qsdict[str, str]c                 C  s   | j }|si S dd| iS NAuthorizationzBearer rW   r~   rW   r   r   r   auth_headers  s    zOpenAI.auth_headersdict[str, str | Omit]c                   s<   t  jd| jd k	r| jnt | jd k	r,| jnt d| jS )NfalsezX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)rz   rb   rY   r   rZ   _custom_headersr   r   r   r   rb   #  s    zOpenAI.default_headersrW   rY   rZ   r[   r]   r_   r`   rd   ra   rb   set_default_headersrc   set_default_query_extra_kwargs!float | Timeout | None | NotGivenint | NotGivenMapping[str, Any]r   rW   rY   rZ   r[   r]   r_   r`   rd   ra   rb   r   rc   r   r   rm   c                C  s   |
dk	r|dk	rt d|dk	r0|dk	r0t d| j}|
dk	rH||
}n|dk	rT|}| j}|dk	rl||}n|dk	rx|}|p| j}| jf |p| j|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)rW   rY   rZ   r[   r]   r_   r`   rd   ra   rb   rc   
ValueErrorr   Z_custom_query_clientr   rW   rY   rZ   r[   r]   r_   
isinstancer   r`   r   ra   r~   rW   rY   rZ   r[   r]   r_   r`   rd   ra   rb   r   rc   r   r   headersparamsr   r   r   copy.  s<    


zOpenAI.copyobjecthttpx.Responser   err_msgbodyresponserm   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rtj|||dS |jdkrtj|||dS |jdkrtj	|||dS |jd	krtj
|||dS |jd
krtj|||dS t|||dS Nerrori  )r   r   i  i  i  i  i  i  i  r   ry   status_coder
   ZBadRequestErrorAuthenticationErrorZPermissionDeniedErrorZNotFoundErrorZConflictErrorZUnprocessableEntityErrorZRateLimitErrorZInternalServerErrorr   r~   r   r   r   datar   r   r   _make_status_errori  s$    







zOpenAI._make_status_error$__name__
__module____qualname____annotations__r   r   r{   r   r,   r!   r+   r$   r%   r"   r.   r&   r-   r/   r   r    r'   r(   r)   r#   r*   r   r   propertyr   r   r   rb   r   Zwith_optionsr   __classcell__r   r   r   r   rR   M   s   
	.K.9c                      s  e Zd ZU ded< ded< ded< ded< ded< 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d fddZeddddZeddddZ	eddddZ
ed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zed8dd9d:Zed;dd<d=Zed>dd?d@ZedAddBdCZedDddEdFZedGddHdIZedJddKdLZedMddNdOZeedPddQdRZeedSddTdUZeedVd fdWdXZd	d	d	d	d	d	ed	ed	d	d	d	i dYdddddddZdd[ddddd\d]d^d_d`Z e Z!eddadbdcdddedfZ"  Z#S )grS   rV   rW   rX   rY   rZ   r[   r\   r]   NFr^   rf   rg   rh   ri   zhttpx.AsyncClient | Nonerj   rk   rl   c             
     s   |dkrt jd}|dkr$td|| _|dkr>t jd}|| _|dkrXt jd}|| _|dkrrt jd}|| _|| _|dkrt jd}|dkrd}t	 j
t|||||	|
|d	 t| _dS )
a|  Construct a new async AsyncOpenAI 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`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`
        Nrn   ro   rp   rq   rr   rs   rt   ru   )rw   rx   ry   r   rW   rY   rZ   r[   r]   rz   r{   r   r   r|   r}   r   r   r   r{     s@    #zAsyncOpenAI.__init__rC   r   c                 C  s   ddl m} || S )Nr	   )rC   )r   rC   )r~   rC   r   r   r   r,     s    zAsyncOpenAI.completionsr=   c                 C  s   ddl m} || S )Nr	   )r=   )r   r=   )r~   r=   r   r   r   r!     s    zAsyncOpenAI.chatr?   c                 C  s   ddl m} || S )Nr	   )r?   )r   r?   )r~   r?   r   r   r   r+     s    zAsyncOpenAI.embeddingsr1   c                 C  s   ddl m} || S )Nr	   )r1   )r   r1   )r~   r1   r   r   r   r$     s    zAsyncOpenAI.filesr3   c                 C  s   ddl m} || S )Nr	   )r3   )r   r3   )r~   r3   r   r   r   r%     s    zAsyncOpenAI.imagesrA   c                 C  s   ddl m} || S )Nr	   )rA   )r   rA   )r~   rA   r   r   r   r"     s    zAsyncOpenAI.audiorG   c                 C  s   ddl m} || S )Nr	   )rG   )r   rG   )r~   rG   r   r   r   r.   
  s    zAsyncOpenAI.moderationsr5   c                 C  s   ddl m} || S )Nr	   )r5   )r   r5   )r~   r5   r   r   r   r&     s    zAsyncOpenAI.modelsrO   c                 C  s   ddl m} || S )Nr	   )rO   )r   rO   )r~   rO   r   r   r   r-     s    zAsyncOpenAI.fine_tuningrQ   c                 C  s   ddl m} || S )Nr	   )rQ   )r   rQ   )r~   rQ   r   r   r   r/     s    zAsyncOpenAI.vector_storesr9   c                 C  s   ddl m} || S )Nr	   )r9   )r   r9   )r~   r9   r   r   r   r   "  s    zAsyncOpenAI.webhooksr;   c                 C  s   ddl m} || S )Nr	   )r;   )r   r;   )r~   r;   r   r   r   r    (  s    zAsyncOpenAI.betar7   c                 C  s   ddl m} || S )Nr	   )r7   )r   r7   )r~   r7   r   r   r   r'   .  s    zAsyncOpenAI.batchesrI   c                 C  s   ddl m} || S )Nr	   )rI   )r   rI   )r~   rI   r   r   r   r(   4  s    zAsyncOpenAI.uploadsrK   c                 C  s   ddl m} || S )Nr	   )rK   )r   rK   )r~   rK   r   r   r   r)   :  s    zAsyncOpenAI.responsesrE   c                 C  s   ddl m} || S )Nr	   )rE   )r   rE   )r~   rE   r   r   r   r#   @  s    zAsyncOpenAI.evalsrM   c                 C  s   ddl m} || S )Nr	   )rM   )r   rM   )r~   rM   r   r   r   r*   F  s    zAsyncOpenAI.containersAsyncOpenAIWithRawResponsec                 C  s   t | S r   )r   r   r   r   r   r   L  s    zAsyncOpenAI.with_raw_responseAsyncOpenAIWithStreamedResponsec                 C  s   t | S r   )r   r   r   r   r   r   P  s    z#AsyncOpenAI.with_streaming_responser   c                 C  s
   t ddS r   r   r   r   r   r   r   T  s    zAsyncOpenAI.qsr   c                 C  s   | j }|si S dd| iS r   r   r   r   r   r   r   Y  s    zAsyncOpenAI.auth_headersr   c                   sD   t  jdt  | jd k	r | jnt | jd k	r4| jnt d| jS )Nzasync:r   )rz   rb   r   rY   r   rZ   r   r   r   r   r   rb   b  s    
zAsyncOpenAI.default_headersr   r   r   r   r   r   c                C  s   |
dk	r|dk	rt d|dk	r0|dk	r0t d| j}|
dk	rH||
}n|dk	rT|}| j}|dk	rl||}n|dk	rx|}|p| j}| jf |p| j|p| j|p| j|p| j|p| j	|p| j
t|tr| jn||t|	r|	n| j||d|S r   r   r   r   r   r   r   m  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rtj|||dS |jdkrtj|||dS |jdkrtj	|||dS |jd	krtj
|||dS |jd
krtj|||dS t|||dS r   r   r   r   r   r   r     s$    







zAsyncOpenAI._make_status_errorr   r   r   r   r   rS     s   
	.K.9c                   @  sF  e Zd ZU ded< dddddZeddd	d
ZeddddZeddddZeddddZ	eddddZ
eddddZeddddZeddddZed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zd8S )9r   rR   r   rk   clientrm   c                 C  s
   || _ d S r   r   r~   r   r   r   r   r{     s    zOpenAIWithRawResponse.__init__z&completions.CompletionsWithRawResponser   c                 C  s   ddl m} || jjS )Nr	   )CompletionsWithRawResponse)r   r   r   r,   )r~   r   r   r   r   r,     s    z!OpenAIWithRawResponse.completionszchat.ChatWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ChatWithRawResponse)r   r   r   r!   )r~   r   r   r   r   r!     s    zOpenAIWithRawResponse.chatz$embeddings.EmbeddingsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )EmbeddingsWithRawResponse)r   r   r   r+   )r~   r   r   r   r   r+     s    z OpenAIWithRawResponse.embeddingszfiles.FilesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )FilesWithRawResponse)r   r   r   r$   )r~   r   r   r   r   r$     s    zOpenAIWithRawResponse.fileszimages.ImagesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ImagesWithRawResponse)r   r   r   r%   )r~   r   r   r   r   r%     s    zOpenAIWithRawResponse.imageszaudio.AudioWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AudioWithRawResponse)r   r   r   r"   )r~   r   r   r   r   r"     s    zOpenAIWithRawResponse.audioz&moderations.ModerationsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ModerationsWithRawResponse)r   r   r   r.   )r~   r   r   r   r   r.     s    z!OpenAIWithRawResponse.moderationszmodels.ModelsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ModelsWithRawResponse)r   r   r   r&   )r~   r   r   r   r   r&     s    zOpenAIWithRawResponse.modelsz%fine_tuning.FineTuningWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )FineTuningWithRawResponse)r   r   r   r-   )r~   r   r   r   r   r-     s    z!OpenAIWithRawResponse.fine_tuningz)vector_stores.VectorStoresWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )VectorStoresWithRawResponse)r   r   r   r/   )r~   r   r   r   r   r/     s    z#OpenAIWithRawResponse.vector_storeszbeta.BetaWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )BetaWithRawResponse)r   r   r   r    )r~   r   r   r   r   r      s    zOpenAIWithRawResponse.betazbatches.BatchesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )BatchesWithRawResponse)r   r   r   r'   )r~   r   r   r   r   r'     s    zOpenAIWithRawResponse.batcheszuploads.UploadsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )UploadsWithRawResponse)r   r   r   r(   )r~   r   r   r   r   r(     s    zOpenAIWithRawResponse.uploadsz"responses.ResponsesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ResponsesWithRawResponse)r   r   r   r)   )r~   r   r   r   r   r)     s    zOpenAIWithRawResponse.responseszevals.EvalsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )EvalsWithRawResponse)r   r   r   r#   )r~   r   r   r   r   r#   %  s    zOpenAIWithRawResponse.evalsz$containers.ContainersWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )ContainersWithRawResponse)r   r   r   r*   )r~   r   r   r   r   r*   +  s    z OpenAIWithRawResponse.containersN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     sD   
r   c                   @  sF  e Zd ZU ded< dddddZeddd	d
ZeddddZeddddZeddddZ	eddddZ
eddddZeddddZeddddZed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zd8S )9r   rS   r   rk   r   c                 C  s
   || _ d S r   r   r   r   r   r   r{   5  s    z#AsyncOpenAIWithRawResponse.__init__z+completions.AsyncCompletionsWithRawResponser   c                 C  s   ddl m} || jjS )Nr	   )AsyncCompletionsWithRawResponse)r   r   r   r,   )r~   r   r   r   r   r,   8  s    z&AsyncOpenAIWithRawResponse.completionszchat.AsyncChatWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncChatWithRawResponse)r   r   r   r!   )r~   r   r   r   r   r!   >  s    zAsyncOpenAIWithRawResponse.chatz)embeddings.AsyncEmbeddingsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncEmbeddingsWithRawResponse)r   r   r   r+   )r~   r   r   r   r   r+   D  s    z%AsyncOpenAIWithRawResponse.embeddingszfiles.AsyncFilesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncFilesWithRawResponse)r   r   r   r$   )r~   r   r   r   r   r$   J  s    z AsyncOpenAIWithRawResponse.filesz!images.AsyncImagesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncImagesWithRawResponse)r   r   r   r%   )r~   r   r   r   r   r%   P  s    z!AsyncOpenAIWithRawResponse.imageszaudio.AsyncAudioWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncAudioWithRawResponse)r   r   r   r"   )r~   r   r   r   r   r"   V  s    z AsyncOpenAIWithRawResponse.audioz+moderations.AsyncModerationsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncModerationsWithRawResponse)r   r   r   r.   )r~   r   r   r   r   r.   \  s    z&AsyncOpenAIWithRawResponse.moderationsz!models.AsyncModelsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncModelsWithRawResponse)r   r   r   r&   )r~   r   r   r   r   r&   b  s    z!AsyncOpenAIWithRawResponse.modelsz*fine_tuning.AsyncFineTuningWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncFineTuningWithRawResponse)r   r   r   r-   )r~   r   r   r   r   r-   h  s    z&AsyncOpenAIWithRawResponse.fine_tuningz.vector_stores.AsyncVectorStoresWithRawResponsec                 C  s   ddl m} || jjS )Nr	   ) AsyncVectorStoresWithRawResponse)r   r   r   r/   )r~   r   r   r   r   r/   n  s    z(AsyncOpenAIWithRawResponse.vector_storeszbeta.AsyncBetaWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncBetaWithRawResponse)r   r   r   r    )r~   r   r   r   r   r    t  s    zAsyncOpenAIWithRawResponse.betaz#batches.AsyncBatchesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncBatchesWithRawResponse)r   r   r   r'   )r~   r   r   r   r   r'   z  s    z"AsyncOpenAIWithRawResponse.batchesz#uploads.AsyncUploadsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncUploadsWithRawResponse)r   r   r   r(   )r~   r   r   r   r   r(     s    z"AsyncOpenAIWithRawResponse.uploadsz'responses.AsyncResponsesWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncResponsesWithRawResponse)r   r   r   r)   )r~   r   r   r   r   r)     s    z$AsyncOpenAIWithRawResponse.responseszevals.AsyncEvalsWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncEvalsWithRawResponse)r   r   r   r#   )r~   r   r   r   r   r#     s    z AsyncOpenAIWithRawResponse.evalsz)containers.AsyncContainersWithRawResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncContainersWithRawResponse)r   r   r   r*   )r~   r   r   r   r   r*     s    z%AsyncOpenAIWithRawResponse.containersNr   r   r   r   r   r   2  sD   
r   c                   @  sF  e Zd ZU ded< dddddZeddd	d
ZeddddZeddddZeddddZ	eddddZ
eddddZeddddZeddddZed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zd8S )9r   rR   r   rk   r   c                 C  s
   || _ d S r   r   r   r   r   r   r{     s    z#OpenAIWithStreamedResponse.__init__z,completions.CompletionsWithStreamingResponser   c                 C  s   ddl m} || jjS )Nr	   ) CompletionsWithStreamingResponse)r   r   r   r,   )r~   r   r   r   r   r,     s    z&OpenAIWithStreamedResponse.completionszchat.ChatWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )ChatWithStreamingResponse)r   r   r   r!   )r~   r   r   r   r   r!     s    zOpenAIWithStreamedResponse.chatz*embeddings.EmbeddingsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )EmbeddingsWithStreamingResponse)r   r   r   r+   )r~   r   r   r   r   r+     s    z%OpenAIWithStreamedResponse.embeddingsz files.FilesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )FilesWithStreamingResponse)r   r   r   r$   )r~   r   r   r   r   r$     s    z OpenAIWithStreamedResponse.filesz"images.ImagesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )ImagesWithStreamingResponse)r   r   r   r%   )r~   r   r   r   r   r%     s    z!OpenAIWithStreamedResponse.imagesz audio.AudioWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AudioWithStreamingResponse)r   r   r   r"   )r~   r   r   r   r   r"     s    z OpenAIWithStreamedResponse.audioz,moderations.ModerationsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   ) ModerationsWithStreamingResponse)r   r   r   r.   )r~   r   r   r   r   r.     s    z&OpenAIWithStreamedResponse.moderationsz"models.ModelsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )ModelsWithStreamingResponse)r   r   r   r&   )r~   r   r   r   r   r&     s    z!OpenAIWithStreamedResponse.modelsz+fine_tuning.FineTuningWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )FineTuningWithStreamingResponse)r   r   r   r-   )r~   r   r   r   r   r-     s    z&OpenAIWithStreamedResponse.fine_tuningz/vector_stores.VectorStoresWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )!VectorStoresWithStreamingResponse)r   r   r   r/   )r~   r   r   r   r   r/     s    z(OpenAIWithStreamedResponse.vector_storeszbeta.BetaWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )BetaWithStreamingResponse)r   r   r   r    )r~   r   r   r   r   r      s    zOpenAIWithStreamedResponse.betaz$batches.BatchesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )BatchesWithStreamingResponse)r   r   r   r'   )r~   r   r   r   r   r'     s    z"OpenAIWithStreamedResponse.batchesz$uploads.UploadsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )UploadsWithStreamingResponse)r   r  r   r(   )r~   r  r   r   r   r(     s    z"OpenAIWithStreamedResponse.uploadsz(responses.ResponsesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )ResponsesWithStreamingResponse)r   r  r   r)   )r~   r  r   r   r   r)     s    z$OpenAIWithStreamedResponse.responsesz evals.EvalsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )EvalsWithStreamingResponse)r   r  r   r#   )r~   r  r   r   r   r#     s    z OpenAIWithStreamedResponse.evalsz*containers.ContainersWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )ContainersWithStreamingResponse)r   r  r   r*   )r~   r  r   r   r   r*     s    z%OpenAIWithStreamedResponse.containersNr   r   r   r   r   r     sD   
r   c                   @  sF  e Zd ZU ded< dddddZeddd	d
ZeddddZeddddZeddddZ	eddddZ
eddddZeddddZeddddZed dd!d"Zed#dd$d%Zed&dd'd(Zed)dd*d+Zed,dd-d.Zed/dd0d1Zed2dd3d4Zed5dd6d7Zd8S )9r   rS   r   rk   r   c                 C  s
   || _ d S r   r   r   r   r   r   r{     s    z(AsyncOpenAIWithStreamedResponse.__init__z1completions.AsyncCompletionsWithStreamingResponser   c                 C  s   ddl m} || jjS )Nr	   )%AsyncCompletionsWithStreamingResponse)r   r  r   r,   )r~   r  r   r   r   r,     s    z+AsyncOpenAIWithStreamedResponse.completionsz#chat.AsyncChatWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncChatWithStreamingResponse)r   r  r   r!   )r~   r  r   r   r   r!     s    z$AsyncOpenAIWithStreamedResponse.chatz/embeddings.AsyncEmbeddingsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )$AsyncEmbeddingsWithStreamingResponse)r   r  r   r+   )r~   r  r   r   r   r+     s    z*AsyncOpenAIWithStreamedResponse.embeddingsz%files.AsyncFilesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncFilesWithStreamingResponse)r   r  r   r$   )r~   r  r   r   r   r$     s    z%AsyncOpenAIWithStreamedResponse.filesz'images.AsyncImagesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   ) AsyncImagesWithStreamingResponse)r   r	  r   r%   )r~   r	  r   r   r   r%     s    z&AsyncOpenAIWithStreamedResponse.imagesz%audio.AsyncAudioWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncAudioWithStreamingResponse)r   r
  r   r"   )r~   r
  r   r   r   r"   $  s    z%AsyncOpenAIWithStreamedResponse.audioz1moderations.AsyncModerationsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )%AsyncModerationsWithStreamingResponse)r   r  r   r.   )r~   r  r   r   r   r.   *  s    z+AsyncOpenAIWithStreamedResponse.moderationsz'models.AsyncModelsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   ) AsyncModelsWithStreamingResponse)r   r  r   r&   )r~   r  r   r   r   r&   0  s    z&AsyncOpenAIWithStreamedResponse.modelsz0fine_tuning.AsyncFineTuningWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )$AsyncFineTuningWithStreamingResponse)r   r  r   r-   )r~   r  r   r   r   r-   6  s    z+AsyncOpenAIWithStreamedResponse.fine_tuningz4vector_stores.AsyncVectorStoresWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )&AsyncVectorStoresWithStreamingResponse)r   r  r   r/   )r~   r  r   r   r   r/   <  s    z-AsyncOpenAIWithStreamedResponse.vector_storesz#beta.AsyncBetaWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncBetaWithStreamingResponse)r   r  r   r    )r~   r  r   r   r   r    B  s    z$AsyncOpenAIWithStreamedResponse.betaz)batches.AsyncBatchesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )!AsyncBatchesWithStreamingResponse)r   r  r   r'   )r~   r  r   r   r   r'   H  s    z'AsyncOpenAIWithStreamedResponse.batchesz)uploads.AsyncUploadsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )!AsyncUploadsWithStreamingResponse)r   r  r   r(   )r~   r  r   r   r   r(   N  s    z'AsyncOpenAIWithStreamedResponse.uploadsz-responses.AsyncResponsesWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )#AsyncResponsesWithStreamingResponse)r   r  r   r)   )r~   r  r   r   r   r)   T  s    z)AsyncOpenAIWithStreamedResponse.responsesz%evals.AsyncEvalsWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )AsyncEvalsWithStreamingResponse)r   r  r   r#   )r~   r  r   r   r   r#   Z  s    z%AsyncOpenAIWithStreamedResponse.evalsz/containers.AsyncContainersWithStreamingResponsec                 C  s   ddl m} || jjS )Nr	   )$AsyncContainersWithStreamingResponse)r   r  r   r*   )r~   r  r   r   r   r*   `  s    z*AsyncOpenAIWithStreamedResponse.containersNr   r   r   r   r   r      sD   
r   )v
__future__r   rw   typingr   r   r   r   Ztyping_extensionsr   r   Zhttpx r
   Z_qsr   _typesr   r   r   r   r   r   r   _utilsr   r   r   _compatr   _versionr   Z
_streamingr   r   r   r   Z_base_clientr   r   r   	resourcesr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r   r0   r1   r   r2   r3   r   r4   r5   r   r6   r7   r   r8   r9   Zresources.beta.betar:   r;   Zresources.chat.chatr<   r=   r   r>   r?   Zresources.audio.audior@   rA   r   rB   rC   Zresources.evals.evalsrD   rE   r   rF   rG   Zresources.uploads.uploadsrH   rI   Zresources.responses.responsesrJ   rK   Zresources.containers.containersrL   rM   Z!resources.fine_tuning.fine_tuningrN   rO   Z%resources.vector_stores.vector_storesrP   rQ   __all__rR   rS   r   r   r   r   rT   rU   r   r   r   r   <module>   sZ   $	H  A  Agggg