Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import openai | |
| def generate_script(api_key, name1, name2, situation): | |
| # Initialize OpenAI API with the provided key | |
| openai.api_key = api_key | |
| # Define the example script to set the context | |
| example_script = ( | |
| "Setting: A cafe\n\n" | |
| "Scene:\n\n" | |
| "(Lights come up on a cozy little coffee shop. LOUIS and GIRL are sitting at a small table, with two untouched coffees between them. " | |
| "It's clear from their expressions that the awkwardness from the previous scene hasn't worn off.)\n\n" | |
| "LOUIS. (Attempting to break the ice) So, um... do you come to this coffee shop often?\n" | |
| "GIRL. (Coldly) No, not really.\n" | |
| "LOUIS. Oh. Well, they have the best almond croissants here. You should try one, sometime.\n" | |
| "GIRL. (Slightly warming up) I'm more of a bagel person, actually.\n" | |
| "LOUIS. Really? Me too! What's your favorite kind?\n" | |
| "GIRL. Plain. With cream cheese.\n" | |
| "LOUIS. Nice choice. I like mine with a bit of jam.\n" | |
| "(A brief pause as they both sip their coffee, seemingly more at ease.)\n\n" | |
| "LOUIS. (Hesitant) Look, I'm sorry about earlier... I don't know why I was acting like such a jerk.\n" | |
| "GIRL. (Softening) It's alright. People can act strange when they meet someone new.\n" | |
| "LOUIS. Yeah. It's just... I've been feeling kind of... out of place lately. And I guess I was trying too hard to impress you.\n" | |
| "GIRL. You don't have to impress me, Louis. Just be yourself.\n" | |
| "(LOUIS smiles shyly and looks down at his coffee. The GIRL does too, and for a moment, there's a comfortable silence between them.)\n\n" | |
| "LOUIS. So... do you have any plans for the weekend?\n" | |
| "GIRL. (Smiling) Not much. Just taking my dog to the park. Maybe catch a movie later. How about you?\n" | |
| "LOUIS. Same here. Minus the dog, though.\n" | |
| "GIRL. (Laughs) Well, maybe you can join me. And who knows, you might just enjoy the simple joy of a walk in the park.\n" | |
| "LOUIS. (Smiling) I'd like that.\n\n" | |
| "(As they continue chatting, the lights dim, suggesting the budding of a new connection between LOUIS and GIRL.)\n\n" | |
| "(Blackout)\n" | |
| ) | |
| # Define the prompt to transform the user's inputs into a stage play script | |
| prompt_text = ( | |
| f"{example_script}\n\n" | |
| f"Generate a new stage play script based on the following details:\n" | |
| f"Location: Cafe\n" | |
| f"Character 1: {name1}\n" | |
| f"Character 2: {name2}\n" | |
| f"Situation: {situation}\n" | |
| ) | |
| # Use OpenAI's Completion endpoint to generate the stage play script | |
| response = openai.Completion.create(engine="davinci", prompt=prompt_text, max_tokens=500) | |
| script = response.choices[0].text.strip() | |
| return script | |
| # Define Gradio Interface | |
| iface = gr.Interface( | |
| fn=generate_script, | |
| inputs=[ | |
| gr.components.Textbox(label="OpenAI API Key", type="password"), | |
| gr.components.Textbox(label="Name 1", type="text"), | |
| gr.components.Textbox(label="Name 2", type="text"), | |
| gr.components.Textbox(label="Situation", type="text"), | |
| ], | |
| outputs=gr.components.Textbox(label="Generated Stage Play Script", type="text"), | |
| live=True, | |
| title="Stage Play Script Generator", | |
| description="Generate a stage play script set in a cafe based on given characters and situation using OpenAI!", | |
| progress="Generating stage play script...", | |
| ) | |
| # Launch the Gradio app | |
| iface.launch() | |