
    2Rjf                      d dl mZ d dlZd dlmZmZmZmZmZ d dl	m
Z
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 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 m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2 ddlm3Z3m4Z4 ddl5m6Z6m7Z7m8Z8 erddl9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZN 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lmmnZnmoZo ddlpmqZqmrZr ddlsmtZtmuZu dd lvmwZwmxZx dd!lymzZzm{Z{ dd"l|m}Z}m~Z~ dd#lmZmZ dd$lmZmZ dd%lmZmZ dd&lmZmZ dd'lmZmZ dd(lmZmZ g d)Zd*Zd9d+Zd9d,Z G d- d.e7      Z G d/ d0e8      Z G d1 d2      Z G d3 d4      Z G d5 d6      Z G d7 d8      ZeZeZy):    )annotationsN)TYPE_CHECKINGAnyMappingCallable	Awaitable)SelfUnpackoverride   )_exceptionsQuerystring)WorkloadIdentityWorkloadIdentityAuth)	OmitHeadersTimeoutNotGiven	TransportProxiesTypesHttpxSendArgsRequestOptions	not_given)is_given
is_mappingis_mapping_tget_async_library)cached_property)SecurityOptionsFinalRequestOptions)__version__)	_Provider_provider_name_ProviderRuntime_configure_provider)StreamAsyncStream)OpenAIErrorAPIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)betachatadminaudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtime	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)Files
AsyncFiles)ImagesAsyncImages)ModelsAsyncModels)VideosAsyncVideos)BatchesAsyncBatches)Beta	AsyncBeta)Chat	AsyncChat)
EmbeddingsAsyncEmbeddings)Admin
AsyncAdmin)Audio
AsyncAudio)CompletionsAsyncCompletions)Evals
AsyncEvals)ModerationsAsyncModerations)SkillsAsyncSkills)UploadsAsyncUploads)RealtimeAsyncRealtime)WebhooksAsyncWebhooks)	ResponsesAsyncResponses)
ContainersAsyncContainers)
FineTuningAsyncFineTuning)ConversationsAsyncConversations)VectorStoresAsyncVectorStores)r   r   r   r   OpenAIAsyncOpenAIClientAsyncClientzworkload-identity-authc                L    j                         t        fd| D              S )Nc              3  D   K   | ]  }|j                         k(    y wN)lower).0keyheaders     V/var/www/html/meridian/meridian-ai/venv/lib/python3.12/site-packages/openai/_client.py	<genexpr>z_has_header.<locals>.<genexpr>a   s     8syy{f$8s    )rv   anyheadersry   s    `rz   _has_headerr   _   s    \\^F8888    c                h    j                         t        fd| j                         D              S )Nc              3  n   K   | ],  \  }}|j                         k(  xr t        |t               . y wru   )rv   
isinstancer   )rw   rx   valuery   s      rz   r{   z&_has_omitted_header.<locals>.<genexpr>f   s/     cZS%syy{f$@E4)@@cs   25)rv   r|   itemsr}   s    `rz   _has_omitted_headerr   d   s)    \\^FcSZS`S`Sbcccr   c                  j    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ddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d@ fdZedAd       ZedBd       Z	edCd       Z
edDd       ZedEd       ZedFd       ZedGd       ZedHd       ZedId       ZedJd        ZedKd!       ZedLd"       ZedMd#       ZedNd$       ZedOd%       ZedPd&       ZedQd'       ZedRd(       ZedSd)       ZedTd*       ZedUd+       ZedVd,       ZedWd-       ZedXd.       Ze e!dYd/              Z"dd0	 	 	 	 	 	 	 	 	 dZ fd1Z#e!	 	 	 	 	 	 	 	 d[d2       Z$e!d\d3       Z%e d]d4       Z&e e!d]d5              Z'e d]d6       Z(e e!d^ fd7              Z)e!d_d8       Z*e!d` fd9       Z+e!dad:       Z,e!db fd;       Z-dcd<Z.dddedddddededddddi d=	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd>Z/e/Z0e!	 	 	 	 	 	 	 	 ded?       Z1 xZ2S )fro   strapi_key
str | Noneadmin_api_keyWorkloadIdentity | Noneworkload_identityorganizationprojectwebhook_secretWorkloadIdentityAuth | None_workload_identity_auth_Provider | None	_provider_ProviderRuntime | None_provider_runtimestr | httpx.URL | Nonewebsocket_base_urlNFTr   r   r   r   r   r   providerbase_urlr   timeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsc          
     
   d}|dt        |      }d|fd|fd|fd|ffD cg c]	  \  }}|| }}}|r*dj                  d |D              }t        d| d	| d
      t        |      }|| _        || _        ||t        k7  r|t        d      ||nd| _        |d| _        d| _	        d| _
        nz|$t        | _        d| _	        t        |      | _
        nT|t        j                  j                  d      }t        |      rd| _        || _	        n|xs d| _        d| _	        d| _
        |!|t        j                  j                  d      }||nd| _        |3|r1| j                  s%| j                  || j                   t        d      |!|t        j                  j                  d      }|| _        |!|t        j                  j                  d      }|| _        |t        j                  j                  d      }|| _        |	| _        ||j*                  }n!|t        j                  j                  d      }|d}|t        j                  j                  d      nd}|li }|j-                  d      D ]C  }|j/                  d      }|dk\  s||dz   d j1                         ||d| j1                         <   E i |t3        |      r|ni }t4        | m  t8        |||
