Spaces:
Sleeping
Sleeping
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) | |