
    ^h]                     z    S SK JrJrJrJr  S SKrS SKJrJr  S SK	J
r
  S SKJr  S SKJr  S SKJr   " S S	\5      rg)
    )Any	CoroutineOptionalUnionN)AsyncAzureOpenAIAzureOpenAI)FineTuningJob)verbose_logger)get_azure_openai_client)BaseLLMc                   @  ^  \ rS rSrSrSU 4S jjrS\S\S\4S jr	   SS\
S\S	\\   S
\\   S\\\R                   4   S\\   S\\   S\\\\4      S\\   S\\\\\\4   4   4S jjrS\S\S\4S jr   SS\
S\S	\\   S
\\   S\\\R                   4   S\\   S\\   S\\   S\\\\4      4S jjr  SS\S\\   S\\   4S jjr     SS\
S	\\   S
\\   S\\\R                   4   S\\   S\\   S\\\\4      S\\   S\\   S\\   4S jjrSrU =r$ )AzureOpenAIFineTuningAPI   z,
AzureOpenAI methods to support for batches
returnc                 "   > [         TU ]  5         g )N)super__init__)self	__class__s    `/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/azure/fine_tuning/handler.pyr   !AzureOpenAIFineTuningAPI.__init__   s        create_fine_tuning_job_dataopenai_clientc                 n   #    UR                   R                  R                  " S0 UD6I S h  vN nU$  N7f)N )fine_tuningjobscreate)r   r   r   responses       r   acreate_fine_tuning_job0AzureOpenAIFineTuningAPI.acreate_fine_tuning_job   s<     
 '2277>> 
)
 
 
s   *535	_is_asyncapi_keyapi_basetimeoutmax_retriesorganizationclientapi_versionc
                 &   [        UUUUUU	UUS9n
U
c  [        S5      eUSL a0  [        U
[        5      (       d  [        S5      eU R	                  UU
S9$ [
        R                  " SU5        U
R                  R                  R                  " S0 UD6nU$ )N)r$   r%   r&   r'   r(   r*   r)   r#   oAzureOpenAI client is not initialized. Make sure api_key is passed or OPENAI_API_KEY is set in the environment.TkAzureOpenAI client is not an instance of AsyncAzureOpenAI. Make sure you passed an AsyncAzureOpenAI client.)r   r   z"creating fine tuning job, args= %sr   )
r   
ValueError
isinstancer   r!   r
   debugr   r   r   )r   r#   r   r$   r%   r&   r'   r(   r)   r*   r   r    s               r   create_fine_tuning_job/AzureOpenAIFineTuningAPI.create_fine_tuning_job   s     $!')'#	 	   B  m-=>>  B  //,G+ 0   	02M	
 !,,1188W;VWr   fine_tuning_job_idc                 h   #    UR                   R                  R                  US9I S h  vN nU$  N7f)Nr3   )r   r   cancel)r   r3   r   r    s       r   acancel_fine_tuning_job0AzureOpenAIFineTuningAPI.acancel_fine_tuning_jobJ   s<     
 '2277>>1 ? 
 
 
   '202c
                     [        UUUUUUU	US9n
U
c  [        S5      eUSL a0  [        U
[        5      (       d  [        S5      eU R	                  UU
S9$ [
        R                  " SU5        U
R                  R                  R                  US9nU$ )Nr$   r%   r*   r&   r'   r(   r)   r#   r,   Tr-   )r3   r   z#canceling fine tuning job, args= %sr5   )
r   r.   r/   r   r7   r
   r0   r   r   r6   )r   r#   r3   r$   r%   r&   r'   r(   r*   r)   r   r    s               r   cancel_fine_tuning_job/AzureOpenAIFineTuningAPI.cancel_fine_tuning_jobT   s     $!'')#	 	   B  m-=>>  B  //#5+ 0   	BDVW ,,11881 9 
 r   afterlimitc                 h   #    UR                   R                  R                  X#S9I S h  vN nU$  N7f)Nr>   r?   )r   r   list)r   r   r>   r?   r    s        r   alist_fine_tuning_jobs/AzureOpenAIFineTuningAPI.alist_fine_tuning_jobs   s4      '2277<<5<VV Wr9   c                 "   [        UUUUUUUUS9nUc  [        S5      eUSL a1  [        U[        5      (       d  [        S5      eU R	                  U	U
US9$ [
        R                  " SX5        UR                  R                  R                  XS9nU$ )Nr;   r,   Tr-   )r>   r?   r   z*list fine tuning job, after= %s, limit= %srA   )
r   r.   r/   r   rC   r
   r0   r   r   rB   )r   r#   r$   r%   r&   r'   r(   r)   r*   r>   r?   r   r    s                r   list_fine_tuning_jobs.AzureOpenAIFineTuningAPI.list_fine_tuning_jobs   s     $!'')#	 	   B  m-=>>  B  ..+ /  
 	I5X ,,1166U6Pr   r   )r   N)NNN)NN)NNNNN)__name__
__module____qualname____firstlineno____doc__r   dictr   r	   r!   boolr   strr   floathttpxTimeoutintr   r   r   r1   r7   r<   rC   rF   __static_attributes____classcell__)r   s   @r   r   r      s   %) ( 
	$ '+AE%)** &** #	*
 3-* uemm+,* c]* sm* {,<<=>* c]* 
}iS-(?@@	A*X ( 
	$ '+%)AE**  * #	*
 3-* uemm+,* c]* sm* c]* {,<<=>*^  $#	' } }	  '+AE%)##** #* 3-	*
 uemm+,* c]* sm* {,<<=>* c]* }* }* *r   r   )typingr   r   r   r   rQ   openair   r   openai.types.fine_tuningr	   litellm._loggingr
    litellm.llms.azure.files.handlerr   litellm.llms.baser   r   r   r   r   <module>r\      s+    2 2  0 2 + D %gw gr   