Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,15 +1,21 @@
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
|
|
3 |
|
4 |
-
# Creamos un modelo de resumen
|
5 |
-
resumidor = pipeline("summarization", model="
|
6 |
|
7 |
-
# Creamos un modelo de generación de diálogo
|
8 |
-
dialogador = pipeline("text-generation", model="microsoft/DialoGPT-
|
9 |
|
10 |
def transformar_texto(archivo):
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
# Limitación para la versión gratuita
|
15 |
max_palabras = 1000 # Puedes ajustar este número
|
@@ -18,21 +24,42 @@ def transformar_texto(archivo):
|
|
18 |
return f"El texto excede el límite de {max_palabras} palabras para la versión gratuita."
|
19 |
|
20 |
# Resumimos el texto
|
21 |
-
resumen = resumidor(texto, max_length=
|
22 |
|
23 |
# Generamos una conversación basada en el resumen
|
24 |
prompt = f"Crear una conversación entre dos personas sobre: {resumen}"
|
25 |
-
conversacion = dialogador(prompt, max_length=
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
-
# Creamos la interfaz de usuario
|
30 |
interfaz = gr.Interface(
|
31 |
fn=transformar_texto,
|
32 |
-
inputs=gr.
|
33 |
-
outputs="
|
34 |
-
title="Transformador de Texto a Conversación",
|
35 |
-
description="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
)
|
37 |
|
38 |
interfaz.launch()
|
|
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
+
import os
|
4 |
|
5 |
+
# Creamos un modelo de resumen más ligero
|
6 |
+
resumidor = pipeline("summarization", model="t5-small")
|
7 |
|
8 |
+
# Creamos un modelo de generación de diálogo más ligero
|
9 |
+
dialogador = pipeline("text-generation", model="microsoft/DialoGPT-small")
|
10 |
|
11 |
def transformar_texto(archivo):
|
12 |
+
if archivo is None:
|
13 |
+
return "Por favor, sube un archivo de texto."
|
14 |
+
try:
|
15 |
+
# Lee el contenido del archivo
|
16 |
+
texto = archivo.decode('utf-8')
|
17 |
+
except Exception as e:
|
18 |
+
return f"Error al leer el archivo: {e}"
|
19 |
|
20 |
# Limitación para la versión gratuita
|
21 |
max_palabras = 1000 # Puedes ajustar este número
|
|
|
24 |
return f"El texto excede el límite de {max_palabras} palabras para la versión gratuita."
|
25 |
|
26 |
# Resumimos el texto
|
27 |
+
resumen = resumidor(texto, max_length=50, min_length=25, do_sample=False)[0]['summary_text']
|
28 |
|
29 |
# Generamos una conversación basada en el resumen
|
30 |
prompt = f"Crear una conversación entre dos personas sobre: {resumen}"
|
31 |
+
conversacion = dialogador(prompt, max_length=200, num_return_sequences=1)[0]['generated_text']
|
32 |
|
33 |
+
# Guardamos la conversación en un archivo en /tmp
|
34 |
+
ruta_archivo = os.path.join("/tmp", "conversacion.txt")
|
35 |
+
with open(ruta_archivo, "w", encoding='utf-8') as f:
|
36 |
+
f.write(conversacion)
|
37 |
+
|
38 |
+
return ruta_archivo
|
39 |
|
40 |
+
# Creamos la interfaz de usuario actualizada
|
41 |
interfaz = gr.Interface(
|
42 |
fn=transformar_texto,
|
43 |
+
inputs=gr.File(label="Sube tu documento de texto (.txt)"),
|
44 |
+
outputs=gr.File(label="Descarga la conversación generada"),
|
45 |
+
title="📝➡️🎙️ Transformador de Texto a Conversación",
|
46 |
+
description="""
|
47 |
+
Sube un documento de texto y conviértelo en una conversación tipo podcast entre dos personas.
|
48 |
+
|
49 |
+
**Versión Gratuita:**
|
50 |
+
- Límite de 1000 palabras por texto.
|
51 |
+
- Conversación básica entre dos personas.
|
52 |
+
|
53 |
+
**Próximamente:**
|
54 |
+
- Versiones premium sin límites.
|
55 |
+
- Personalización de voces y estilos.
|
56 |
+
- Descarga en formato de audio.
|
57 |
+
|
58 |
+
¡Mantente atento para más actualizaciones!
|
59 |
+
""",
|
60 |
+
theme="default",
|
61 |
+
allow_flagging="never"
|
62 |
)
|
63 |
|
64 |
interfaz.launch()
|
65 |
+
|