||||       t:        | _        yc c}}w )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`
        - `admin_api_key` from `OPENAI_ADMIN_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`

        When `provider` is supplied, authentication and the base URL are configured by that provider instead.
        Nr   r   r   r   , c              3  (   K   | ]
  }d | d   yw`N rw   names     rz   r{   z"OpenAI.__init__.<locals>.<genexpr>        %Hd$qk%H   -`provider` cannot be combined with top-level 9. Move provider authentication and routing options into `(...)`.FThe `api_key` and `workload_identity` arguments are mutually exclusive r   OPENAI_API_KEYOPENAI_ADMIN_KEYMissing credentials. Please pass an `api_key`, `workload_identity`, `admin_api_key`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.OPENAI_ORG_IDOPENAI_PROJECT_IDOPENAI_WEBHOOK_SECRETOPENAI_BASE_URLhttps://api.openai.com/v1OPENAI_CUSTOM_HEADERS
:r   r   versionr   r   r   r   custom_headerscustom_queryr   )r$   joinr)   r&   r   r   %WORKLOAD_IDENTITY_API_KEY_PLACEHOLDERr   r   _api_key_providerr   r   osenvirongetcallabler   r   r   r   r   r   splitfindstripr   super__init__r"   r'   _default_stream_clsselfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   provider_runtimeprovider_namer   r   	conflicts	formattedcustom_headers_envparsedlinecolon	__class__s                              rz   r   zOpenAI.__init__}   s}   T 59*84M ($m4(*;<*	$	D% $ 	I 	  II%Hi%HH	!CI; ONN[_\ce 
  38<!!17.S#SXiXufgg6F6N!2TX'DL%)D"+/D(*@DL%)D"+?"3,D( **..)9: !CJ&&}")-&+/D( %5%=JJNN+=>M.>.F]D $$LL&&.!)""* o  $4$<::>>/:L(?/7jjnn%89G!ZZ^^,CDN,"4''00Hzz~~&78H2HHXH`RZZ^^,CDfj)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO##*&(C 	 		
 $* S	   K?c                    ddl m}  ||       S )
        Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.
        r   )rW   )resources.completionsrW   )r   rW   s     rz   r>   zOpenAI.completions      
 	74  r   c                    ddl m}  ||       S )Nr   )rO   )resources.chatrO   )r   rO   s     rz   r/   zOpenAI.chat      (Dzr   c                    ddl m}  ||       S )
        Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.
        r   )rQ   )resources.embeddingsrQ   )r   rQ   s     rz   r=   zOpenAI.embeddings$  s    
 	5$r   c                    ddl m}  ||       S )t
        Files are used to upload documents that can be used with features like Assistants and Fine-tuning.
        r   )rC   )resources.filesrC   )r   rC   s     rz   r3   zOpenAI.files-  s    
 	+T{r   c                    ddl m}  ||       S )JGiven a prompt and/or an input image, the model will generate a new image.r   )rE   )resources.imagesrE   )r   rE   s     rz   r4   zOpenAI.images6       	-d|r   c                    ddl m}  ||       S )Nr   )rU   )resources.audiorU   )r   rU   s     rz   r1   zOpenAI.audio=      *T{r   c                    ddl m}  ||       S )e
        Given text and/or image inputs, classifies if those inputs are potentially harmful.
        r   )r[   )resources.moderationsr[   )r   r[   s     rz   r@   zOpenAI.moderationsC  r   r   c                    ddl m}  ||       S ):List and describe the various models available in the API.r   )rG   )resources.modelsrG   )r   rG   s     rz   r5   zOpenAI.modelsL  r   r   c                    ddl m}  ||       S )Nr   )ri   )resources.fine_tuningri   )r   ri   s     rz   r?   zOpenAI.fine_tuningS  s    5$r   c                    ddl m}  ||       S )Nr   )rm   )resources.vector_storesrm   )r   rm   s     rz   rB   zOpenAI.vector_storesY  s    9D!!r   c                    ddl m}  ||       S )Nr   )rc   )resources.webhooksrc   )r   rc   s     rz   webhookszOpenAI.webhooks_      0~r   c                    ddl m}  ||       S )Nr   )rM   )resources.betarM   )r   rM   s     rz   r.   zOpenAI.betae  r   r   c                    ddl m}  ||       S );Create large batches of API requests to run asynchronously.r   )rK   )resources.batchesrK   )r   rK   s     rz   r8   zOpenAI.batchesk       	/t}r   c                    ddl m}  ||       S )4Use Uploads to upload large files in multiple parts.r   )r_   )resources.uploadsr_   )r   r_   s     rz   r9   zOpenAI.uploadsr  r  r   c                    ddl m}  ||       S )Nr   )rS   )resources.adminrS   )r   rS   s     rz   r0   zOpenAI.adminy  r   r   c                    ddl m}  ||       S )Nr   )re   )resources.responsesre   )r   re   s     rz   r;   zOpenAI.responses  s    2r   c                    ddl m}  ||       S )Nr   )ra   )resources.realtimera   )r   ra   s     rz   r:   zOpenAI.realtime  r   r   c                    ddl m}  ||       S ),Manage conversations and conversation items.r   )rk   )resources.conversationsrk   )r   rk   s     rz   rA   zOpenAI.conversations  s     	;T""r   c                    ddl m}  ||       S ),Manage and run evals in the OpenAI platform.r   )rY   )resources.evalsrY   )r   rY   s     rz   r2   zOpenAI.evals  s     	+T{r   c                    ddl m}  ||       S )Nr   )rg   )resources.containersrg   )r   rg   s     rz   r<   zOpenAI.containers  s    4$r   c                    ddl m}  ||       S )Nr   )r]   )resources.skillsr]   )r   r]   s     rz   r6   zOpenAI.skills      ,d|r   c                    ddl m}  ||       S )Nr   )rI   )resources.videosrI   )r   rI   s     rz   r7   zOpenAI.videos  r  r   c                    t        |       S ru   )OpenAIWithRawResponser   s    rz   with_raw_responsezOpenAI.with_raw_response  s    $T**r   c                    t        |       S ru   )OpenAIWithStreamedResponser  s    rz   with_streaming_responsezOpenAI.with_streaming_response      )$//r   c                    t        d      S Nbrackets)array_formatr   r  s    rz   qsz	OpenAI.qs       
33r   retriedc                   d}| j                   S|j                  j                  d      }|dt         k(  r,d| j                   j	                          |j                  d<   d}t        |   |fd|i|}|j                  dk(  rz| j                   n|rl|sj|j                          | j                   j                          d| j                   j	                          |j                  d<    | j                  |f|dd|S |S NFAuthorizationBearer Tstream  )r-  r(  )r   r~   r   r   	get_tokenr   _send_requeststatus_codecloseinvalidate_token_send_with_auth_retry	r   requestr-  r(  kwargsused_workload_identity_authauthorizationresponser   s	           rz   r4  zOpenAI._send_with_auth_retry  s    ',#''3#OO//@M'*O)P QQ5<T=Y=Y=c=c=e<f3g0.2+7(JJ6J  C',,8+NN((99;189U9U9_9_9a8b/cGOOO,-4--g]fd]V\]]r   c                    | j                   |fd|i|}| j                  1| j                  j                  | j                  j                  |      }|S Nr-  )r4  r   normalize_responser   r6  r-  r7  r:  s        rz   r0  zOpenAI._send_request  sX     .4--gOfOO!!-$2H2H2[2[2g--@@JHr   c                >   | j                   i S i }|j                  dd      r4| j                  j                         D ]  \  }}|j	                  ||        |j                  dd      r4| j
                  j                         D ]  \  }}|j	                  ||        |S Nbearer_authFadmin_api_key_authr   r   _bearer_authr   
