Spaces:
Sleeping
Sleeping
File size: 1,488 Bytes
c5114dd f8df04e c5114dd f8df04e c5114dd f8df04e c5114dd f8df04e c5114dd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# Install necessary libraries
!pip install -q gradio
!pip install -q transformers
!pip install -q gtts
# Import libraries
import gradio as gr
from transformers import pipeline
from gtts import gTTS
from io import BytesIO
from IPython.display import Audio
# Create a text generation pipeline with GPT-2
story_generator = pipeline("text-generation", model="EleutherAI/gpt-neo-1.3B")
# Set the context for the storyteller
messages = [{"role": "system", "content": "You are a magical storyteller, creating wonderful tales for kids. Make them imaginative and full of joy!"}]
# Define the Storyteller function
def StorytellerGPT(tell_story):
messages.append({"role": "user", "content": tell_story})
# Generate story using Hugging Face's GPT-2
story_reply = story_generator(tell_story, max_length=100, num_return_sequences=1)[0]['generated_text']
messages.append({"role": "assistant", "content": story_reply})
# Convert text to speech
tts = gTTS(text=story_reply, lang='en', slow=False)
audio_io = BytesIO()
tts.save(audio_io)
audio_io.seek(0)
return story_reply, Audio(data=audio_io.read(), autoplay=True)
# Create the Gradio Interface
demo = gr.Interface(
fn=StorytellerGPT,
inputs="text",
outputs=["text", "audio"],
title="π Storytelling Magic",
description="A magical storyteller app for kids! Type a sentence, and let the app create an enchanting story for you."
)
# Launch the Gradio Interface
demo.launch()
|