|
import gradio as gr |
|
from transformers import pipeline |
|
|
|
|
|
generador = pipeline("text-generation", model="IIC/MEL", trust_remote_code=True) |
|
|
|
def procesar_tarea(archivos, prompt): |
|
if not prompt: |
|
return "", "Debes escribir un prompt" |
|
texto = "" |
|
for f in archivos: |
|
try: |
|
texto += f.read().decode("utf‑8") + "\n\n" |
|
except: |
|
texto += "" |
|
entrada = prompt + "\n\n" + texto |
|
salida = generador(entrada, max_new_tokens=512, do_sample=False) |
|
respuesta = salida[0].get("generated_text", "") |
|
return respuesta, respuesta |
|
|
|
demo = gr.Interface( |
|
fn=procesar_tarea, |
|
inputs=[ |
|
gr.File(label="Sube documentos (.txt, .md, .pdf)", file_count="multiple", type="file"), |
|
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", file_name="resultado.txt") |
|
], |
|
title="Interfaz MEL con Gradio", |
|
description="Sube tus documentos, escribe un prompt y recibe la salida generada. Puedes copiar el texto o descargarlo." |
|
) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|