File size: 1,544 Bytes
f4bf523 b9925d0 6481074 b9925d0 f4bf523 b9925d0 f4bf523 6481074 82366d1 f4bf523 82366d1 f4bf523 b9925d0 f4bf523 6481074 82366d1 6481074 f4bf523 6481074 f4bf523 6481074 f4bf523 82366d1 f4bf523 93822af |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import gradio as gr
from transformers import pipeline
import tempfile
generador = pipeline("text-generation", model="IIC/MEL", trust_remote_code=True)
def procesar_tarea(archivos, prompt):
if not prompt:
return "", None, "Debes escribir un prompt"
texto = ""
if archivos:
for fpath in archivos:
try:
with open(fpath, "r", encoding="utf-8") as f:
texto += f.read() + "\n\n"
except Exception:
pass # evita fallos si no se puede leer algún archivo
entrada = prompt + "\n\n" + texto
salida = generador(entrada, max_new_tokens=512, do_sample=False)
respuesta = salida[0].get("generated_text", "")
tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".txt", mode="w", encoding="utf-8")
tmp.write(respuesta)
tmp.close()
return respuesta, tmp.name, None
demo = gr.Interface(
fn=procesar_tarea,
inputs=[
gr.File(label="Sube documentos (.txt, .md, .pdf)", file_count="multiple", type="filepath"),
gr.Textbox(label="Prompt (instrucción)", lines=3, placeholder="Ej. Resume este texto, explica esto...")
],
outputs=[
gr.Textbox(label="Resultado (para copiar)", lines=10),
gr.File(label="Descargar resultado", interactive=False)
],
title="Interfaz MEL con Gradio",
description="Sube tus documentos (opcional), escribe un prompt y recibe la salida generada. Puedes copiar el texto o descargarlo."
)
if __name__ == "__main__":
demo.launch(share=True)
|