setdefault_admin_api_key_authr   securityr~   rx   r   s        rz   _auth_headerszOpenAI._auth_headers      !!-I"$<<u-"//557 /
U""3./<<,e4"66<<> /
U""3./r   c                0    | j                   }|si S dd| iS Nr+  r,  r   r   r   s     rz   rD  zOpenAI._bearer_auth  %    ,,I77)!455r   c                ^    | j                   i S | j                  }|r	|t        k(  ri S dd| iS rL  r   r   r   rN  s     rz   auth_headerszOpenAI.auth_headers  @     !!-I,,'%JJI77)!455r   c                0    | j                   }|i S dd| iS rL  r   r   r   s     rz   rF  zOpenAI._admin_api_key_auth  *    ** I7=/!:;;r   c                    i t         |   d| j                  | j                  n	t               | j                  | j                  n	t               d| j
                  S )NfalsezX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)r   r   r   r   r   _custom_headersr   r   s    rz   r   zOpenAI.default_headers
  s`    
g%
!(8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
r   c                d    | j                   y t        |d      st        |d      ry t        d      Nr+  z"Could not resolve authentication method. Expected either api_key or admin_api_key to be set. Or for one of the `Authorization` or `Authorization` headers to be explicitly omitted"r   r   r   	TypeErrorr   r~   r   s      rz   _validate_headerszOpenAI._validate_headers  <    !!-w04GXg4h C
 	
r   c                   | j                   2| j                   j                  T| j                   j                  |      }n8| j                  ,|j                  j	                  dd      r| j                          t        |   |      S NrA  F)r   transform_requestr   rH  r   _refresh_api_keyr   _prepare_optionsr   optionsr   s     rz   rh  zOpenAI._prepare_options!  su    !!-%%77C00BB7K##/G4D4D4H4HX]4^!!#w'00r   c                    | j                   3| j                   j                  | j                   j                  |       y y y ru   )r   prepare_requestr   r6  s     rz   _prepare_requestzOpenAI._prepare_request+  s<    !!-$2H2H2X2X2d""227; 3e-r   c                b    | j                   t        j                         S t        |   |      S ru   )r   httpxAuthr   _custom_auth)r   rH  r   s     rz   rr  zOpenAI._custom_auth0  s+    !!-::<w#H--r   c                \    | j                   | j                         | _        | j                  S ru   r   r   r  s    rz   rg  zOpenAI._refresh_api_key7  s(    !!-113DL||r   r   r   r   r   r   r   r   r   r   r   r   r   r   set_default_headersr   set_default_queryr   _extra_kwargsc               T   ||t        d      ||t        d      t        |t               xr || j                  u}|rdn| j                  }|rdn| j
                  }|ri n| j                  }|i ||}n||}| j                  }|i ||}n||}|xs | j                  }t        |t              r| j                  n|}|	|||||	d}na| j                  ||||	d}nM|xs | j                  xs | j                  |xs | j                  |xs | j                  |	xs | j                  d} | j                  d|xs ||xs ||xs | j                  |xs | j                   t        |
t              r| j"                  n|
|t%        |      r|n| j&                  |||dn|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)r   r   r   r   r   )r   r   r   r   T)
r   r   r   r   r   r   r   r   r   r   r   
ValueErrorr   r   r   r   r   r[  _custom_query_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   rv  r   rw  r   rx  provider_changedinherited_organizationinherited_projectr~   paramsnext_providerauth_optionss                             rz   copyzOpenAI.copy=  s   2 &+>+Jopp$):)Fkll)(H==`(RVR`R`B`)9t?P?P$4D$,,+;RAUAU&44O4G ,)G##$00-0F*&F!1T\\*4Xx*Hh$)"!.%6$L ^^'"!.%6$	L #Ld&<&<L!.!D$2D2D%6%P$:P:P$5	L t~~ 
%?)?00)@T-@-@1LT5L5L$.w$ADLLw#'/'<$BRBR# )=)EK_
 
 
 	
r   c                  t        |      r|j                  d|      n|}|j                  dk(  rt        j                  |||      S |j                  dk(  rt        j
                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  d	k(  rt        j                  |||      S |j                  d
k\  rt        j                  |||      S t        |||      S Nerrori  )r:  bodyr.  i  i  i  i  i  i  r   r   r1  r   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorInternalServerErrorr*   r   err_msgr  r:  datas        rz   _make_status_errorzOpenAI._make_status_error  I    +5T*:txx&3&..wPTUU3&227XTXYY3&44WxVZ[[3&,,WxdSS3&,,WxdSS3&77(Y]^^3&--gtTT3&227XTXYYgtDDr   )"r   str | Callable[[], str] | Noner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   !float | Timeout | None | NotGivenr   intr   Mapping[str, str] | Noner   Mapping[str, object] | Noner   httpx.Client | Noner   boolr   r  returnNone)r  rW   )r  rO   )r  rQ   )r  rC   )r  rE   )r  rU   )r  r[   )r  rG   )r  ri   )r  rm   )r  rc   )r  rM   )r  rK   )r  r_   )r  rS   )r  re   )r  ra   )r  rk   )r  rY   )r  rg   )r  r]   )r  rI   )r  r  )r  r  r  r   
r6  httpx.Requestr-  r  r(  r  r7  Unpack[HttpxSendArgs]r  httpx.Responser6  r  r-  r  r7  r  r  r  rH  r    r  dict[str, str]r  r  r  zdict[str, str | Omit]r~   r   r   r   r  r  rj  r!   r  r!   r6  r  r  r  )rH  r    r  httpx.Auth | Noner  r   )&r   r  r   r   r   r   r   _Provider | None | NotGivenr   r   r   r   r   r   r   r   r   r   r   r  r   r  r   int | NotGivenr   r  rv  r  r   r  rw  r  r   bool | Nonerx  Mapping[str, Any]r  r	   r  r   r  objectr:  r  r  r*   )3__name__
__module____qualname____annotations__r   r+   r   r   r>   r/   r=   r3   r4   r1   r@   r5   r?   rB   r   r.   r8   r9   r0   r;   r:   rA   r2   r<   r6   r7   r  r  propertyr   r%  r4  r0  rI  rD  rR  rF  r   rb  rh  rn  rr  rg  r  with_optionsr  __classcell__r   s   @rz   ro   ro   i   s   L..88.... 37$(59#'"%)%)+/595>.4859 ,0 -2%);V* 0V* "	V*
 3V* !V* V* #V* #V* )V* 3V* 3V* V* 2V* 3V*& )'V*8 &*9V*: #;V*< 
=V*p ! !  
          
 ! !      
 " "
  
  
      
  
  
 # #      
  
  
 + + 0 0 4  4  	
  ( 
< 

 	

 (
 

 
   6 6 6  6 < < 
  
 	
 	
 1 1 < < . . 37$(5909#'"%)59+/5>+/&/488<599=,0+-)W
 0W
 "	W

 3W
 .W
 !W
 W
 #W
 3W
 )W
 3W
 )W
 $W
 2W
  6!W
" 3#W
$ 7%W
& *'W
( ))W
* 
+W
v LEE 	E
 !E 
E Er   ro   c                  t    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ddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d@ fdZedAd       ZedBd       Z	edCd       Z
edDd       ZedEd       ZedFd       ZedGd       ZedHd       ZedId       ZedJd        ZedKd!       ZedLd"       ZedMd#       ZedNd$       ZedOd%       ZedPd&       ZedQd'       ZedRd(       ZedSd)       ZedTd*       ZedUd+       ZedVd,       ZedWd-       ZedXd.       Ze e!dYd/              Z"dd0	 	 	 	 	 	 	 	 	 dZ fd1Z#e!	 	 	 	 	 	 	 	 d[d2       Z$e!d\d3       Z%e d]d4       Z&e e!d]d5              Z'e d]d6       Z(e e!d^ fd7              Z)e!d_d8       Z*e!d` fd9       Z+e!dad:       Z,e e!db fd;              Z-dcd<Z.dddedddddededddddi d=	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd>Z/e/Z0e!	 	 	 	 	 	 	 	 ded?       Z1 xZ2S )frp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   NFTr   c          
     
   d}|dt        |      }d|fd|fd|fd|ffD cg c]	  \  }}|| }}}|r*dj                  d |D              }t        d| d	| d
      t        |      }|| _        || _        ||t        k7  r|t        d      ||nd| _        |d| _        d| _	        d| _
        nz|$t        | _        d| _	        t        |      | _
        nT|t        j                  j                  d      }t        |      rd| _        || _	        n|xs d| _        d| _	        d| _
        |!|t        j                  j                  d      }||nd| _        |3|r1| j                  s%| j                  || j                   t        d      |!|t        j                  j                  d      }|| _        |!|t        j                  j                  d      }|| _        |t        j                  j                  d      }|| _        |	| _        ||j*                  }n!|t        j                  j                  d      }|d}|t        j                  j                  d      nd}|li }|j-                  d      D ]C  }|j/                  d      }|dk\  s||dz   d j1                         ||d| j1                         <   E i |t3        |      r|ni }t4        | m  t8        |||
