|
class Demos: |
|
def __init__(self): |
|
from fastapi import FastAPI, HTTPException |
|
self.api = FastAPI |
|
self.exception = HTTPException |
|
def validate_apikey(self,api_key)->bool: |
|
__validation = True |
|
return __validation |
|
@staticmethod |
|
def obtener_texto(from_url:str=None,from_pdf:str=None)->str: |
|
"""Obtiene texto a partir de una fuente de información: desde url o desde pdf. |
|
|
|
args: |
|
from_url (str) : Url desde la que se desea obtener información. |
|
from_pdf (str) : Pdf desde el que se desea obtener información. |
|
return: |
|
_texto (str) : Texto extraído desde la fuente dada. |
|
""" |
|
from api.core.controllers.extractor import TextFromURL |
|
if from_url: |
|
with TextFromURL(url=from_url) as web_content: |
|
_texto = web_content.get_raw().get_text() if web_content.is_ok() else web_content.get_error() |
|
elif from_pdf: |
|
_texto = str("PDF") |
|
else: |
|
_texto = str("Ninguna opción seleccionada") |
|
return _texto |
|
@staticmethod |
|
def generar_bloques(texto:str=None,size:int=1500)->list: |
|
"""Genera bloques de texto de longitud S, a partir de un texto plano. |
|
|
|
args: |
|
texto (str) : Texto para generar bloques. |
|
s (int) : Longitud de los bloques de texto, default 1500 caracteres. |
|
return: |
|
_bloques (list) : Lista de bloques de textos de longitud s. |
|
""" |
|
from api.core.controllers.handlers import Generator |
|
_bloques = Generator.get_bloques(from_text=texto,size=size) |
|
return _bloques |
|
@staticmethod |
|
def traducir(texto:str=None, idioma:str="EN/ES")->str: |
|
"""Genera una traducción del texto dado. |
|
|
|
args: |
|
texto (str) : Texto para traducir |
|
idioma (str) : Idioma, default "EN/ES" |
|
return: |
|
_traduccion (str) : Traducción del texto |
|
""" |
|
from api.core.controllers.text2text import Traductor |
|
_traduccion = str() |
|
if "EN/ES" in idioma.upper(): |
|
_traduccion = Traductor.EN_ES(texto=texto) |
|
elif "ES/EN" in idioma.upper(): |
|
_traduccion = Traductor.ES_EN(texto=texto) |
|
elif "AR/ES" in idioma.upper(): |
|
_traduccion = Traductor.AR_ES(texto=texto) |
|
else: |
|
_traduccion = "Idioma no válido" |
|
return _traduccion |
|
@staticmethod |
|
def resumir(texto:str=None)->str: |
|
"""Genera un resumen del texto dado. |
|
|
|
args: |
|
texto (str) : Texto para generar resumen |
|
return: |
|
_resumen (str) : Resumen generado |
|
""" |
|
from api.core.controllers.text2text import Abstractor |
|
_resumen = Abstractor.resumen(texto=texto) |
|
return _resumen |
|
@staticmethod |
|
def text_to_img(texto:str=None, model:str="PROMPTHERO")->list: |
|
"""Genera un BITARRAY de la imagen con el texto dado. |
|
|
|
args: |
|
texto (str) : Texto para generar imagen |
|
return: |
|
_img (str) : Imagen en BITARRAY |
|
""" |
|
|
|
from api.core.controllers.text2image import Generador |
|
_imagen = str() |
|
if "RUNWAY" in model.upper(): |
|
_imagen = Generador.using_runway_sd_15(prompt=texto) |
|
elif "STABILITY" in model.upper(): |
|
_imagen = Generador.using_stability_sd_21(prompt=texto) |
|
elif "REALISTIC" in model.upper(): |
|
_imagen = Generador.using_realistic_v14(prompt=texto) |
|
elif "PROMPTHERO" in model.upper(): |
|
_imagen = Generador.using_prompthero_openjourney(prompt=texto) |
|
else: |
|
_imagen = list(["error"]) |
|
return _imagen |
|
@staticmethod |
|
def text_to_video(texto:str=None)->str: |
|
"""Genera un BITARRAY del video con el texto dado. |
|
|
|
args: |
|
texto (str) : Texto para generar video |
|
return: |
|
_video (str) : Video en BITARRAY |
|
""" |
|
_video = str() |
|
return _video |
|
@staticmethod |
|
def text_to_speach(texto:str=None)->str: |
|
"""Genera un BITARRAY del audio con el texto dado. |
|
|
|
args: |
|
texto (str) : Texto para generar audio |
|
return: |
|
_speach (str) : Audio en BITARRAY |
|
""" |
|
_speach = str() |
|
return _speach |
|
@staticmethod |
|
def image_to_image(task:str="MSLD", image:str=None, mask:str=None,**kwargs)->str: |
|
"""Genera una imagen a partir de una imagen |
|
|
|
args: |
|
task (str) : Modelo a utilizar: MSLD, DEEP, SCRIBLE, etc.. |
|
image (str) : Input Image |
|
mask (str) : Mask Image |
|
**kwargs (str) : Argumentos adicionales: inference, strnght, guidance... |
|
return: |
|
_image (str) : Imagen en BITARRAY |
|
""" |
|
_image = str() |
|
return _image |
|
|
|
|
|
|