
    Kh                       d dl 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 dd	lmZ dd
lmZ ddlmZ ddlmZmZ erd dlmZ ddZ G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d      Zy)    )annotationsN)TYPE_CHECKING)ArgumentParser   )
get_clientprint_model   )	Omittableomit)is_given)	BaseModel)SyncCursorPage)FineTuningJobFineTuningJobEvent)_SubParsersActionc                (   | j                  d      }|j                  dddd       |j                  ddd	d       |j                  d
ddt               |j                  ddd       |j                  ddd       |j                  t        j
                  t               | j                  d      }|j                  dddd       |j                  t        j                  t               | j                  d      }|j                  ddd       |j                  ddd t               |j                  t        j                  t               | j                  d!      }|j                  ddd"d       |j                  t        j                  t               | j                  d#      }|j                  ddd$d       |j                  ddd%       |j                  ddd&t               |j                  t        j                  t               y )'Nzfine_tuning.jobs.createz-mz--modelzThe model to fine-tune.T)helprequiredz-Fz--training-filez,The training file to fine-tune the model on.z-Hz--hyperparametersz6JSON string of hyperparameters to use for fine-tuning.)r   typez-sz--suffixz-A suffix to add to the fine-tuned model name.)r   z-Vz--validation-filez+The validation file to use for fine-tuning.)func
args_modelzfine_tuning.jobs.retrievez-iz--idz*The ID of the fine-tuning job to retrieve.zfine_tuning.jobs.listz-az--afterzIdentifier for the last job from the previous pagination request. If provided, only jobs created after this job will be returned.z-lz--limitz'Number of fine-tuning jobs to retrieve.zfine_tuning.jobs.cancelz(The ID of the fine-tuning job to cancel.zfine_tuning.jobs.list_eventsz1The ID of the fine-tuning job to list events for.zIdentifier for the last event from the previous pagination request. If provided, only events created after this event will be returned.z-Number of fine-tuning job events to retrieve.)
add_parseradd_argumentstrset_defaultsCLIFineTuningJobscreateCLIFineTuningJobsCreateArgsretrieveCLIFineTuningJobsRetrieveArgsintlistCLIFineTuningJobsListArgscancelCLIFineTuningJobsCancelArgslist_eventsCLIFineTuningJobsListEventsArgs)	subparsersubs     S/var/www/html/venv/lib/python3.12/site-packages/openai/cli/_api/fine_tuning/jobs.pyregisterr+      sd   


8
9C&	   ;	   E	   <  
 :  
 +22?Z[


:
;C9	   +44A^_


6
7C Q  
 6	   +00=VW


8
9C7	   +22?Z[


=
>C@	    W  
 <	   +77Dcd    c                  L    e Zd ZU ded<   ded<   eZded<   eZded<   eZded<   y)	r   r   modeltraining_fileOmittable[str]hyperparameterssuffixvalidation_fileN)__name__
__module____qualname____annotations__r   r1   r2   r3    r,   r*   r   r   j   s+    J&*O^*!FN!&*O^*r,   r   c                      e Zd ZU ded<   y)r    r   idNr4   r5   r6   r7   r8   r,   r*   r    r    r       Gr,   r    c                  *    e Zd ZU eZded<   eZded<   y)r#   r0   afterOmittable[int]limitN)r4   r5   r6   r   r>   r7   r@   r8   r,   r*   r#   r#   v   s     E>  E> r,   r#   c                      e Zd ZU ded<   y)r%   r   r:   Nr;   r8   r,   r*   r%   r%   {   r<   r,   r%   c                  4    e Zd ZU ded<   eZded<   eZded<   y)r'   r   r:   r0   r>   r?   r@   N)r4   r5   r6   r7   r   r>   r@   r8   r,   r*   r'   r'      s    G E>  E> r,   r'   c                  f    e Zd Zedd       Zedd       Zed	d       Zed
d       Zedd       Zy)r   c                T   t        | j                        r(t        j                  t	        | j                              nt
        }t               j                  j                  j                  | j                  | j                  || j                  | j                        }t        |       y )N)r.   r/   r1   r2   r3   )r   r1   jsonloadsr   r   r   fine_tuningjobsr   r.   r/   r2   r3   r   )argsr1   fine_tuning_jobs      r*   r   zCLIFineTuningJobs.create   s|    CKDL`L`Ca$**S)=)=%>?gk)3)A)A)F)F)M)M**,,+;; 00 *N *
 	O$r,   c                    t               j                  j                  j                  | j                        }t        |       y N)fine_tuning_job_id)r   rG   rH   r   r:   r   rI   rJ   s     r*   r   zCLIFineTuningJobs.retrieve   s2    )3)A)A)F)F)O)Ocgcjcj)O)kO$r,   c                    t               j                  j                  j                  | j                  xs t
        | j                  xs t
              }t        |       y )N)r>   r@   )r   rG   rH   r"   r>   r   r@   r   )rI   fine_tuning_jobss     r*   r"   zCLIFineTuningJobs.list   sI    :D,:R:R:W:W:\:\**$DJJ,>$ ;] ;
 	$%r,   c                    t               j                  j                  j                  | j                        }t        |       y rL   )r   rG   rH   r$   r:   r   rN   s     r*   r$   zCLIFineTuningJobs.cancel   s2    )3)A)A)F)F)M)Maeahah)M)iO$r,   c                    t               j                  j                  j                  | j                  | j
                  xs t        | j                  xs t              }t        |       y )N)rM   r>   r@   )	r   rG   rH   r&   r:   r>   r   r@   r   )rI   fine_tuning_job_eventss     r*   r&   zCLIFineTuningJobs.list_events   sS    EO\E]E]EbEbEnEn#ww**$**$ Fo F

 	*+r,   N)rI   r   returnNone)rI   r    rT   rU   )rI   r#   rT   rU   )rI   r%   rT   rU   )rI   r'   rT   rU   )	r4   r5   r6   staticmethodr   r   r"   r$   r&   r8   r,   r*   r   r      sd    	% 	% % % & & % % , ,r,   r   )r(   z!_SubParsersAction[ArgumentParser]rT   rU   )
__future__r   rE   typingr   argparser   _utilsr   r   _typesr
   r   r   _modelsr   
paginationr   types.fine_tuningr   r   r   r+   r   r    r#   r%   r'   r   r8   r,   r*   <module>r_      s{    "    # - &    )
 *Rej+) +I !	 !
) !i !%, %,r,   