smollm2-spaces / app.py
pradeep6kumar2024's picture
Initial space setup without model weights
2a981df
import gradio as gr
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load model and tokenizer from HuggingFace
model_name = "HuggingFaceTB/SmolLM2-135M"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
def generate(prompt, max_length=50, temperature=0.7):
"""Generate text from prompt"""
inputs = tokenizer(prompt, return_tensors="pt")
# Generate text
outputs = model.generate(
**inputs,
max_new_tokens=max_length,
temperature=temperature,
do_sample=True,
top_p=0.9,
repetition_penalty=1.1
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
# Create Gradio interface
demo = gr.Interface(
fn=generate,
inputs=[
gr.Textbox(label="Enter your prompt", value="Once upon a time"),
gr.Slider(minimum=10, maximum=200, value=50, label="Maximum length"),
gr.Slider(minimum=0.1, maximum=1.0, value=0.7, label="Temperature")
],
outputs=gr.Textbox(label="Generated Text"),
title="SmolLM2 Text Generation",
description="A small language model based on SmolLM2-135M architecture."
)
if __name__ == "__main__":
demo.launch()