7Miiik commited on
Commit
2de692c
·
verified ·
1 Parent(s): 39e0760

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -14
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="facebook/bart-large-cnn")
6
 
7
- # Creamos un modelo de generación de diálogo
8
- dialogador = pipeline("text-generation", model="microsoft/DialoGPT-medium")
9
 
10
  def transformar_texto(archivo):
11
- # Leemos el contenido del archivo subido
12
- texto = archivo.read().decode('utf-8')
 
 
 
 
 
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=130, min_length=30, do_sample=False)[0]['summary_text']
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=500)[0]['generated_text']
26
 
27
- return conversacion
 
 
 
 
 
28
 
29
- # Creamos la interfaz de usuario
30
  interfaz = gr.Interface(
31
  fn=transformar_texto,
32
- inputs=gr.inputs.File(label="Sube tu documento de texto"),
33
- outputs="text",
34
- title="Transformador de Texto a Conversación",
35
- description="Sube un documento de texto y conviértelo en una conversación tipo podcast entre dos personas. Versión gratuita con límite de 1000 palabras."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+