biter-zephyr / app.py
askbyte's picture
Update app.py
9ba91ec verified
raw
history blame
1.79 kB
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()