Spaces:
Sleeping
Sleeping
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() | |