File size: 1,338 Bytes
3b897c4
 
 
 
c5bee8e
3b897c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from transformers import pipeline

# Use the same text-generation model as the existing project
generator = pipeline("text-generation", model="gpt2")


def generate_text(prompt: str, max_length: int = 150):
    prompt = prompt or ""
    if not prompt.strip():
        return "Please enter a prompt to generate text."

    result = generator(
        prompt,
        max_length=max_length,
        do_sample=False,
        truncation=True,
    )
    return result[0]["generated_text"]


demo = gr.Blocks()

with demo:
    gr.Markdown("# Text Generator")
    gr.Markdown(
        "Enter a prompt below and click Generate Text to produce output using GPT-2."
    )

    with gr.Row():
        prompt_input = gr.Textbox(
            label="Prompt",
            placeholder="Enter your prompt here...",
            lines=5,
        )
        max_length = gr.Slider(
            minimum=50,
            maximum=500,
            step=10,
            value=150,
            label="Max generated length",
        )

    output_text = gr.Textbox(label="Generated Text", lines=12)

    generate_button = gr.Button("Generate Text")
    generate_button.click(
        generate_text,
        inputs=[prompt_input, max_length],
        outputs=output_text,
    )


demo.launch()