PoemGenerator / app.py
Preeti Dave
.
e3786a8
import gradio as gr
from transformers import pipeline
# Load a poetry-specific model
generator = pipeline("text-generation", model="gpt2")
# Function to generate poems based on a prompt and form
def generate_poem(prompt, form):
# Add more specific prompt tuning based on the selected form
if form == "Sonnet":
prompt = f"Write a sonnet about {prompt}"
elif form == "Haiku":
prompt = f"Write a haiku about {prompt}"
elif form == "Limerick":
prompt = f"Write a limerick about {prompt}"
else: # Free Verse
prompt = f"Write a free verse poem about {prompt}"
poem = generator(prompt, max_length=150, num_return_sequences=1)['generated_text'] # Increased max_length
return poem.strip()
# Gradio interface with dropdown for poetic forms
iface = gr.Interface(
fn=generate_poem,
inputs=[
gr.Textbox(lines=2, placeholder="Enter a prompt for your poem here...", label="Poem Prompt"),
gr.Dropdown(choices=["Sonnet", "Haiku", "Limerick", "Free Verse"], label="Poetic Form")
],
outputs="text",
title="Poem Generator",
description="Generate poems with AI. Provide a prompt and let the AI create a poem for you!",
)
# Launch the Gradio app
iface.launch(share=True)