§
    XÅj1  ã                   óê   — d dl mZmZ d dlmZ d dlmZ d dlmZ  ee	¦  «        Z
e G d„ d¦  «        ¦   «         Ze G d„ d¦  «        ¦   «         Ze G d	„ d
¦  «        ¦   «         Z G d„ de¦  «        ZdS )é    )ÚABCÚabstractmethod)Ú	dataclass)ÚAny)Ú
get_loggerc                   óR   — e Zd ZU eed<   eed<   eed<   eed<   eeef         ed<   dS )ÚTrainingConfigÚnameÚdescriptionÚ
dataset_idÚ
model_nameÚhyperparametersN©Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Údictr   © ó    úU/lsinfo/ai/hellotax_ai/training_center/backend/app/services/training_platform/base.pyr	   r	   
   sM   € € € € € € à
€I€IIØÐÐÑØ€O€OOØ€O€OOØ˜#˜s˜(”^Ð#Ð#Ñ#Ð#Ð#r   r	   c                   óB   — e Zd ZU eed<   eed<   eed<   dZedz  ed<   dS )Ú	JobStatusÚstatusÚprogressÚmessageNÚlogs)r   r   r   r   r   Úfloatr   r   r   r   r   r      sA   € € € € € € à€K€KKØ€O€OOØ€L€LLØ€Dˆ#‰*ÐÐÑÐÐr   r   c                   óN   — e Zd ZU eed<   eeef         ed<   eeef         ed<   dS )ÚTrainingResultÚmodel_idÚmetricsÚ	artifactsNr   r   r   r   r!   r!      sC   € € € € € € à€M€MMØ#s(Œ^ÐÐÑØC˜HŒ~ÐÐÑÐÐr   r!   c                   óº   — e Zd Zededefd„¦   «         Zededefd„¦   «         Zedede	fd„¦   «         Z
ededefd„¦   «         Zdedefd„Zdefd	„Zded
efd„ZdS )ÚTrainingPlatformÚconfigÚreturnc                 ó   — d S ©Nr   )Úselfr'   s     r   Úcreate_training_jobz$TrainingPlatform.create_training_job!   ó   € àˆr   Újob_idc                 ó   — d S r*   r   ©r+   r.   s     r   Úget_job_statuszTrainingPlatform.get_job_status%   r-   r   c                 ó   — d S r*   r   r0   s     r   Úget_job_resultzTrainingPlatform.get_job_result)   r-   r   c                 ó   — d S r*   r   r0   s     r   Ú
cancel_jobzTrainingPlatform.cancel_job-   r-   r   c                 ón   — t                                ||j        ¬¦  «                             d¦  «         d S )N)r.   ÚmodelzTraining job started)ÚloggerÚbindr   Úinfo)r+   r.   r'   s      r   Ú_log_job_startedz!TrainingPlatform._log_job_started1   s0   € ÝŠ˜6¨Ô):ˆÑ;Ô;×@Ò@ÐAWÑXÔXÐXÐXÐXr   c                 ób   — t                                |¬¦  «                             d¦  «         d S )N©r.   zTraining job completed)r8   r9   r:   r0   s     r   Ú_log_job_completedz#TrainingPlatform._log_job_completed4   s+   € ÝŠ˜6ˆÑ"Ô"×'Ò'Ð(@ÑAÔAÐAÐAÐAr   Úerrorc                 óh   — t                                |¬¦  «                             d|› ¦  «         d S )Nr=   zTraining job failed: )r8   r9   r?   )r+   r.   r?   s      r   Ú_log_job_failedz TrainingPlatform._log_job_failed7   s3   € ÝŠ˜6ˆÑ"Ô"×(Ò(Ð)HÀÐ)HÐ)HÑIÔIÐIÐIÐIr   N)r   r   r   r   r	   r   r,   r   r1   r!   r3   Úboolr5   r;   r>   rA   r   r   r   r&   r&      s<  € € € € € àð¨.ð ¸Sð ð ð ñ „^ðð ð Sð ¨Yð ð ð ñ „^ðð ð Sð ¨^ð ð ð ñ „^ðð ð ð ¨ð ð ð ñ „^ððY sð Y°Nð Yð Yð Yð YðB¨ð Bð Bð Bð BðJ cð J°#ð Jð Jð Jð Jð Jð Jr   r&   N)Úabcr   r   Údataclassesr   Útypingr   Úcommon_loggingr   r   r8   r	   r   r!   r&   r   r   r   ú<module>rG      s<  ðØ #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %à	ˆHÑ	Ô	€ð ð$ð $ð $ð $ð $ñ $ô $ñ „ð$ð ðð ð ð ð ñ ô ñ „ðð ðð ð ð ð ñ ô ñ „ðð
Jð Jð Jð Jð Jsñ Jô Jð Jð Jð Jr   