
    Fg;[                       S SK Jr  S SKrS SKJrJrJr  S SKJrJ	r	  S SK
r
SSKJr  SSKJr  SSKJrJrJrJrJrJrJr  SS	KJrJrJr  SS
KJr  SSKJrJrJ r J!r!J"r"J#r#J$r$  SSK%J&r&J'r'  SSKJ(r(J)r)  SSK*J+r+J,r,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  / SQr8 " S S\,5      r9 " S S\-5      r: " S S5      r; " S S5      r< " S S5      r= " S S 5      r>\9r?\:r@g)!    )annotationsN)AnyUnionMapping)Selfoverride   )_exceptionsQuerystring)	NOT_GIVENOmitTimeoutNotGiven	TransportProxiesTypesRequestOptions)is_given
is_mappingget_async_library)__version__)filesimagesmodelsbatches
embeddingscompletionsmoderations)StreamAsyncStream)OpenAIErrorAPIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)beta)chat)audio)uploads)fine_tuning)r   r   r   r   OpenAIAsyncOpenAIClientAsyncClientc                    ^  \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S \S!'   S \S"'   S#\S$'    S%S%S%S%S%\\S%S%S%S&S'.                       S0U 4S( jjjr\\	S1S) j5       5       r
\\	S2S* j5       5       r\\	S3U 4S+ jj5       5       rS%S%S%S%S%\S%\S%S%S%S%0 S,.                           S4S- jjr\r\	        S5S. j5       rS/rU =r$ )6r+   -   zcompletions.Completionsr   z	chat.Chatr'   zembeddings.Embeddingsr   zfiles.Filesr   zimages.Imagesr   zaudio.Audior(   zmoderations.Moderationsr   zmodels.Modelsr   zfine_tuning.FineTuningr*   z	beta.Betar&   zbatches.Batchesr   zuploads.Uploadsr)   OpenAIWithRawResponsewith_raw_responseOpenAIWithStreamedResponsewith_streaming_responsestrapi_key
str | Noneorganizationprojectstr | httpx.URL | Nonewebsocket_base_urlNFr6   r8   r9   base_urlr;   timeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationc               z  > Uc  [         R                  R                  S5      nUc  [        S5      eXl        Uc  [         R                  R                  S5      nX l        Uc  [         R                  R                  S5      nX0l        XPl        Uc  [         R                  R                  S5      nUc  Sn[        TU ]%  [        UUUU
UU	US9  [        U l        [        R                  " U 5      U l        [        R                   " U 5      U l        ["        R$                  " U 5      U l        [&        R(                  " U 5      U l        [*        R,                  " U 5      U l        [.        R0                  " U 5      U l        [2        R4                  " U 5      U l        [6        R8                  " U 5      U l        [:        R<                  " U 5      U l        [>        R@                  " U 5      U l        [B        RD                  " U 5      U l!        [F        RH                  " U 5      U l#        [K        U 5      U l&        [O        U 5      U l(        g)	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`
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_BASE_URLhttps://api.openai.com/v1versionr=   r?   r>   rB   custom_headerscustom_queryrC   ))osenvirongetr!   r6   r8   r9   r;   super__init__r   r   _default_stream_clsr   Completionsr'   Chatr   
Embeddingsr   Filesr   Imagesr(   Audior   Moderationsr   Modelsr*   
FineTuningr&   Betar   Batchesr)   Uploadsr1   r2   r3   r4   selfr6   r8   r9   r=   r;   r>   r?   r@   rA   rB   rC   	__class__s               _/Users/admin/workspace/ai/PDFMathTranslate/myenv/lib/python3.13/site-packages/openai/_client.pyrS   OpenAI.__init__J   s   B ?jjnn%56G? V  ::>>/:L(?jjnn%89G"4zz~~&78H2H##*&(C 	 		
 $* &2248IIdO	$//5[[&
mmD)[[&
&2248mmD)&11$7IIdO	t,t,!6t!<'A$'G$    c                    [        SS9$ Nbrackets)array_formatr   rb   s    rd   qs	OpenAI.qs        
33rf   c                (    U R                   nSSU 30$ NAuthorizationzBearer r6   rb   r6   s     rd   auth_headersOpenAI.auth_headers        ,,77)!455rf   c                   > 0 [         TU ]  ESU R                  b  U R                  O	[        5       U R                  b  U R                  O	[        5       S.EU R
                  E$ )NfalsezX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)rR   r@   r8   r   r9   _custom_headersrb   rc   s    rd   r@   OpenAI.default_headers   s`    
g%
!(8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
rf   r6   r8   r9   r;   r=   r>   rB   r?   r@   set_default_headersrA   set_default_query_extra_kwargsc               N   U	b  U
b  [        S5      eUb  Ub  [        S5      eU R                  nU	b  0 UEU	EnOU
b  U
nU R                  nUb  0 UEUEnOUb  UnU=(       d    U R                  nU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  UUS.
UD6$ zn
Create a new client instance re-using the same options given to the current client with optional overriding.
zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)
r6   r8   r9   r;   r=   r>   rB   r?   r@   rA    
ValueErrorrz   _custom_query_clientrc   r6   r8   r9   r;   r=   
isinstancer   r>   r   r?   rb   r6   r8   r9   r;   r=   r>   rB   r?   r@   r~   rA   r   r   headersparamss                   rd   copyOpenAI.copy   +   ( &+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F!1T\\~~ 
+t||%:):):+t||1LT5L5L.$.w$A$ADLLw#'/'<'<$BRBR# 
 
 	
rf   c                  [        U5      (       a  UR                  SU5      OUnUR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R
                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S	:X  a  [        R                  " XUS9$ UR                  S
:  a  [        R                  " XUS9$ [        XUS9$ Nerrori  )responsebodyi  i  i  i  i  i  i  r   rQ   status_coder
   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorInternalServerErrorr"   rb   err_msgr   r   datas        rd   _make_status_errorOpenAI._make_status_error   :    +5T*:*:txx&3&..wPTUU3&227TXYY3&44WVZ[[3&,,WdSS3&,,WdSS3&77Y]^^3&--gtTT3&227TXYYgtDDrf   rT   r6   r(   r   r&   r'   r   r   r   r*   r   r   r   r8   r9   r)   r;   r2   r4   )r6   r7   r8   r7   r9   r7   r=   r:   r;   r:   r>   %Union[float, Timeout, None, NotGiven]r?   intr@   Mapping[str, str] | NonerA   Mapping[str, object] | NonerB   httpx.Client | NonerC   boolreturnNoner   r   r   zdict[str, str]r   zdict[str, str | Omit])r6   r7   r8   r7   r9   r7   r;   r:   r=   r:   r>   !float | Timeout | None | NotGivenrB   r   r?   int | NotGivenr@   r   r~   r   rA   r   r   r   r   Mapping[str, Any]r   r   r   r5   r   objectr   zhttpx.Responser   r"   __name__
__module____qualname____firstlineno____annotations__r   r#   rS   propertyr   rl   rt   r@   r   with_optionsr   __static_attributes____classcell__rc   s   @rd   r+   r+   -   s   ((
O%%((''
O,,77 L.. ##'"+/599B.4859 ,0 -21RH RH !	RH
 RH )RH 3RH 7RH RH 2RH 3RH )RH0 &*1RH2 
3RH RHh 4  4 6  6 
  
 ##'"59+/5>+/&/488<599=+-3
 3
 !	3

 3
 33
 )3
 33
 )3
 $3
 23
 63
 33
 73
 )3
  
!3
n LEE 	E
 !E 
E Erf   r+   c                    ^  \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S \S!'   S \S"'   S#\S$'    S%S%S%S%S%\\S%S%S%S&S'.                       S0U 4S( jjjr\\	S1S) j5       5       r
\\	S2S* j5       5       r\\	S3U 4S+ jj5       5       rS%S%S%S%S%\S%\S%S%S%S%0 S,.                           S4S- jjr\r\	        S5S. j5       rS/rU =r$ )6r,   i  zcompletions.AsyncCompletionsr   zchat.AsyncChatr'   zembeddings.AsyncEmbeddingsr   zfiles.AsyncFilesr   zimages.AsyncImagesr   zaudio.AsyncAudior(   zmoderations.AsyncModerationsr   zmodels.AsyncModelsr   zfine_tuning.AsyncFineTuningr*   zbeta.AsyncBetar&   zbatches.AsyncBatchesr   zuploads.AsyncUploadsr)   AsyncOpenAIWithRawResponser2   AsyncOpenAIWithStreamedResponser4   r5   r6   r7   r8   r9   r:   r;   NFr<   c               z  > Uc  [         R                  R                  S5      nUc  [        S5      eXl        Uc  [         R                  R                  S5      nX l        Uc  [         R                  R                  S5      nX0l        XPl        Uc  [         R                  R                  S5      nUc  Sn[        TU ]%  [        UUUU
UU	US9  [        U l        [        R                  " U 5      U l        [        R                   " U 5      U l        ["        R$                  " U 5      U l        [&        R(                  " U 5      U l        [*        R,                  " U 5      U l        [.        R0                  " U 5      U l        [2        R4                  " U 5      U l        [6        R8                  " U 5      U l        [:        R<                  " U 5      U l        [>        R@                  " U 5      U l        [B        RD                  " U 5      U l!        [F        RH                  " U 5      U l#        [K        U 5      U l&        [O        U 5      U l(        g)	a  Construct a new async openai client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `OPENAI_API_KEY`
- `organization` from `OPENAI_ORG_ID`
- `project` from `OPENAI_PROJECT_ID`
NrE   rF   rG   rH   rI   rJ   rK   ))rO   rP   rQ   r!   r6   r8   r9   r;   rR   rS   r   r    rT   r   AsyncCompletionsr'   	AsyncChatr   AsyncEmbeddingsr   
AsyncFilesr   AsyncImagesr(   
AsyncAudior   AsyncModerationsr   AsyncModelsr*   AsyncFineTuningr&   	AsyncBetar   AsyncBatchesr)   AsyncUploadsr   r2   r   r4   ra   s               rd   rS   AsyncOpenAI.__init__-  s   B ?jjnn%56G? V  ::>>/:L(?jjnn%89G"4zz~~&78H2H##*&(C 	 		
 $/ &77=NN4(	$44T:%%d+
((.%%d+
&77=((.&66t<NN4(	++D1++D1!;D!A'Ft'L$rf   c                    [        SS9$ rh   r   rk   s    rd   rl   AsyncOpenAI.qs  rn   rf   c                (    U R                   nSSU 30$ rp   rr   rs   s     rd   rt   AsyncOpenAI.auth_headers  rv   rf   c                   > 0 [         TU ]  ES[        5        3U R                  b  U R                  O	[	        5       U R
                  b  U R
                  O	[	        5       S.EU R                  E$ )Nzasync:ry   )rR   r@   r   r8   r   r9   rz   r{   s    rd   r@   AsyncOpenAI.default_headers  sl    
g%
#)*;*=)>!?8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
rf   r}   c               N   U	b  U
b  [        S5      eUb  Ub  [        S5      eU R                  nU	b  0 UEU	EnOU
b  U
nU R                  nUb  0 UEUEnOUb  UnU=(       d    U R                  nU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  UUS.
UD6$ r   r   r   s                   rd   r   AsyncOpenAI.copy  r   rf   c                  [        U5      (       a  UR                  SU5      OUnUR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R
                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S:X  a  [        R                  " XUS9$ UR                  S	:X  a  [        R                  " XUS9$ UR                  S
:  a  [        R                  " XUS9$ [        XUS9$ r   r   r   s        rd   r   AsyncOpenAI._make_status_error  r   rf   r   )r6   r7   r8   r7   r9   r7   r=   r:   r;   r:   r>   r   r?   r   r@   r   rA   r   rB   httpx.AsyncClient | NonerC   r   r   r   r   r   r   )r6   r7   r8   r7   r9   r7   r;   r:   r=   r:   r>   r   rB   r   r?   r   r@   r   r~   r   rA   r   r   r   r   r   r   r   r   r   r   s   @rd   r,   r,     s   --
**--,,
!!!!11<< L.. ##'"+/599B.4859 15 -21RM RM !	RM
 RM )RM 3RM 7RM RM 2RM 3RM .RM0 &*1RM2 
3RM RMh 4  4 6  6 
  
 ##'"59+/5>04&/488<599=+-3
 3
 !	3

 3
 33
 )3
 33
 .3
 $3
 23
 63
 33
 73
 )3
  
!3
n LEE 	E
 !E 
E Erf   r,   c                      \ rS rSrSS jrSrg)r1   i  c                |   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l
        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [         R"                  " UR                   5      U l        [$        R&                  " UR$                  5      U l        [(        R*                  " UR(                  5      U l        [,        R.                  " UR,                  5      U l        g N)r   CompletionsWithRawResponser'   ChatWithRawResponser   EmbeddingsWithRawResponser   FilesWithRawResponser   ImagesWithRawResponser(   AudioWithRawResponser   ModerationsWithRawResponser   ModelsWithRawResponser*   FineTuningWithRawResponser&   BetaWithRawResponser   BatchesWithRawResponser)   UploadsWithRawResponserb   clients     rd   rS   OpenAIWithRawResponse.__init__  s   &AA&BTBTU,,V[[9	$>>v?P?PQ//=
226==A//=
&AA&BTBTU226==A&@@ASAST,,V[[9	55fnnE55fnnErf   r(   r   r&   r'   r   r   r   r*   r   r   r   r)   Nr   r+   r   r   r   r   r   r   rS   r   r   rf   rd   r1   r1     s    Frf   r1   c                      \ rS rSrSS jrSrg)r   i  c                |   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l
        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [         R"                  " UR                   5      U l        [$        R&                  " UR$                  5      U l        [(        R*                  " UR(                  5      U l        [,        R.                  " UR,                  5      U l        g r   )r   AsyncCompletionsWithRawResponser'   AsyncChatWithRawResponser   AsyncEmbeddingsWithRawResponser   AsyncFilesWithRawResponser   AsyncImagesWithRawResponser(   AsyncAudioWithRawResponser   AsyncModerationsWithRawResponser   AsyncModelsWithRawResponser*   AsyncFineTuningWithRawResponser&   AsyncBetaWithRawResponser   AsyncBatchesWithRawResponser)   AsyncUploadsWithRawResponser   s     rd   rS   #AsyncOpenAIWithRawResponse.__init__  s   &FFvGYGYZ11&++>	$CCFDUDUV44V\\B
77F44V\\B
&FFvGYGYZ77F&EEfFXFXY11&++>	::6>>J::6>>Jrf   r   Nr   r,   r   r   r   r   rf   rd   r   r     s    Krf   r   c                      \ rS rSrSS jrSrg)r3   i  c                |   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l
        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [         R"                  " UR                   5      U l        [$        R&                  " UR$                  5      U l        [(        R*                  " UR(                  5      U l        [,        R.                  " UR,                  5      U l        g r   )r    CompletionsWithStreamingResponser'   ChatWithStreamingResponser   EmbeddingsWithStreamingResponser   FilesWithStreamingResponser   ImagesWithStreamingResponser(   AudioWithStreamingResponser    ModerationsWithStreamingResponser   ModelsWithStreamingResponser*   FineTuningWithStreamingResponser&   BetaWithStreamingResponser   BatchesWithStreamingResponser)   UploadsWithStreamingResponser   s     rd   rS   #OpenAIWithStreamedResponse.__init__  s   &GGHZHZ[226;;?	$DDVEVEVW55fllC
88G55fllC
&GGHZHZ[88G&FFvGYGYZ226;;?	;;FNNK;;FNNKrf   r   Nr   r   r   rf   rd   r3   r3     s    Lrf   r3   c                      \ rS rSrSS jrSrg)r   i#  c                |   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l
        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [         R"                  " UR                   5      U l        [$        R&                  " UR$                  5      U l        [(        R*                  " UR(                  5      U l        [,        R.                  " UR,                  5      U l        g r   )r   %AsyncCompletionsWithStreamingResponser'   AsyncChatWithStreamingResponser   $AsyncEmbeddingsWithStreamingResponser   AsyncFilesWithStreamingResponser    AsyncImagesWithStreamingResponser(   AsyncAudioWithStreamingResponser   %AsyncModerationsWithStreamingResponser    AsyncModelsWithStreamingResponser*   $AsyncFineTuningWithStreamingResponser&   AsyncBetaWithStreamingResponser   !AsyncBatchesWithStreamingResponser)   !AsyncUploadsWithStreamingResponser   s     rd   rS   (AsyncOpenAIWithStreamedResponse.__init__$  s   &LLVM_M_`77D	$II&J[J[\::6<<H
==fmmL::6<<H
&LLVM_M_`==fmmL&KKFL^L^_77D	@@P@@Prf   r   Nr   r   r   rf   rd   r   r   #  s    Qrf   r   )A
__future__r   rO   typingr   r   r   typing_extensionsr   r   httpx r
   _qsr   _typesr   r   r   r   r   r   r   _utilsr   r   r   _versionr   	resourcesr   r   r   r   r   r   r   
_streamingr   r    r!   r"   _base_clientr#   r$   r%   resources.betar&   resources.chatr'   resources.audior(   resources.uploadsr)   resources.fine_tuningr*   __all__r+   r,   r1   r   r3   r   r-   r.   r   rf   rd   <module>r1     s    # 	 & & ,      
 " [ [ [ D 4 
 !   " & .
v`E] `EF`E. `EFF F K K L L Q Q  
rf   