AxionLab-official's picture
Update app.py
0b9710a verified
Raw
History Blame Contribute Delete
2.69 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
MODEL_ID = "SupraLabs/Supra-1.5-50M-Instruct-exp"
print(f"Loading model: {MODEL_ID}")
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(MODEL_ID, dtype=torch.float32)
model.eval()
print("Model loaded.")
def generate_text(
message,
history,
max_new_tokens=200,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.2,
):
max_new_tokens = int(max_new_tokens or 200)
temperature = float(temperature or 0.7)
top_p = float(top_p or 0.9)
repetition_penalty = float(repetition_penalty or 1.2)
prompt = f"User: {message}\nAssistant:"
inputs = tokenizer(prompt, return_tensors="pt")
input_ids = inputs["input_ids"]
with torch.no_grad():
output = model.generate(
input_ids,
max_new_tokens=max_new_tokens,
temperature=temperature if temperature > 0 else 1.0,
top_p=top_p,
repetition_penalty=repetition_penalty,
do_sample=temperature > 0,
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id,
)
generated = output[0][input_ids.shape[-1]:]
response = tokenizer.decode(generated, skip_special_tokens=True).strip()
if "User:" in response:
response = response.split("User:")[0].strip()
return response
with gr.Blocks(title="Supra-1.5-50M Instruct") as demo:
gr.Markdown(
"""
# 🧠 Supra-1.5-50M-Instruct-exp
**SupraLabs** · Experimental 50M-parameter instruction-tuned SLM · [Model Card](https://huggingface.co/SupraLabs/Supra-1.5-50M-Instruct-exp)
> ⚠️ Experimental model — responses may be limited or inconsistent.
"""
)
gr.ChatInterface(
fn=generate_text,
additional_inputs=[
gr.Slider(32, 512, value=200, step=8, label="Max New Tokens"),
gr.Slider(0.0, 1.5, value=0.7, step=0.05, label="Temperature"),
gr.Slider(0.5, 1.0, value=0.9, step=0.05, label="Top-p"),
gr.Slider(1.0, 2.0, value=1.2, step=0.05, label="Repetition Penalty"),
],
additional_inputs_accordion=gr.Accordion("⚙️ Generation Settings", open=False),
examples=[
["What is a language model?"],
["Write a short poem about the stars."],
["Explain gravity in simple terms."],
["What is the capital of France?"],
],
)
gr.Markdown("---\nBuilt with ❤️ by [SupraLabs](https://huggingface.co/SupraLabs) · Apache 2.0 License")
demo.launch(theme=gr.themes.Soft())