||||       t:        | _        yc c}}w )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`
        - `admin_api_key` from `OPENAI_ADMIN_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`

        When `provider` is supplied, authentication and the base URL are configured by that provider instead.
        Nr   r   r   r   r   c              3  (   K   | ]
  }d | d   ywr   r   r   s     rz   r{   z'AsyncOpenAI.__init__.<locals>.<genexpr>	  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   r   r   r   r   r   r   r   r   r   r"   r(   r   r   s                              rz   r   zAsyncOpenAI.__init__  s}   T 59*84M ($m4(*;<*	$	D% $ 	I 	  II%Hi%HH	!CI; ONN[_\ce 
  38<!!17.S#SXiXufgg6F6N!2TX'DL%)D"+/D(*@DL%)D"+?"3,D( **..)9: !NU&&}")-&+/D( %5%=JJNN+=>M.>.F]D $$LL&&.!)""* o  $4$<::>>/:L(?/7jjnn%89G!ZZ^^,CDN,"4''00Hzz~~&78H2HHXH`RZZ^^,CDfj)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO##*&(C 	 		
 $/ S	r   c                    ddl m}  ||       S )r   r   )rX   )r   rX   )r   rX   s     rz   r>   zAsyncOpenAI.completionsi      
 	<%%r   c                    ddl m}  ||       S )Nr   )rP   )r   rP   )r   rP   s     rz   r/   zAsyncOpenAI.chatr      -r   c                    ddl m}  ||       S )r   r   )rR   )r   rR   )r   rR   s     rz   r=   zAsyncOpenAI.embeddingsx  s    
 	:t$$r   c                    ddl m}  ||       S )r   r   )rD   )r   rD   )r   rD   s     rz   r3   zAsyncOpenAI.files  s    
 	0$r   c                    ddl m}  ||       S )r   r   )rF   )r   rF   )r   rF   s     rz   r4   zAsyncOpenAI.images       	24  r   c                    ddl m}  ||       S )Nr   )rV   )r   rV   )r   rV   s     rz   r1   zAsyncOpenAI.audio      /$r   c                    ddl m}  ||       S )r   r   )r\   )r   r\   )r   r\   s     rz   r@   zAsyncOpenAI.moderations  r  r   c                    ddl m}  ||       S )r   r   )rH   )r   rH   )r   rH   s     rz   r5   zAsyncOpenAI.models  r  r   c                    ddl m}  ||       S )Nr   )rj   )r   rj   )r   rj   s     rz   r?   zAsyncOpenAI.fine_tuning  s    :t$$r   c                    ddl m}  ||       S )Nr   )rn   )r   rn   )r   rn   s     rz   rB   zAsyncOpenAI.vector_stores  s    > &&r   c                    ddl m}  ||       S )Nr   )rd   )r   rd   )r   rd   s     rz   r   zAsyncOpenAI.webhooks      5T""r   c                    ddl m}  ||       S )Nr   )rN   )r   rN   )r   rN   s     rz   r.   zAsyncOpenAI.beta  r  r   c                    ddl m}  ||       S )r   r   )rL   )r  rL   )r   rL   s     rz   r8   zAsyncOpenAI.batches       	4D!!r   c                    ddl m}  ||       S )r  r   )r`   )r  r`   )r   r`   s     rz   r9   zAsyncOpenAI.uploads  r  r   c                    ddl m}  ||       S )Nr   )rT   )r  rT   )r   rT   s     rz   r0   zAsyncOpenAI.admin  r  r   c                    ddl m}  ||       S )Nr   )rf   )r	  rf   )r   rf   s     rz   r;   zAsyncOpenAI.responses  s    7d##r   c                    ddl m}  ||       S )Nr   )rb   )r  rb   )r   rb   s     rz   r:   zAsyncOpenAI.realtime  r  r   c                    ddl m}  ||       S )r  r   )rl   )r  rl   )r   rl   s     rz   rA   zAsyncOpenAI.conversations  s     	@!$''r   c                    ddl m}  ||       S )r  r   )rZ   )r  rZ   )r   rZ   s     rz   r2   zAsyncOpenAI.evals  s     	0$r   c                    ddl m}  ||       S )Nr   )rh   )r  rh   )r   rh   s     rz   r<   zAsyncOpenAI.containers  s    9t$$r   c                    ddl m}  ||       S )Nr   )r^   )r  r^   )r   r^   s     rz   r6   zAsyncOpenAI.skills      14  r   c                    ddl m}  ||       S )Nr   )rJ   )r  rJ   )r   rJ   s     rz   r7   zAsyncOpenAI.videos  r  r   c                    t        |       S ru   )AsyncOpenAIWithRawResponser  s    rz   r  zAsyncOpenAI.with_raw_response  r   r   c                    t        |       S ru   )AsyncOpenAIWithStreamedResponser  s    rz   r  z#AsyncOpenAI.with_streaming_response  s    .t44r   c                    t        d      S r"  r   r  s    rz   r%  zAsyncOpenAI.qs  r&  r   r'  c               l  K   d}| j                   [|j                  j                  d      }|dt         k(  r4d| j                   j	                          d {    |j                  d<   d}t        |   |fd|i| d {   }|j                  dk(  r| j                   |r|s|j                          d {    | j                   j                          d| j                   j	                          d {    |j                  d<    | j                  |f|dd| d {   S |S 7 7 7 t7 97 wr*  )r   r~   r   r   get_token_asyncr   r0  r1  acloser3  r4  r5  s	           rz   r4  z!AsyncOpenAI._send_with_auth_retry  s8     ',#''3#OO//@M'*O)P QQ5<4C_C_CoCoCq=q<r3s0.2+.wPvPPP  C',,8+//###((99;18t?[?[?k?k?m9m8n/oGOOO,333GcFTXc\bccc >r Q $9mcsZ   AD4D**D4D,6D49D.:<D46D07,D4#D2$D4,D4.D40D42D4c               @  K    | j                   |fd|i| d {   }| j                  l| j                  j                  %| j                  j                  |       d {   }|S | j                  j                  | j                  j                  |      }|S 7 ~7 ;wr<  )r4  r   normalize_async_responser=  r>  s        rz   r0  zAsyncOpenAI._send_request*  s      433GUFUfUU!!-%%>>J!%!7!7!P!PQY!ZZ  ''::F11DDXN V [s"   BBAB B!:BBc                >   | j                   i S i }|j                  dd      r4| j                  j                         D ]  \  }}|j	                  ||        |j                  dd      r4| j
                  j                         D ]  \  }}|j	                  ||        |S r@  rC  rG  s        rz   rI  zAsyncOpenAI._auth_headers:  rJ  r   c                0    | j                   }|si S dd| iS rL  rM  rN  s     rz   rD  zAsyncOpenAI._bearer_authH  rO  r   c                ^    | j                   i S | j                  }|r	|t        k(  ri S dd| iS rL  rQ  rN  s     rz   rR  zAsyncOpenAI.auth_headersO  rS  r   c                0    | j                   }|i S dd| iS rL  rU  rV  s     rz   rF  zAsyncOpenAI._admin_api_key_authZ  rW  r   c                    i t         |   dt                | j                  | j                  n	t	               | j
                  | j
                  n	t	               d| j                  S )Nzasync:rZ  )r   r   r   r   r   r   r[  r\  s    rz   r   zAsyncOpenAI.default_headersa  sl    
g%
#)*;*=)>!?8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
r   c                d    | j                   y t        |d      st        |d      ry t        d      r^  r_  ra  s      rz   rb  zAsyncOpenAI._validate_headersl  rc  r   c                  K   | j                   l| j                   j                  $| j                   j                  |       d {   }nr| j                   j                  \| j                   j                  |      }n@| j                  4|j                  j                  dd      r| j                          d {    t        | !  |       d {   S 7 7 7 wre  )	r   transform_async_requestrf  r   rH  r   rg  r   rh  ri  s     rz   rh  zAsyncOpenAI._prepare_optionsx  s     !!-%%==I $ 6 6 N Nw WW''99E00BB7K##/G4D4D4H4HX]4^'')))W-g666 X *6s7   ACCA2C7C8CCCCCc                  K   | j                   y | j                   j                  $| j                   j                  |       d {    y | j                   j                  | j                   j                  |       y y 7 8wru   )r   prepare_async_requestrl  rm  s     rz   rn  zAsyncOpenAI._prepare_request  ss     !!)!!77C((>>wGGG##33?""227; @ Hs   AA?A=9A?c                X    | j                   t        j                         S t        |   S ru   )r   rp  rq  r   custom_authr\  s    rz   r  zAsyncOpenAI.custom_auth  s(     !!-::<w""r   c                x   K   | j                   | j                          d {   | _        | j                  S 7 wru   rt  r  s    rz   rg  zAsyncOpenAI._refresh_api_key  s4     !!-!%!7!7!99DL|| :s    :8:ru  c               T   ||t        d      ||t        d      t        |t               xr || j                  u}|rdn| j                  }|rdn| j
                  }|ri n| j                  }|i ||}n||}| j                  }|i ||}n||}|xs | j                  }t        |t              r| j                  n|}|	|||||	d}na| j                  ||||	d}nM|xs | j                  xs | j                  |xs | j                  |xs | j                  |	xs | j                  d} | j                  d|xs ||xs ||xs | j                  |xs | j                   t        |
t              r| j"                  n|
|t%        |      r|n| j&                  |||dn|d
||S rz  r{  r  s                             rz   r  zAsyncOpenAI.copy  s   2 &+>+Jopp$):)Fkll)(H==`(RVR`R`B`)9t?P?P$4D$,,+;RAUAU&44O4G ,)G##$00-0F*&F!1T\\*4Xx*Hh$)"!.%6$L ^^'"!.%6$	L #Ld&<&<L!.!D$2D2D%6%P$:P:P$5	L t~~ 
%?)?00)@T-@-@1LT5L5L$.w$ADLLw#'/'<$BRBR# )=)EK_
 
 
 	
r   c                  t        |      r|j                  d|      n|}|j                  dk(  rt        j                  |||      S |j                  dk(  rt        j
                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  d	k(  rt        j                  |||      S |j                  d
k\  rt        j                  |||      S t        |||      S r  r  r  s        rz   r  zAsyncOpenAI._make_status_error  r  r   )"r   )str | Callable[[], Awaitable[str]] | Noner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r   r  r   httpx.AsyncClient | Noner   r  r   r  r  r  )r  rX   )r  rP   )r  rR   )r  rD   )r  rF   )r  rV   )r  r\   )r  rH   )r  rj   )r  rn   )r  rd   )r  rN   )r  rL   )r  r`   )r  rT   )r  rf   )r  rb   )r  rl   )r  rZ   )r  rh   )r  r^   )r  rJ   )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   r  rv  r  r   r  rw  r  r   r  rx  r  r  r	   r  )3r  r  r  r  r   r+   r   r   r>   r/   r=   r3   r4   r1   r@   r5   r?   rB   r   r.   r8   r9   r0   r;   r:   rA   r2   r<   r6   r7   r  r  r  r   r%  r4  r0  rI  rD  rR  rF  r   rb  rh  rn  r  rg  r  r  r  r  r  s   @rz   rp   rp     s   L..88.... >B$(59#'"%)%)+/595>.4859 15 -2%);V/ ;V/ "	V/
 3V/ !V/ V/ #V/ #V/ )V/ 3V/ 3V/ V/ 2V/ 3V/& .'V/8 &*9V/: #;V/< 
=V/p & &  
 % %     ! !    
 & & ! ! % %
 ' '
 # #
  
 " " " "    
 $ $
 # #
 ( (     % %
 ! !
 ! !
 0 0 5 5 4  4  	
  ( 
<  	
 ( 
    6 6 6  6 < < 
  
 	
 	
 	7 	7 < < #  # >B$(5909#'"%)59+/5>04&/488<599=,0+-)V
 ;V
 "	V

 3V
 .V
 !V
 V
 #V
 3V
 )V
 3V
 .V
 $V
 2V
  6!V
" 3#V
$ 7%V
& *'V
( ))V
* 
+V
t LEE 	E
 !E 
E Er   rp   c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  ro   r~  c                    || _         y ru   r~  r   clients     rz   r   zOpenAIWithRawResponse.__init__  	    r   c                F    ddl m}  || j                  j                        S )r   r   )CompletionsWithRawResponse)r   r  r~  r>   )r   r  s     rz   r>   z!OpenAIWithRawResponse.completions!      
 	F)$,,*B*BCCr   c                F    ddl m}  || j                  j                        S )Nr   )ChatWithRawResponse)r   r  r~  r/   )r   r  s     rz   r/   zOpenAIWithRawResponse.chat*      7"4<<#4#455r   c                F    ddl m}  || j                  j                        S )r   r   )EmbeddingsWithRawResponse)r   r  r~  r=   )r   r  s     rz   r=   z OpenAIWithRawResponse.embeddings0  s    
 	D()@)@AAr   c                F    ddl m}  || j                  j                        S )r   r   )FilesWithRawResponse)r   r	  r~  r3   )r   r	  s     rz   r3   zOpenAIWithRawResponse.files9  s    
 	:#DLL$6$677r   c                F    ddl m}  || j                  j                        S )r   r   )ImagesWithRawResponse)r   r  r~  r4   )r   r  s     rz   r4   zOpenAIWithRawResponse.imagesB       	<$T\\%8%899r   c                F    ddl m}  || j                  j                        S )Nr   )AudioWithRawResponse)r   r  r~  r1   )r   r  s     rz   r1   zOpenAIWithRawResponse.audioI      9#DLL$6$677r   c                F    ddl m}  || j                  j                        S )r   r   )ModerationsWithRawResponse)r   r  r~  r@   )r   r  s     rz   r@   z!OpenAIWithRawResponse.moderationsO  r  r   c                F    ddl m}  || j                  j                        S )r   r   )ModelsWithRawResponse)r   r  r~  r5   )r   r  s     rz   r5   zOpenAIWithRawResponse.modelsX  r  r   c                F    ddl m}  || j                  j                        S )Nr   )FineTuningWithRawResponse)r   r  r~  r?   )r   r  s     rz   r?   z!OpenAIWithRawResponse.fine_tuning_  s    D()A)ABBr   c                F    ddl m}  || j                  j                        S )Nr   )VectorStoresWithRawResponse)r   r  r~  rB   )r   r  s     rz   rB   z#OpenAIWithRawResponse.vector_storese  s    H*4<<+E+EFFr   c                F    ddl m}  || j                  j                        S )Nr   )BetaWithRawResponse)r   r  r~  r.   )r   r  s     rz   r.   zOpenAIWithRawResponse.betak  r  r   c                F    ddl m}  || j                  j                        S )r   r   )BatchesWithRawResponse)r  r  r~  r8   )r   r  s     rz   r8   zOpenAIWithRawResponse.batchesq       	>%dll&:&:;;r   c                F    ddl m}  || j                  j                        S )r  r   )UploadsWithRawResponse)r  r  r~  r9   )r   r  s     rz   r9   zOpenAIWithRawResponse.uploadsx  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AdminWithRawResponse)r  r   r~  r0   )r   r   s     rz   r0   zOpenAIWithRawResponse.admin  r  r   c                F    ddl m}  || j                  j                        S )Nr   )ResponsesWithRawResponse)r	  r"  r~  r;   )r   r"  s     rz   r;   zOpenAIWithRawResponse.responses  s    A'(>(>??r   c                F    ddl m}  || j                  j                        S )Nr   )RealtimeWithRawResponse)r  r$  r~  r:   )r   r$  s     rz   r:   zOpenAIWithRawResponse.realtime  s    ?&t||'<'<==r   c                F    ddl m}  || j                  j                        S )r  r   )ConversationsWithRawResponse)r  r&  r~  rA   )r   r&  s     rz   rA   z#OpenAIWithRawResponse.conversations  s     	J+DLL,F,FGGr   c                F    ddl m}  || j                  j                        S )r  r   )EvalsWithRawResponse)r  r(  r~  r2   )r   r(  s     rz   r2   zOpenAIWithRawResponse.evals  s     	:#DLL$6$677r   c                F    ddl m}  || j                  j                        S )Nr   )ContainersWithRawResponse)r  r*  r~  r<   )r   r*  s     rz   r<   z OpenAIWithRawResponse.containers  s    C()@)@AAr   c                F    ddl m}  || j                  j                        S )Nr   )SkillsWithRawResponse)r  r,  r~  r6   )r   r,  s     rz   r6   zOpenAIWithRawResponse.skills      ;$T\\%8%899r   c                F    ddl m}  || j                  j                        S )Nr   )VideosWithRawResponse)r  r/  r~  r7   )r   r/  s     rz   r7   zOpenAIWithRawResponse.videos  r-  r   Nr  ro   r  r  )r  z&completions.CompletionsWithRawResponse)r  zchat.ChatWithRawResponse)r  z$embeddings.EmbeddingsWithRawResponse)r  zfiles.FilesWithRawResponse)r  zimages.ImagesWithRawResponse)r  zaudio.AudioWithRawResponse)r  z&moderations.ModerationsWithRawResponse)r  zmodels.ModelsWithRawResponse)r  z%fine_tuning.FineTuningWithRawResponse)r  z)vector_stores.VectorStoresWithRawResponse)r  zbeta.BetaWithRawResponse)r  zbatches.BatchesWithRawResponse)r  zuploads.UploadsWithRawResponse)r  zadmin.AdminWithRawResponse)r  z"responses.ResponsesWithRawResponse)r  z realtime.RealtimeWithRawResponse)r  z*conversations.ConversationsWithRawResponse)r  zevals.EvalsWithRawResponse)r  z$containers.ContainersWithRawResponse)r  zskills.SkillsWithRawResponse)r  zvideos.VideosWithRawResponser  r  r  r  r   r   r>   r/   r=   r3   r4   r1   r@   r5   r?   rB   r.   r8   r9   r0   r;   r:   rA   r2   r<   r6   r7   r   r   rz   r  r    s   O D D 6 6
 B B 8 8 : : 8 8
 D D : : C C
 G G
 6 6
 < < < < 8 8
 @ @
 > >
 H H 8 8 B B
 : :
 : :r   r  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  rp   r~  c                    || _         y ru   r  r  s     rz   r   z#AsyncOpenAIWithRawResponse.__init__  r  r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncCompletionsWithRawResponse)r   r5  r~  r>   )r   r5  s     rz   r>   z&AsyncOpenAIWithRawResponse.completions      
 	K.t||/G/GHHr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncChatWithRawResponse)r   r8  r~  r/   )r   r8  s     rz   r/   zAsyncOpenAIWithRawResponse.chat      <'(9(9::r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncEmbeddingsWithRawResponse)r   r;  r~  r=   )r   r;  s     rz   r=   z%AsyncOpenAIWithRawResponse.embeddings  s    
 	I-dll.E.EFFr   c                F    ddl m}  || j                  j                        S )r   r   )AsyncFilesWithRawResponse)r   r=  r~  r3   )r   r=  s     rz   r3   z AsyncOpenAIWithRawResponse.files  s    
 	?(););<<r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncImagesWithRawResponse)r   r?  r~  r4   )r   r?  s     rz   r4   z!AsyncOpenAIWithRawResponse.images       	A)$,,*=*=>>r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAudioWithRawResponse)r   rB  r~  r1   )r   rB  s     rz   r1   z AsyncOpenAIWithRawResponse.audio      >(););<<r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncModerationsWithRawResponse)r   rE  r~  r@   )r   rE  s     rz   r@   z&AsyncOpenAIWithRawResponse.moderations  r6  r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncModelsWithRawResponse)r   rG  r~  r5   )r   rG  s     rz   r5   z!AsyncOpenAIWithRawResponse.models  r@  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncFineTuningWithRawResponse)r   rI  r~  r?   )r   rI  s     rz   r?   z&AsyncOpenAIWithRawResponse.fine_tuning  s    I-dll.F.FGGr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncVectorStoresWithRawResponse)r   rK  r~  rB   )r   rK  s     rz   rB   z(AsyncOpenAIWithRawResponse.vector_stores  s    M/0J0JKKr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncBetaWithRawResponse)r   rM  r~  r.   )r   rM  s     rz   r.   zAsyncOpenAIWithRawResponse.beta  r9  r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncBatchesWithRawResponse)r  rO  r~  r8   )r   rO  s     rz   r8   z"AsyncOpenAIWithRawResponse.batches       	C*4<<+?+?@@r   c                F    ddl m}  || j                  j                        S )r  r   )AsyncUploadsWithRawResponse)r  rR  r~  r9   )r   rR  s     rz   r9   z"AsyncOpenAIWithRawResponse.uploads  rP  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAdminWithRawResponse)r  rT  r~  r0   )r   rT  s     rz   r0   z AsyncOpenAIWithRawResponse.admin  rC  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncResponsesWithRawResponse)r	  rV  r~  r;   )r   rV  s     rz   r;   z$AsyncOpenAIWithRawResponse.responses  s    F,T\\-C-CDDr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncRealtimeWithRawResponse)r  rX  r~  r:   )r   rX  s     rz   r:   z#AsyncOpenAIWithRawResponse.realtime"  s    D+DLL,A,ABBr   c                F    ddl m}  || j                  j                        S )r  r   )!AsyncConversationsWithRawResponse)r  rZ  r~  rA   )r   rZ  s     rz   rA   z(AsyncOpenAIWithRawResponse.conversations(  s     	O01K1KLLr   c                F    ddl m}  || j                  j                        S )r  r   )AsyncEvalsWithRawResponse)r  r\  r~  r2   )r   r\  s     rz   r2   z AsyncOpenAIWithRawResponse.evals/  s     	?(););<<r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncContainersWithRawResponse)r  r^  r~  r<   )r   r^  s     rz   r<   z%AsyncOpenAIWithRawResponse.containers6  s    H-dll.E.EFFr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncSkillsWithRawResponse)r  r`  r~  r6   )r   r`  s     rz   r6   z!AsyncOpenAIWithRawResponse.skills<      @)$,,*=*=>>r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncVideosWithRawResponse)r  rc  r~  r7   )r   rc  s     rz   r7   z!AsyncOpenAIWithRawResponse.videosB  ra  r   Nr  rp   r  r  )r  z+completions.AsyncCompletionsWithRawResponse)r  zchat.AsyncChatWithRawResponse)r  z)embeddings.AsyncEmbeddingsWithRawResponse)r  zfiles.AsyncFilesWithRawResponse)r  z!images.AsyncImagesWithRawResponse)r  zaudio.AsyncAudioWithRawResponse)r  z+moderations.AsyncModerationsWithRawResponse)r  z!models.AsyncModelsWithRawResponse)r  z*fine_tuning.AsyncFineTuningWithRawResponse)r  z.vector_stores.AsyncVectorStoresWithRawResponse)r  zbeta.AsyncBetaWithRawResponse)r  z#batches.AsyncBatchesWithRawResponse)r  z#uploads.AsyncUploadsWithRawResponse)r  zadmin.AsyncAdminWithRawResponse)r  z'responses.AsyncResponsesWithRawResponse)r  z%realtime.AsyncRealtimeWithRawResponse)r  z/conversations.AsyncConversationsWithRawResponse)r  zevals.AsyncEvalsWithRawResponse)r  z)containers.AsyncContainersWithRawResponse)r  z!skills.AsyncSkillsWithRawResponse)r  z!videos.AsyncVideosWithRawResponser1  r   r   rz   r  r    s    I I ; ;
 G G = = ? ? = =
 I I ? ? H H
 L L
 ; ;
 A A A A = =
 E E
 C C
 M M = = G G
 ? ?
 ? ?r   r  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  ro   r~  c                    || _         y ru   r  r  s     rz   r   z#OpenAIWithStreamedResponse.__init__L  r  r   c                F    ddl m}  || j                  j                        S )r   r   ) CompletionsWithStreamingResponse)r   rh  r~  r>   )r   rh  s     rz   r>   z&OpenAIWithStreamedResponse.completionsO      
 	L/0H0HIIr   c                F    ddl m}  || j                  j                        S )Nr   )ChatWithStreamingResponse)r   rk  r~  r/   )r   rk  s     rz   r/   zOpenAIWithStreamedResponse.chatX      =():):;;r   c                F    ddl m}  || j                  j                        S )r   r   )EmbeddingsWithStreamingResponse)r   rn  r~  r=   )r   rn  s     rz   r=   z%OpenAIWithStreamedResponse.embeddings^  s    
 	J.t||/F/FGGr   c                F    ddl m}  || j                  j                        S )r   r   )FilesWithStreamingResponse)r   rp  r~  r3   )r   rp  s     rz   r3   z OpenAIWithStreamedResponse.filesg  s    
 	@)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )r   r   )ImagesWithStreamingResponse)r   rr  r~  r4   )r   rr  s     rz   r4   z!OpenAIWithStreamedResponse.imagesp       	B*4<<+>+>??r   c                F    ddl m}  || j                  j                        S )Nr   )AudioWithStreamingResponse)r   ru  r~  r1   )r   ru  s     rz   r1   z OpenAIWithStreamedResponse.audiow      ?)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )r   r   ) ModerationsWithStreamingResponse)r   rx  r~  r@   )r   rx  s     rz   r@   z&OpenAIWithStreamedResponse.moderations}  ri  r   c                F    ddl m}  || j                  j                        S )r   r   )ModelsWithStreamingResponse)r   rz  r~  r5   )r   rz  s     rz   r5   z!OpenAIWithStreamedResponse.models  rs  r   c                F    ddl m}  || j                  j                        S )Nr   )FineTuningWithStreamingResponse)r   r|  r~  r?   )r   r|  s     rz   r?   z&OpenAIWithStreamedResponse.fine_tuning  s    J.t||/G/GHHr   c                F    ddl m}  || j                  j                        S )Nr   )!VectorStoresWithStreamingResponse)r   r~  r~  rB   )r   r~  s     rz   rB   z(OpenAIWithStreamedResponse.vector_stores  s    N01K1KLLr   c                F    ddl m}  || j                  j                        S )Nr   )BetaWithStreamingResponse)r   r  r~  r.   )r   r  s     rz   r.   zOpenAIWithStreamedResponse.beta  rl  r   c                F    ddl m}  || j                  j                        S )r   r   )BatchesWithStreamingResponse)r  r  r~  r8   )r   r  s     rz   r8   z"OpenAIWithStreamedResponse.batches       	D+DLL,@,@AAr   c                F    ddl m}  || j                  j                        S )r  r   )UploadsWithStreamingResponse)r  r  r~  r9   )r   r  s     rz   r9   z"OpenAIWithStreamedResponse.uploads  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AdminWithStreamingResponse)r  r  r~  r0   )r   r  s     rz   r0   z OpenAIWithStreamedResponse.admin  rv  r   c                F    ddl m}  || j                  j                        S )Nr   )ResponsesWithStreamingResponse)r	  r  r~  r;   )r   r  s     rz   r;   z$OpenAIWithStreamedResponse.responses  s    G-dll.D.DEEr   c                F    ddl m}  || j                  j                        S )Nr   )RealtimeWithStreamingResponse)r  r  r~  r:   )r   r  s     rz   r:   z#OpenAIWithStreamedResponse.realtime  s    E,T\\-B-BCCr   c                F    ddl m}  || j                  j                        S )r  r   )"ConversationsWithStreamingResponse)r  r  r~  rA   )r   r  s     rz   rA   z(OpenAIWithStreamedResponse.conversations  s     	P1$,,2L2LMMr   c                F    ddl m}  || j                  j                        S )r  r   )EvalsWithStreamingResponse)r  r  r~  r2   )r   r  s     rz   r2   z OpenAIWithStreamedResponse.evals  s     	@)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )Nr   )ContainersWithStreamingResponse)r  r  r~  r<   )r   r  s     rz   r<   z%OpenAIWithStreamedResponse.containers  s    I.t||/F/FGGr   c                F    ddl m}  || j                  j                        S )Nr   )SkillsWithStreamingResponse)r  r  r~  r6   )r   r  s     rz   r6   z!OpenAIWithStreamedResponse.skills      A*4<<+>+>??r   c                F    ddl m}  || j                  j                        S )Nr   )VideosWithStreamingResponse)r  r  r~  r7   )r   r  s     rz   r7   z!OpenAIWithStreamedResponse.videos  r  r   Nr0  )r  z,completions.CompletionsWithStreamingResponse)r  zchat.ChatWithStreamingResponse)r  z*embeddings.EmbeddingsWithStreamingResponse)r  z files.FilesWithStreamingResponse)r  z"images.ImagesWithStreamingResponse)r  z audio.AudioWithStreamingResponse)r  z,moderations.ModerationsWithStreamingResponse)r  z"models.ModelsWithStreamingResponse)r  z+fine_tuning.FineTuningWithStreamingResponse)r  z/vector_stores.VectorStoresWithStreamingResponse)r  zbeta.BetaWithStreamingResponse)r  z$batches.BatchesWithStreamingResponse)r  z$uploads.UploadsWithStreamingResponse)r  z admin.AdminWithStreamingResponse)r  z(responses.ResponsesWithStreamingResponse)r  z&realtime.RealtimeWithStreamingResponse)r  z0conversations.ConversationsWithStreamingResponse)r  z evals.EvalsWithStreamingResponse)r  z*containers.ContainersWithStreamingResponse)r  z"skills.SkillsWithStreamingResponse)r  z"videos.VideosWithStreamingResponser1  r   r   rz   r  r  I  s   O J J < <
 H H > > @ @ > >
 J J @ @ I I
 M M
 < <
 B B B B > >
 F F
 D D
 N N > > H H
 @ @
 @ @r   r  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  rp   r~  c                    || _         y ru   r  r  s     rz   r   z(AsyncOpenAIWithStreamedResponse.__init__  r  r   c                F    ddl m}  || j                  j                        S )r   r   )%AsyncCompletionsWithStreamingResponse)r   r  r~  r>   )r   r  s     rz   r>   z+AsyncOpenAIWithStreamedResponse.completions      
 	Q4T\\5M5MNNr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncChatWithStreamingResponse)r   r  r~  r/   )r   r  s     rz   r/   z$AsyncOpenAIWithStreamedResponse.chat      B-dll.?.?@@r   c                F    ddl m}  || j                  j                        S )r   r   )$AsyncEmbeddingsWithStreamingResponse)r   r  r~  r=   )r   r  s     rz   r=   z*AsyncOpenAIWithStreamedResponse.embeddings  s    
 	O3DLL4K4KLLr   c                F    ddl m}  || j                  j                        S )r   r   )AsyncFilesWithStreamingResponse)r   r  r~  r3   )r   r  s     rz   r3   z%AsyncOpenAIWithStreamedResponse.files  s    
 	E.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )r   r   ) AsyncImagesWithStreamingResponse)r   r  r~  r4   )r   r  s     rz   r4   z&AsyncOpenAIWithStreamedResponse.images       	G/0C0CDDr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAudioWithStreamingResponse)r   r  r~  r1   )r   r  s     rz   r1   z%AsyncOpenAIWithStreamedResponse.audio      D.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )r   r   )%AsyncModerationsWithStreamingResponse)r   r  r~  r@   )r   r  s     rz   r@   z+AsyncOpenAIWithStreamedResponse.moderations  r  r   c                F    ddl m}  || j                  j                        S )r   r   ) AsyncModelsWithStreamingResponse)r   r  r~  r5   )r   r  s     rz   r5   z&AsyncOpenAIWithStreamedResponse.models  r  r   c                F    ddl m}  || j                  j                        S )Nr   )$AsyncFineTuningWithStreamingResponse)r   r  r~  r?   )r   r  s     rz   r?   z+AsyncOpenAIWithStreamedResponse.fine_tuning$  s    O3DLL4L4LMMr   c                F    ddl m}  || j                  j                        S )Nr   )&AsyncVectorStoresWithStreamingResponse)r   r  r~  rB   )r   r  s     rz   rB   z-AsyncOpenAIWithStreamedResponse.vector_stores*  s    S5dll6P6PQQr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncBetaWithStreamingResponse)r   r  r~  r.   )r   r  s     rz   r.   z$AsyncOpenAIWithStreamedResponse.beta0  r  r   c                F    ddl m}  || j                  j                        S )r   r   )!AsyncBatchesWithStreamingResponse)r  r  r~  r8   )r   r  s     rz   r8   z'AsyncOpenAIWithStreamedResponse.batches6       	I01E1EFFr   c                F    ddl m}  || j                  j                        S )r  r   )!AsyncUploadsWithStreamingResponse)r  r  r~  r9   )r   r  s     rz   r9   z'AsyncOpenAIWithStreamedResponse.uploads=  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAdminWithStreamingResponse)r  r  r~  r0   )r   r  s     rz   r0   z%AsyncOpenAIWithStreamedResponse.adminD  r  r   c                F    ddl m}  || j                  j                        S )Nr   )#AsyncResponsesWithStreamingResponse)r	  r  r~  r;   )r   r  s     rz   r;   z)AsyncOpenAIWithStreamedResponse.responsesJ  s    L24<<3I3IJJr   c                F    ddl m}  || j                  j                        S )Nr   )"AsyncRealtimeWithStreamingResponse)r  r  r~  r:   )r   r  s     rz   r:   z(AsyncOpenAIWithStreamedResponse.realtimeP  s    J1$,,2G2GHHr   c                F    ddl m}  || j                  j                        S )r  r   )'AsyncConversationsWithStreamingResponse)r  r  r~  rA   )r   r  s     rz   rA   z-AsyncOpenAIWithStreamedResponse.conversationsV  s     	U6t||7Q7QRRr   c                F    ddl m}  || j                  j                        S )r  r   )AsyncEvalsWithStreamingResponse)r  r  r~  r2   )r   r  s     rz   r2   z%AsyncOpenAIWithStreamedResponse.evals]  s     	E.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )Nr   )$AsyncContainersWithStreamingResponse)r  r  r~  r<   )r   r  s     rz   r<   z*AsyncOpenAIWithStreamedResponse.containersd  s    N3DLL4K4KLLr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncSkillsWithStreamingResponse)r  r  r~  r6   )r   r  s     rz   r6   z&AsyncOpenAIWithStreamedResponse.skillsj      F/0C0CDDr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncVideosWithStreamingResponse)r  r  r~  r7   )r   r  s     rz   r7   z&AsyncOpenAIWithStreamedResponse.videosp  r  r   Nrd  )r  z1completions.AsyncCompletionsWithStreamingResponse)r  z#chat.AsyncChatWithStreamingResponse)r  z/embeddings.AsyncEmbeddingsWithStreamingResponse)r  z%files.AsyncFilesWithStreamingResponse)r  z'images.AsyncImagesWithStreamingResponse)r  z%audio.AsyncAudioWithStreamingResponse)r  z1moderations.AsyncModerationsWithStreamingResponse)r  z'models.AsyncModelsWithStreamingResponse)r  z0fine_tuning.AsyncFineTuningWithStreamingResponse)r  z4vector_stores.AsyncVectorStoresWithStreamingResponse)r  z#beta.AsyncBetaWithStreamingResponse)r  z)batches.AsyncBatchesWithStreamingResponse)r  z)uploads.AsyncUploadsWithStreamingResponse)r  z%admin.AsyncAdminWithStreamingResponse)r  z-responses.AsyncResponsesWithStreamingResponse)r  z+realtime.AsyncRealtimeWithStreamingResponse)r  z5conversations.AsyncConversationsWithStreamingResponse)r  z%evals.AsyncEvalsWithStreamingResponse)r  z/containers.AsyncContainersWithStreamingResponse)r  z'skills.AsyncSkillsWithStreamingResponse)r  z'videos.AsyncVideosWithStreamingResponser1  r   r   rz   r  r    s    O O A A
 M M C C E E C C
 O O E E N N
 R R
 A A
 G G G G C C
 K K
 I I
 S S C C M M
 E E
 E Er   r  )r~   r   ry   r   r  r  )
