demos / api /core /app.py
coder160's picture
update methods v0
594459e
raw
history blame
5.13 kB
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