o
    0j                     @   sh   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
 dZdZG dd	 d	e	ZG d
d deZdS )    )Any)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskBaseTextGenerationTaskfilter_noneZ	deepinfrazhttps://api.deepinfra.comc                	       sp   e Zd Z fddZdededefddZded	ed
ededB fddZ	dde
eB dedB defddZ  ZS )DeepInfraTextGenerationTaskc                       t  jttd d S N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__ o/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/huggingface_hub/inference/_providers/deepinfra.pyr         z$DeepInfraTextGenerationTask.__init__mapped_modelapi_keyreturnc                 C      dS )Nz/v1/openai/completionsr   r   r   r   r   r   r   _prepare_route      z*DeepInfraTextGenerationTask._prepare_routeinputs
parametersprovider_mapping_infoNc                 C   s2   t | }|dd |d< d|i|d|jiS )NZmax_new_tokensZ
max_tokenspromptmodel)r	   copypopZprovider_id)r   r"   r#   r$   paramsr   r   r   _prepare_payload_as_dict   s   z4DeepInfraTextGenerationTask._prepare_payload_as_dictresponserequest_paramsc                 C   s0   t |d d }|d |d|dddS )Nchoicesr   textfinish_reasonseed)r/   r0   )Zgenerated_textdetails)r   get)r   r+   r,   outputr   r   r   get_response   s   z(DeepInfraTextGenerationTask.get_response)N)__name__
__module____qualname__r   strr    r   dictr   r*   bytesr   r4   __classcell__r   r   r   r   r
      s    
(r
   c                       s2   e Zd Z fddZdededefddZ  ZS )DeepInfraConversationalTaskc                    r   r   r   r   r   r   r   r   (   r   z$DeepInfraConversationalTask.__init__r   r   r   c                 C   r   )Nz/v1/openai/chat/completionsr   r   r   r   r   r    +   r!   z*DeepInfraConversationalTask._prepare_route)r5   r6   r7   r   r8   r    r;   r   r   r   r   r<   '   s    r<   N)typingr   Zhuggingface_hub.hf_apir   Z!huggingface_hub.inference._commonr   r   _commonr   r   r	   r   r   r
   r<   r   r   r   r   <module>   s    