rahul7star commited on
Commit
c3d1590
·
verified ·
1 Parent(s): b605a79

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -61
app.py CHANGED
@@ -1,63 +1,43 @@
1
- # import gradio as gr
2
- # import random
3
- # from datasets import load_dataset
4
- # from transformers import pipeline
5
-
6
- # # Load Hindi Poetry Dataset
7
- # dataset = load_dataset("rahul7star/hindi-poetry")
8
- # poems = dataset["train"]
9
-
10
- # def get_random_poem():
11
- # poem = random.choice(poems)
12
- # return f"**{poem['poet']} ({poem['category']})**\n\n{poem['poem']}"
13
-
14
- # # Load Text Generation Model
15
- # # Load Text Generation Model
16
- # text_generator = pipeline("text-generation", model="rahul7star/hindi_poetry_language_model")
17
-
18
-
19
- # def generate_poem(prompt):
20
- # result = text_generator(prompt, max_length=100, do_sample=True, temperature=0.7)
21
- # return result[0]["generated_text"]
22
-
23
- # # Gradio UI
24
- # demo = gr.Interface(
25
- # title="📜 हिंदी कविता जनरेटर",
26
- # description="देखें हिंदी कविताएँ और अपनी खुद की कविता बनाएं!",
27
- # theme="huggingface",
28
- # fn=generate_poem,
29
- # inputs=gr.Textbox(placeholder="अपनी कविता की शुरुआत लिखें...", label="कविता की शुरुआत"),
30
- # outputs=gr.Textbox(label="उत्पन्न कविता"),
31
- # examples=[["प्रकृति की सुंदरता"], ["प्रेम की निशानी"]],
32
- # live=True
33
- # )
34
-
35
- # # Add button to display a random poem
36
- # demo.launch(share=True)
37
  import gradio as gr
38
- from fastai.text.all import load_learner
39
- from huggingface_hub import hf_hub_download
40
- # Download model and tokenizer from HF
41
- model_path = hf_hub_download("rahul7star/hindi_poetry_language_model", filename="model.pkl")
42
- #tokenizer_path = hf_hub_download("rahul7star/Rahul-FineTunedLLM-v03", filename="tokenizer/tokenizer.pkl")
43
-
44
- # Load the learner from Hugging Face
45
- learn = load_learner(model_path)
46
-
47
- # Step 9: Define Gradio interface to generate poems based on theme
48
- def generate_poem_gradio(theme):
49
- # Generate a poem based on the theme input
50
- text = learn.predict(theme)[0]
51
- return text
52
-
53
- # Define the Gradio interface
54
- import gradio as gr
55
-
56
- iface = gr.Interface(
57
- fn=generate_poem_gradio, # Function to call for generating poems
58
- inputs="text", # User input will be a text field (theme)
59
- outputs="text", # Output will be the generated poem
60
- title="Hindi Poem Generator",
61
- description="Enter a theme (in Hindi), and get a poem generated based on that theme."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  )
63
- iface.launch(share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
+
5
+ # 1️⃣ Load Model & Tokenizer from Hugging Face Hub
6
+ model_name = "rahul7star/hindi_poetry_language_model"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+
10
+ # Ensure model uses the correct pad token
11
+ model.config.pad_token_id = tokenizer.pad_token_id
12
+
13
+ # 2️⃣ Function to Generate Hindi Poetry
14
+ def generate_poetry(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.95):
15
+ input_ids = tokenizer(prompt, return_tensors="pt").input_ids
16
+ with torch.no_grad():
17
+ output = model.generate(
18
+ input_ids,
19
+ max_length=max_length,
20
+ temperature=temperature,
21
+ top_k=top_k,
22
+ top_p=top_p,
23
+ pad_token_id=tokenizer.pad_token_id
24
+ )
25
+ return tokenizer.decode(output[0], skip_special_tokens=True)
26
+
27
+ # 3️⃣ Gradio Interface
28
+ interface = gr.Interface(
29
+ fn=generate_poetry,
30
+ inputs=[
31
+ gr.Textbox(label="Enter Prompt", placeholder="Start your Hindi poem..."),
32
+ gr.Slider(50, 500, step=10, value=100, label="Max Length"),
33
+ gr.Slider(0.1, 1.5, step=0.1, value=0.7, label="Temperature"),
34
+ gr.Slider(1, 100, step=1, value=50, label="Top-k Sampling"),
35
+ gr.Slider(0.1, 1.0, step=0.05, value=0.95, label="Top-p Sampling"),
36
+ ],
37
+ outputs=gr.Textbox(label="Generated Hindi Poem"),
38
+ title="Hindi Poetry Generator ✨",
39
+ description="Generate beautiful Hindi poetry using a fine-tuned GPT-2 model. Just enter a prompt and adjust parameters for creative variations!",
40
  )
41
+
42
+ # 4️⃣ Run the Gradio App
43
+ interface.launch(share=True)