import gradio as gr from transformers import pipeline MODEL_ID = "Salesforce/codet5-base" # o describeai/gemini-small si ya lo tienes disponible explain_pipe = pipeline("text2text-generation", model=MODEL_ID) def explicar_codigo(code: str): # Forzar respuesta en español prompt = f"Por favor, EXPLICA EN ESPAÑOL de forma clara y profesional qué hace este fragmento de código. " \ f"Si hay términos en inglés dé un equivalente en español. " \ f"Explica propósito, parámetros y salida si aplica.\n\nCódigo:\n{code}" out = explain_pipe(prompt, max_length=256, do_sample=False) return out[0]["generated_text"] # Interfaz normal para la página del Space with gr.Blocks() as demo: gr.Markdown("# Asistente IA — Explicador de código") txt = gr.Textbox(lines=12, placeholder="Pega tu código aquí...") out = gr.Textbox(label="Explicación (en español)") btn = gr.Button("Explicar") btn.click(explicar_codigo, txt, out) # Inyectamos JS que escucha postMessage desde el padre (tu doc) y responde con llamada local al endpoint /run/predict # Esto permite que el iframe reciba {type:'explain', code: '...'} y devuelva {type:'explain_result', text:'...'} gr.HTML(""" """) demo.launch()