Spaces:
Paused
Paused
File size: 2,037 Bytes
40a531f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | from transformers import pipeline
import gradio as gr
# Load a small text generation model (fast on free CPU)
print("Loading distilgpt2...")
generator = pipeline("text-generation", model="distilgpt2")
print("Model loaded!")
def generate_text(prompt, temperature, top_p, max_length):
if not prompt or not prompt.strip():
return "Type a prompt above first!"
result = generator(
prompt,
temperature=max(temperature, 0.01), # avoid division by zero
top_p=top_p,
max_length=int(max_length),
do_sample=True,
num_return_sequences=1,
)
return result[0]["generated_text"]
demo = gr.Interface(
fn=generate_text,
inputs=[
gr.Textbox(
lines=3,
placeholder="Start your text here...",
label="Prompt",
),
gr.Slider(
minimum=0.1,
maximum=2.0,
value=0.7,
step=0.1,
label="Temperature (creativity)",
),
gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.9,
step=0.05,
label="Top-p (diversity)",
),
gr.Slider(
minimum=20,
maximum=200,
value=100,
step=10,
label="Max Length (words-ish)",
),
],
outputs=gr.Textbox(label="Generated Text", lines=10),
title="Text Playground",
description="Type a prompt and use the sliders to control how the AI writes. Temperature controls creativity (low = predictable, high = wild). Top-p controls word diversity. Max length controls how much it writes.",
examples=[
["Once upon a time in a school where robots", 0.7, 0.9, 100],
["The secret ingredient in the recipe was", 1.2, 0.9, 80],
["Dear Principal, I am writing to request", 0.3, 0.9, 100],
["Breaking news: scientists discover that cats", 0.9, 0.95, 120],
["The haunted house at the end of the street", 1.5, 0.8, 150],
],
)
demo.launch() |