aditismile commited on
Commit
5b7ce02
·
1 Parent(s): e9af93a

Add application file

Browse files
Files changed (1) hide show
  1. app.py +89 -0
app.py ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import pipeline
3
+ import torch
4
+
5
+ # Initialize the model
6
+ # Using a lightweight text generation model for this example
7
+ model_name = "distilgpt2" # You can change this to any model
8
+ generator = pipeline('text-generation', model=model_name, device=0 if torch.cuda.is_available() else -1)
9
+
10
+ def generate_text(prompt, max_length=100, temperature=0.7):
11
+ """
12
+ Generate text based on the input prompt
13
+
14
+ Args:
15
+ prompt: Input text prompt
16
+ max_length: Maximum length of generated text
17
+ temperature: Controls randomness (higher = more random)
18
+
19
+ Returns:
20
+ Generated text
21
+ """
22
+ try:
23
+ result = generator(
24
+ prompt,
25
+ max_length=max_length,
26
+ temperature=temperature,
27
+ num_return_sequences=1,
28
+ pad_token_id=generator.tokenizer.eos_token_id
29
+ )
30
+ return result[0]['generated_text']
31
+ except Exception as e:
32
+ return f"Error: {str(e)}"
33
+
34
+ # Create Gradio interface
35
+ with gr.Blocks(theme=gr.themes.Soft()) as demo:
36
+ gr.Markdown("# 🤖 Generative AI Text Generator")
37
+ gr.Markdown("Generate creative text using AI. Enter a prompt and adjust parameters.")
38
+
39
+ with gr.Row():
40
+ with gr.Column(scale=2):
41
+ prompt_input = gr.Textbox(
42
+ label="Enter your prompt",
43
+ placeholder="Once upon a time...",
44
+ lines=3
45
+ )
46
+
47
+ with gr.Row():
48
+ max_length_slider = gr.Slider(
49
+ minimum=20,
50
+ maximum=200,
51
+ value=100,
52
+ step=10,
53
+ label="Max Length"
54
+ )
55
+ temperature_slider = gr.Slider(
56
+ minimum=0.1,
57
+ maximum=1.5,
58
+ value=0.7,
59
+ step=0.1,
60
+ label="Temperature"
61
+ )
62
+
63
+ generate_btn = gr.Button("Generate Text", variant="primary")
64
+
65
+ with gr.Column(scale=2):
66
+ output_text = gr.Textbox(
67
+ label="Generated Text",
68
+ lines=10,
69
+ interactive=False
70
+ )
71
+
72
+ # Examples
73
+ gr.Examples(
74
+ examples=[
75
+ ["In a world where AI and humans coexist,"],
76
+ ["The future of technology will be"],
77
+ ["Once upon a time in a digital realm,"]
78
+ ],
79
+ inputs=prompt_input
80
+ )
81
+
82
+ generate_btn.click(
83
+ fn=generate_text,
84
+ inputs=[prompt_input, max_length_slider, temperature_slider],
85
+ outputs=output_text
86
+ )
87
+
88
+ if __name__ == "__main__":
89
+ demo.launch()