Spaces:
Running
Running
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() |