7Miiik's picture
Update app.py
2de692c verified
raw
history blame
2.25 kB
import gradio as gr
from transformers import pipeline
import os
# Creamos un modelo de resumen más ligero
resumidor = pipeline("summarization", model="t5-small")
# Creamos un modelo de generación de diálogo más ligero
dialogador = pipeline("text-generation", model="microsoft/DialoGPT-small")
def transformar_texto(archivo):
if archivo is None:
return "Por favor, sube un archivo de texto."
try:
# Lee el contenido del archivo
texto = archivo.decode('utf-8')
except Exception as e:
return f"Error al leer el archivo: {e}"
# Limitación para la versión gratuita
max_palabras = 1000 # Puedes ajustar este número
num_palabras = len(texto.split())
if num_palabras > max_palabras:
return f"El texto excede el límite de {max_palabras} palabras para la versión gratuita."
# Resumimos el texto
resumen = resumidor(texto, max_length=50, min_length=25, do_sample=False)[0]['summary_text']
# Generamos una conversación basada en el resumen
prompt = f"Crear una conversación entre dos personas sobre: {resumen}"
conversacion = dialogador(prompt, max_length=200, num_return_sequences=1)[0]['generated_text']
# Guardamos la conversación en un archivo en /tmp
ruta_archivo = os.path.join("/tmp", "conversacion.txt")
with open(ruta_archivo, "w", encoding='utf-8') as f:
f.write(conversacion)
return ruta_archivo
# Creamos la interfaz de usuario actualizada
interfaz = gr.Interface(
fn=transformar_texto,
inputs=gr.File(label="Sube tu documento de texto (.txt)"),
outputs=gr.File(label="Descarga la conversación generada"),
title="📝➡️🎙️ Transformador de Texto a Conversación",
description="""
Sube un documento de texto y conviértelo en una conversación tipo podcast entre dos personas.
**Versión Gratuita:**
- Límite de 1000 palabras por texto.
- Conversación básica entre dos personas.
**Próximamente:**
- Versiones premium sin límites.
- Personalización de voces y estilos.
- Descarga en formato de audio.
¡Mantente atento para más actualizaciones!
""",
theme="default",
allow_flagging="never"
)
interfaz.launch()