
    j	                         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dS )    )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                 b    t                                          t          t                     d S N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__s    n/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/novita.pyr   z!NovitaTextGenerationTask.__init__   &    )i@@@@@    mapped_modelapi_keyreturnc                     dS )Nz/v3/openai/completions r   r   r   s      r   _prepare_routez'NovitaTextGenerationTask._prepare_route   s    ''r   Nresponserequest_paramsc                     t          |          d         d         }|d         |                    d          |                    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   sW    (##I.q1$Vn!'O!<!<

6** 
 
 	
r   N)__name__
__module____qualname__r   strr$   bytesdictr   r   r0   __classcell__r   s   @r   r   r      s        A A A A 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                 b    t                                          t          t                     d S r   r   r   s    r   r   z!NovitaConversationalTask.__init__&   r   r   r   r   r    c                     dS )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;   %   sf        A A A A 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                 d    t                                          t          t          d           d S )Nztext-to-video)r   r   taskr   r   s    r   r   zNovitaTextToVideoTask.__init__/   s(    )ioVVVV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        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:   s     **}d++	_=((=1488 )}W555]^^^!'*;7	}}  ++33r   r1   )r2   r3   r4   r   r5   r$   r   r7   r   rH   r6   r   r0   r8   r9   s   @r   r?   r?   .   s        W W W W W(3 ( ( ( ( ( (=='+=D\=	= = = =
4 4UT\ 4CTW[C[ 4gj 4 4 4 4 4 4 4 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      s(         ; ; ; ; ; ; I I I I I I I I            . - - - - - 	#	
 
 
 
 
5 
 
 
&- - - - -5 - - -4 4 4 4 4. 4 4 4 4 4r   