Team Ai
Apppublic

coder160/demos

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py136 linesDownload Raw Back to core
1class Demos:2    def __init__(self):3        from fastapi import FastAPI, HTTPException, Response4        self.api = FastAPI5        self.exception = HTTPException6        self.api_response = Response7    def validate_apikey(self,api_key)->bool:8        __validation = True9        return __validation10    @staticmethod11    def obtener_texto(from_url:str=None,from_pdf:str=None)->str:12        """Obtiene texto a partir de una fuente de información: desde url o desde pdf.13 14        args:15            from_url        (str)   :   Url desde la que se desea obtener información.16            from_pdf        (str)   :   Pdf desde el que se desea obtener información.17        return:18            _texto          (str)   :   Texto extraído desde la fuente dada.19        """20        from api.core.controllers.extractor import TextFromURL21        if from_url:22            with TextFromURL(url=from_url) as web_content:23                _texto = web_content.get_raw().get_text() if web_content.is_ok() else web_content.get_error()24        elif from_pdf:25            _texto = str("PDF")26        else:27            _texto = str("Ninguna opción seleccionada")28        return _texto29    @staticmethod30    def generar_bloques(texto:str=None,size:int=1500)->list:31        """Genera bloques de texto de longitud S, a partir de un texto plano.32 33        args:34            texto           (str)   :   Texto para generar bloques.35            s               (int)   :   Longitud de los bloques de texto, default 1500 caracteres.36        return:37            _bloques        (list)  :   Lista de bloques de textos de longitud s.38        """39        from api.core.controllers.handlers import Generator40        _bloques = Generator.get_bloques(from_text=texto,size=size)41        return _bloques42    @staticmethod43    def traducir(texto:str=None, idioma:str="EN/ES")->str:44        """Genera una traducción del texto dado.45 46        args:47            texto           (str)   :   Texto para traducir48            idioma          (str)   :   Idioma, default "EN/ES"49        return:50            _traduccion     (str)   :   Traducción del texto51        """52        from api.core.controllers.text2text import Traductor53        _traduccion = str()54        if "EN/ES" in idioma.upper():55            _traduccion = Traductor.EN_ES(texto=texto)56        elif "ES/EN" in idioma.upper():57            _traduccion = Traductor.ES_EN(texto=texto)58        elif "AR/ES" in idioma.upper():59            _traduccion = Traductor.AR_ES(texto=texto)60        else:61            _traduccion = "Idioma no válido"62        return _traduccion63    @staticmethod64    def resumir(texto:str=None)->str:65        """Genera un resumen del texto dado.66 67        args:68            texto           (str)   :   Texto para generar resumen69        return:70            _resumen        (str)   :   Resumen generado71        """72        from api.core.controllers.text2text import Abstractor73        _resumen = Abstractor.resumen(texto=texto)74        return _resumen75    @staticmethod76    def text_to_img(texto:str=None, model:str="PROMPTHERO")->bytes:77        """Genera un BITARRAY de la imagen con el texto dado.78 79        args:80            texto           (str)   :   Texto para generar imagen81        return:82            _img            (str)   :   Imagen en BITARRAY83        """84        85        from api.core.controllers.text2image import Generador86        _imagen = str()87        if "RUNWAY" in model.upper():88            _imagen = Generador.using_runway_sd_15(prompt=texto)89        elif "STABILITY" in model.upper():90            _imagen = Generador.using_stability_sd_21(prompt=texto)91        elif "REALISTIC" in model.upper():92            _imagen = Generador.using_realistic_v14(prompt=texto)93        elif "PROMPTHERO" in model.upper():94            _imagen = Generador.using_prompthero_openjourney(prompt=texto)95        else:96            _imagen = bytes("error", 'utf-8')97        return _imagen98    @staticmethod99    def text_to_video(texto:str=None)->str:100        """Genera un BITARRAY del video con el texto dado.101 102        args:103            texto           (str)   :   Texto para generar video104        return:105            _video          (str)   :   Video en BITARRAY106        """107        _video = str()108        return _video109    @staticmethod110    def text_to_speach(texto:str=None)->str:111        """Genera un BITARRAY del audio con el texto dado.112 113        args:114            texto           (str)   :   Texto para generar audio115        return:116            _speach         (str)   :   Audio en BITARRAY117        """118        _speach = str()119        return _speach120    @staticmethod121    def image_to_image(task:str="MSLD", image:str=None, mask:str=None,**kwargs)->str:122        """Genera una imagen a partir de una imagen123 124        args:125            task            (str)   :   Modelo a utilizar: MSLD, DEEP, SCRIBLE, etc..126            image           (str)   :   Input Image127            mask            (str)   :   Mask Image128            **kwargs        (str)   :   Argumentos adicionales: inference, strnght, guidance...129        return:130            _image          (str)   :   Imagen en BITARRAY131        """132        _image = str()133        return _image134    135 136