Spaces:
Paused
Paused
import gradio as gr | |
from transformers import AutoModelForCausalLM, AutoTokenizer | |
import torch | |
# Cargar el modelo y el tokenizador | |
model_name = "BSC-LT/salamandra-7b-instruct" | |
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) | |
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16) | |
# Funci贸n de generaci贸n optimizada | |
def generate_response(prompt): | |
inputs = tokenizer(prompt, return_tensors="pt") | |
outputs = model.generate( | |
inputs.input_ids, | |
max_length=60, # 馃敼 Antes: 100 | Ahora: 60 (reduce tiempo sin cortar demasiado) | |
do_sample=True, | |
temperature=0.65, # 馃敼 Antes: 0.7 | Ahora: 0.65 (ligera reducci贸n de aleatoriedad) | |
top_p=0.9, # 馃敼 Nuevo: Prioriza palabras m谩s probables para mayor fluidez | |
repetition_penalty=1.2, # 馃敼 Nuevo: Evita respuestas repetitivas | |
early_stopping=True, # 馃敼 Nuevo: Reduce tiempos innecesarios | |
) | |
return tokenizer.decode(outputs[0], skip_special_tokens=True) | |
# Interfaz en Gradio | |
with gr.Blocks() as demo: | |
gr.Markdown("# 馃 Chatbot ALIA - Optimizado") | |
input_text = gr.Textbox(label="Escribe tu texto aqu铆") | |
output_text = gr.Textbox(label="Respuesta de ALIA") | |
submit_button = gr.Button("Generar respuesta") | |
submit_button.click(generate_response, inputs=input_text, outputs=output_text) | |
demo.launch() | |