Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,7 +4,6 @@ import torch
|
|
4 |
import random
|
5 |
from datasets import load_dataset
|
6 |
from transformers import GPT2LMHeadModel, GPT2Tokenizer
|
7 |
-
import torch
|
8 |
|
9 |
# Load dataset
|
10 |
dataset = load_dataset("rahul7star/hindi-poetry")["train"]
|
@@ -14,14 +13,6 @@ model_name = "rahul7star/hindi_poetry_language_model"
|
|
14 |
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
|
15 |
model = GPT2LMHeadModel.from_pretrained(model_name)
|
16 |
|
17 |
-
# 1️⃣ Load Model & Tokenizer from Hugging Face Hub
|
18 |
-
# model_name = "rahul7star/hindi_poetry_language_model"
|
19 |
-
# tokenizer = AutoTokenizer.from_pretrained(model_name)
|
20 |
-
# model = AutoModelForCausalLM.from_pretrained(model_name)
|
21 |
-
|
22 |
-
# Ensure model uses the correct pad token
|
23 |
-
#model.config.pad_token_id = tokenizer.pad_token_id
|
24 |
-
|
25 |
# 2️⃣ Function to Generate Hindi Poetry
|
26 |
def generate_poetry_base(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.95):
|
27 |
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
|
@@ -41,7 +32,6 @@ def generate_poetry(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.9
|
|
41 |
with torch.no_grad():
|
42 |
output = model.generate(
|
43 |
input_ids,
|
44 |
-
|
45 |
max_length=max_length,
|
46 |
temperature=temperature, # Increased randomness
|
47 |
top_p=top_p,
|
@@ -54,11 +44,8 @@ def generate_poetry(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.9
|
|
54 |
)
|
55 |
return tokenizer.decode(output[0], skip_special_tokens=True)
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
# Poetry Generation Function with Random Selection from Dataset and Explicit 4-Line Structure
|
61 |
-
def generate_random_poem(num_lines=4, max_length=150, temperature=1.0, top_p=0.9):
|
62 |
# Randomly select a line from the dataset
|
63 |
random_line = random.choice(dataset["poem"])
|
64 |
|
@@ -111,16 +98,9 @@ def generate_random_poem(num_lines=4, max_length=150, temperature=1.0, top_p=0.9
|
|
111 |
|
112 |
return final_poem
|
113 |
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
# 3️⃣ Gradio Interface
|
121 |
interface = gr.Interface(
|
122 |
-
|
123 |
-
fn=generate_random_poem(num_lines=4),
|
124 |
inputs=[
|
125 |
gr.Textbox(label="Enter Prompt", placeholder="Start your Hindi poem..."),
|
126 |
gr.Slider(50, 500, step=10, value=100, label="Max Length"),
|
@@ -130,7 +110,7 @@ interface = gr.Interface(
|
|
130 |
],
|
131 |
outputs=gr.Textbox(label="Generated Hindi Poem"),
|
132 |
title="Hindi Poetry Generator ✨",
|
133 |
-
description="Generate beautiful Hindi poetry Just enter a prompt and adjust parameters
|
134 |
)
|
135 |
|
136 |
# 4️⃣ Run the Gradio App
|
|
|
4 |
import random
|
5 |
from datasets import load_dataset
|
6 |
from transformers import GPT2LMHeadModel, GPT2Tokenizer
|
|
|
7 |
|
8 |
# Load dataset
|
9 |
dataset = load_dataset("rahul7star/hindi-poetry")["train"]
|
|
|
13 |
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
|
14 |
model = GPT2LMHeadModel.from_pretrained(model_name)
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
# 2️⃣ Function to Generate Hindi Poetry
|
17 |
def generate_poetry_base(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.95):
|
18 |
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
|
|
|
32 |
with torch.no_grad():
|
33 |
output = model.generate(
|
34 |
input_ids,
|
|
|
35 |
max_length=max_length,
|
36 |
temperature=temperature, # Increased randomness
|
37 |
top_p=top_p,
|
|
|
44 |
)
|
45 |
return tokenizer.decode(output[0], skip_special_tokens=True)
|
46 |
|
|
|
|
|
|
|
47 |
# Poetry Generation Function with Random Selection from Dataset and Explicit 4-Line Structure
|
48 |
+
def generate_random_poem(prompt, num_lines=4, max_length=150, temperature=1.0, top_p=0.9):
|
49 |
# Randomly select a line from the dataset
|
50 |
random_line = random.choice(dataset["poem"])
|
51 |
|
|
|
98 |
|
99 |
return final_poem
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
# 3️⃣ Gradio Interface
|
102 |
interface = gr.Interface(
|
103 |
+
fn=generate_random_poem, # Use function directly without calling it
|
|
|
104 |
inputs=[
|
105 |
gr.Textbox(label="Enter Prompt", placeholder="Start your Hindi poem..."),
|
106 |
gr.Slider(50, 500, step=10, value=100, label="Max Length"),
|
|
|
110 |
],
|
111 |
outputs=gr.Textbox(label="Generated Hindi Poem"),
|
112 |
title="Hindi Poetry Generator ✨",
|
113 |
+
description="Generate beautiful Hindi poetry. Just enter a prompt and adjust parameters. Example: 'मैया मोरी'",
|
114 |
)
|
115 |
|
116 |
# 4️⃣ Run the Gradio App
|