rdlf commited on
Commit
6481074
·
verified ·
1 Parent(s): 1910357

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -9
app.py CHANGED
@@ -1,32 +1,39 @@
1
  import gradio as gr
2
  from transformers import pipeline
 
3
 
4
- # Pipeline de generación genérica que acepta prompts
5
  generador = pipeline("text-generation", model="IIC/MEL", trust_remote_code=True)
6
 
7
  def procesar_tarea(archivos, prompt):
8
  if not prompt:
9
- return "", "Debes escribir un prompt"
10
  texto = ""
11
- for f in archivos:
12
  try:
13
- texto += f.read().decode("utf‑8") + "\n\n"
14
- except:
15
- texto += ""
 
 
16
  entrada = prompt + "\n\n" + texto
17
  salida = generador(entrada, max_new_tokens=512, do_sample=False)
18
  respuesta = salida[0].get("generated_text", "")
19
- return respuesta, respuesta
 
 
 
 
 
20
 
21
  demo = gr.Interface(
22
  fn=procesar_tarea,
23
  inputs=[
24
- gr.File(label="Sube documentos (.txt, .md, .pdf)", file_count="multiple", type="file"),
25
  gr.Textbox(label="Prompt (instrucción)", lines=3, placeholder="Ej. Resume este texto, explica esto...")
26
  ],
27
  outputs=[
28
  gr.Textbox(label="Resultado (para copiar)", lines=10),
29
- gr.File(label="Descargar resultado", file_name="resultado.txt")
30
  ],
31
  title="Interfaz MEL con Gradio",
32
  description="Sube tus documentos, escribe un prompt y recibe la salida generada. Puedes copiar el texto o descargarlo."
 
1
  import gradio as gr
2
  from transformers import pipeline
3
+ import tempfile
4
 
 
5
  generador = pipeline("text-generation", model="IIC/MEL", trust_remote_code=True)
6
 
7
  def procesar_tarea(archivos, prompt):
8
  if not prompt:
9
+ return "", None, "Debes escribir un prompt"
10
  texto = ""
11
+ for fpath in archivos:
12
  try:
13
+ with open(fpath, "r", encoding="utf‑8") as f:
14
+ texto += f.read() + "\n\n"
15
+ except Exception:
16
+ # Ignorar si no se puede leer
17
+ pass
18
  entrada = prompt + "\n\n" + texto
19
  salida = generador(entrada, max_new_tokens=512, do_sample=False)
20
  respuesta = salida[0].get("generated_text", "")
21
+
22
+ # Guardar en un archivo temporal para descarga
23
+ tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".txt", mode="w", encoding="utf‑8")
24
+ tmp.write(respuesta)
25
+ tmp.close()
26
+ return respuesta, tmp.name, None
27
 
28
  demo = gr.Interface(
29
  fn=procesar_tarea,
30
  inputs=[
31
+ gr.File(label="Sube documentos (.txt, .md, .pdf)", file_count="multiple", type="filepath"),
32
  gr.Textbox(label="Prompt (instrucción)", lines=3, placeholder="Ej. Resume este texto, explica esto...")
33
  ],
34
  outputs=[
35
  gr.Textbox(label="Resultado (para copiar)", lines=10),
36
+ gr.File(label="Descargar resultado", interactive=False)
37
  ],
38
  title="Interfaz MEL con Gradio",
39
  description="Sube tus documentos, escribe un prompt y recibe la salida generada. Puedes copiar el texto o descargarlo."