import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM import torch # Carga del modelo ligero en español model_name = "mrm8488/t5-base-finetuned-spanish-summarization" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) # Prompt base para BITER base_prompt = ( "Eres BITER, un mentor experto en negocios. Responde SIEMPRE en español, " "con consejos breves, claros y con visión estratégica. Ayudas a emprendedores " "a tomar buenas decisiones. Sé directo, profesional y humano.\n" "Usuario: {pregunta}\n" "BITER:" ) # Función de respuesta def responder(pregunta): prompt = base_prompt.format(pregunta=pregunta) input_ids = tokenizer.encode(prompt, return_tensors="pt", truncation=True) # Generar respuesta with torch.no_grad(): output_ids = model.generate( input_ids, max_new_tokens=100, num_beams=4, early_stopping=True ) respuesta = tokenizer.decode(output_ids[0], skip_special_tokens=True) return respuesta.strip() # Interfaz Gradio iface = gr.Interface( fn=responder, inputs=gr.Textbox(lines=3, placeholder="¿Cuál es tu duda sobre tu negocio?", label="Tu pregunta"), outputs=gr.Textbox(label="Respuesta de BITER"), title="BITER - Tu Mentor IA para Decisiones de Negocio", description="BITER responde dudas de emprendedores como si fuera un CEO experimentado. Modelo: T5 ligero afinado en español.", examples=[ ["¿Cómo puedo validar mi idea de negocio con poco presupuesto?"], ["¿Cuál es la mejor estrategia para conseguir mis primeros clientes?"], ["¿Debería invertir en publicidad o en SEO?"] ], ) iface.launch()