
    i	                         d dl 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)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskBaseTextGenerationTaskTaskProviderHelperfilter_none)get_sessionnovitazhttps://api.novita.aic                   T     e Zd Z fdZdededefdZd
deez  dedz  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    |/var/www/vps2.regionflexible.com/Desarrollo/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   N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$   bytesdictr   r   r0   __classcell__r   s   @r   r   r      sI    A(3 ( ( (
UT\ 
CTW[C[ 
gj 
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   )r2   r3   r4   r   r5   r$   r8   r9   s   @r   r;   r;   %   s#    A-3 - - -r   r;   c            	       r     e Zd Z fdZdededefdZdedededed	z  fd
Z	dde
ez  ded	z  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_infoNc                      d|it        |      S )Nprompt)r
   )r   rC   rD   rE   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   
isinstancer7   
ValueErrorr   r.   content)r   r%   r&   response_dictrK   s        r   r0   z"NovitaTextToVideoTask.get_response:   sn     *}d+=(=148}W55]^^!'*;7	}  +333r   r1   )r2   r3   r4   r   r5   r$   r   r7   r   rH   r6   r   r0   r8   r9   s   @r   r?   r?   .   sr    W(3 ( ( (=='+=D\=	=
4UT\ 4CTW[C[ 4gj 4r   r?   N)typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   ,huggingface_hub.inference._providers._commonr   r   r	   r
   huggingface_hub.utilsr   r   r   r   r;   r?   r"   r   r   <module>rU      sP     ; I  . 	#	
5 
&-5 -4. 4r   