Story_Generator / app.py
TNK21's picture
Update app.py
b89dcf1
import gradio as gr
from transformers import pipeline
# Load the text generation model
text_generator = pipeline("text-generation", model="gpt2")
# Define the function for story generation
def generate_story(prompt, word_count):
# Calculate the maximum length based on word count
max_length = word_count + len(prompt.split())
# Generate a story based on the user's prompt and word count
generated_text = text_generator(prompt, max_length=max_length, num_return_sequences=1)[0]['generated_text']
return generated_text
# Define example inputs for the Gradio interface
example_inputs = [
["Once upon a time, in a magical forest, there was a curious rabbit named Oliver.", 100],
["Amidst the hustle and bustle of a busy city, there lived a lonely street musician.", 150],
["On a distant planet, explorers discovered an ancient alien artifact buried in the sand.", 200],
["Hidden in the attic of an old house, a forgotten journal revealed a family secret.", 250],
["In a futuristic world, a brilliant scientist invented a time-traveling device.", 300],
["Deep in the ocean, an underwater explorer encountered a mysterious and ancient creature.", 350]
]
# Create a Gradio interface with examples and a word count slider
iface = gr.Interface(
fn=generate_story,
inputs=[
gr.components.Textbox(label="Prompt"),
gr.components.Slider(minimum=50, maximum=500, default=100, label="Word Count")
],
outputs="text",
title="Story Generator with Word Count",
description="Enter a prompt and select the word count to generate a story.",
examples=example_inputs
)
# Launch the interface
iface.launch()