mbarnig's picture
Update app.py
c6afcba verified
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 = """Beschreif an e puer Wierder wéi ee Gedicht den OpenAI-Modell GPT-4o-2024-08-06 (Kënschtlech Intelligenz) Dir schreiwe soll. Probéier richteg Lëtzebuergesch ze schreiwe fir d'Text-Generatioun ze optiméieren. Du kanns Dir vum [Spellchecker](https://spellchecker.lu) oder [LOD](https://lod.lu) dobäi hëllefe loossen. Respektéier d'Reegele vun OpenAI a vermeit Theme wéi Haass, Gewalt, Mobbing asw, fir dass meng Demo-App net vun OpenAI blockéiert gëtt.
Verrechnung vun der Benotzung vum Modell GPT-4o baséiert op Tokens. En Token ass en Deel vun engem Wuert. 1000 Token entsprieche beim Gedicht ongeféier 315 Wierder. Beim Modell GPT-4o-2024-08-06 kascht eng Millioun Token 2.50 Dollar als Input an 15 Dollar als Output. Am Duerchschnëtt huet e Gedicht 330 Token an de Präis ass 6 Cents.
Ech bezuelen d'Käschte vun OpenAI aus menger eegener Täsch. Fir net ze ruinéieren hunn ech e Plaffong fir d'Rechnung gesat.
Ass de Plaffong iwwerschratt erfollegt eng Feelermeldung beim Benotze vun der App. Ech appelléieren un d'Fairness vun all Benotzer beim Dichten net ze iwwerdreiwe fir dass jidder Interessent un der Lëtzebuerger Sprooch et kann ausprobéieren.
Ech si mer bewosst dass lëtzebuergesch Schreifweis vum ChatGPT-4o nach vill ze wënsche léisst. Ech probéieren ob een duerch Training mat Lëtzebuerger Poesie d'Performancë vun dëser App ka verbesseren.
Kommentaren a Likes um HuggingFace si wëllkomm.
Vill Spaass beim Dichten.
"""
myArticle = "E klenge [Réckbléck](https://www.rtl.lu/kultur/news/a/1982114.html) op den Ufank vun der App  am November 2022."
myExamples = [
"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",
"Renert oder de Fuuss am Frack an a Maansgréisst",
"Nondikass ! D'Welt ass op der Kopp",
"Melusina am Pafendall",
"E Fluessfénkelchen am Gaart"
]
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-4o-2024-08-06"
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 Hond deen sech an en Toaster verléift huet')
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()