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()