__future__r   r   typingr   r   r   r   r   typing_extensionsr	   r
   r   rp  r   r   _qsr   authr   r   _typesr   r   r   r   r   r   r   r   r   _utilsr   r   r   r   _compatr   _modelsr    r!   _versionr"   r   r#   r$   r%   r&   
_streamingr'   r(   r)   r*   _base_clientr+   r,   r-   	resourcesr.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   r   rC   rD   r   rE   rF   r   rG   rH   r  rI   rJ   r  rK   rL   resources.beta.betarM   rN   resources.chat.chatrO   rP   r   rQ   rR   resources.admin.adminrS   rT   resources.audio.audiorU   rV   r   rW   rX   resources.evals.evalsrY   rZ   r   r[   r\   resources.skills.skillsr]   r^   resources.uploads.uploadsr_   r`   resources.realtime.realtimera   rb   resources.webhooks.webhooksrc   rd   resources.responses.responsesre   rf   resources.containers.containersrg   rh   !resources.fine_tuning.fine_tuningri   rj   %resources.conversations.conversationsrk   rl   %resources.vector_stores.vector_storesrm   rn   __all__r   r   r   ro   rp   r  r  r  r  rq   rr   r   r   rz   <module>r     sB   # 	 C C 4 4    8
 
 
  % 9 ! W W D 4       . 3555844A88D8D<@DDHLNXV
v(@ %9
d
Q	E] Q	Eh[	E. [	E|T: T:nT? T?nT@ T@nTE TEn 
r   