
    ;3h	                         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mZmZmZ d dlmZ dZdZ G d d	e      Z G d
 de      Z G d de      Zy)    )AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskBaseTextGenerationTaskTaskProviderHelperfilter_none)get_sessionnovitazhttps://api.novita.aic                   X     e Zd Z fdZdededefdZd	deeef   de	e
   defdZ xZS )
NovitaTextGenerationTaskc                 8    t         |   t        t               y N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__s    k/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/novita.pyr   z!NovitaTextGenerationTask.__init__       )i@    mapped_modelapi_keyreturnc                      y)Nz/v3/openai/completions r   r!   r"   s      r   _prepare_routez'NovitaTextGenerationTask._prepare_route   s    'r    responserequest_paramsc                 v    t        |      d   d   }|d   |j                  d      |j                  d      ddS )Nchoicesr   textfinish_reasonseed)r-   r.   )generated_textdetails)r	   get)r   r(   r)   outputs       r   get_responsez%NovitaTextGenerationTask.get_response   sD    (#I.q1$Vn!'O!<

6*
 	
r    N)__name__
__module____qualname__r   strr'   r   bytesr   r   r   r   r3   __classcell__r   s   @r   r   r      sM    A(3 ( ( (
U5$;%7 
RcId 
ps 
r    r   c                   2     e Zd Z fdZdededefdZ xZS )NovitaConversationalTaskc                 8    t         |   t        t               y r   r   r   s    r   r   z!NovitaConversationalTask.__init__&   r   r    r!   r"   r#   c                      y)Nz/v3/openai/chat/completionsr%   r&   s      r   r'   z'NovitaConversationalTask._prepare_route)   s    ,r    )r5   r6   r7   r   r8   r'   r:   r;   s   @r   r=   r=   %   s#    A-3 - - -r    r=   c            	       v     e Zd Z fdZdededefdZdededede	e   fd	Z
dd
eeef   de	e   defdZ xZS )NovitaTextToVideoTaskc                 :    t         |   t        t        d       y )Nztext-to-video)r   r   taskr   r   s    r   r   zNovitaTextToVideoTask.__init__/   s    )ioVr    r!   r"   r#   c                     d| S )Nz/v3/hf/r%   r&   s      r   r'   z$NovitaTextToVideoTask._prepare_route2   s    ''r    inputs
parametersprovider_mapping_infoc                      d|it        |      S )Nprompt)r   )r   rE   rF   rG   s       r   _prepare_payload_as_dictz.NovitaTextToVideoTask._prepare_payload_as_dict5   s     &<K
$;<<r    r(   r)   c                     t        |      }t        |t              rd|v rt        |d   t              rd|d   v st        d      |d   d   }t	               j                  |      j                  S )Nvideo	video_urlz>Expected response format: { 'video': { 'video_url': string } })r	   
isinstancedict
ValueErrorr   r1   content)r   r(   r)   response_dictrM   s        r   r3   z"NovitaTextToVideoTask.get_response:   sn     *}d+=(=148}W55]^^!'*;7	}  +333r    r4   )r5   r6   r7   r   r8   r'   r   r   r   r   rJ   r   r9   r   r3   r:   r;   s   @r   rA   rA   .   sv    W(3 ( ( (=='+=D\=	$=
4U5$;%7 4RcId 4ps 4r    rA   N)typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   huggingface_hub.utilsr   r   r   r   r=   rA   r%   r    r   <module>rX      sS    - - ; I  . 	#	
5 
&-5 -4. 4r    