Spaces:
Sleeping
Sleeping
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() |