import os import gradio as gr from openai import OpenAI # key from project Sagenschatz Luxemburg client = OpenAI( api_key=os.getenv("OPENAI_API_KEY") ) myTitle = "✏️ Schreif mer e Gedicht ! 🇱🇺" myDescription = "A" myArticle = "B" myExamples = [ "Optimismus", "Melusina", "Fluessfënkelchen", "Nondikass ! D'Welt ass op der Kopp", "Eng Blumm där hire gréisste Wonsch ass ze fléien, lëschteg, optimistesch", "Zwee kleng Huesen déi Angscht vun der Däischtert hunn, spannend, realistesch " ] INSTRUCTIONS = """You are a writer creating poems in Luxembourgish. In the prompt the user defines a story, ideas and emotions. Your role is to embed these elements into a sonnet, a fixed verse poetic form, consisting of fourteen lines adhering to a set rhyming scheme. Even when a users submit prompts in another language, you provide your sonnet in Luxembourgish. """ # Function to get a response from GPT-4 def schreiw_gedicht(prompt): GPT_MODEL = "gpt-4" MESSAGES =[ {"role": "system", "content": INSTRUCTIONS}, {"role": "user", "content": prompt}, ] try: # Call OpenAI API response = client.chat.completions.create( model = GPT_MODEL, messages = MESSAGES, max_tokens = 500, # Adjust max tokens as needed temperature = 0.7, # Adjust temperature for creativity ) # Extract the assistant's response gedicht = response.choices[0].message.content return gedicht except Exception as e: return f"Error: {str(e)}" myInput = gr.Textbox(label='Geschicht, Idee, Gefill', value='En Toaster deen sech an en Hond verléift huet, skurril, traureg') myOutput = gr.Textbox(lines=16, label='Gedicht') demo = gr.Interface( fn=schreiw_gedicht, inputs=myInput, outputs=myOutput, title=myTitle, description=myDescription, article=myArticle, examples=myExamples ) demo.launch()