Spaces:
Running
Running
import os | |
import gradio as gr | |
import openai | |
openai_key = os.environ.get('OpenAI') | |
openai.api_key = openai_key | |
myTitle = "✏️ Schreif mer e Gedicht ! 🇱🇺" | |
myDescription = "### Beschreif an e puer Wierder wéi ee Gedicht den <a href='https://en.wikipedia.org/wiki/GPT-3'>AI-Model GPT-3 vun OpenAI</a> Dir schreiwen soll. Probéier richteg Lëtzebuergesch ze schreiwen fir d'Text-Generatioun ze optiméieren. Du kanns Dir vum <a href='https://spellchecker.lu/online-checker/'>Spellchecker</a> oder <a href='https://lod.lu'>LOD</a> dobäi hëllefen loossen. Respektéier d'<a href='https://beta.openai.com/docs/usage-guidelines/app-review'>Reegelen vun OpenAI</a> a vermeit Themen wéi Haass, Gewalt, Mobbing asw fir dass meng App net vun OpenAI blockéiert gëtt. Vill Spaass!" | |
myArticle = "<h3>Informatiounen iwwert d'Text2Text Technologie.</h3><p>Text-Generatoren op Basis vun neuronalen Netzer existéieren zënter e puer Joren. D'Fachwelt huet gestaunt wéi OpenAI am Mee 2020 säin Sproochmodell GPT-3 virgestallt huet. Et war deemols de komplexeste AI Modell, dee mat dem Wëssen vum ganzen Internet trainéiert gouf an 175 Milliarden Parameter opweist, duebel esou vill wéi e mënschlecht Gehier Neuronen huet (86 Milliarden am beschten Alter).</p><p>An der Zweschenzäit goufen etlech ähnlech Modeller entweckelt, zum Beispill <a href='https://bigscience.huggingface.co/blog/bloom'>BLOOM vun BigScience</a> (open-source), <a href='https://ai.facebook.com/blog/democratizing-access-to-large-scale-language-models-with-opt-175b/'>OPT-175B vun Meta AI</a>, <a href='https://www.forefront.ai/blog-posts/gpt-j-6b-an-introduction-to-the-largest-open-sourced-gpt-model'>GPT-J vun EleutherAI</a> (open-source), <a href='https://research.aimultiple.com/wu-dao/'>Wu Dao 2.0 vun BAAI</a>, <a href='https://analyticsindiamag.com/google-glam-vs-deepmind-gopher-who-wins-the-large-language-model-race/'>GLaM vun Google an Gopher vun Deepmind</a>. En AI-Sproochmodell kann Froen an verschiddenen Sproochen beäntwerten, Texter fir Bloggs an Zeitungsartikelen schreiwen, Dokumenter verbesseren a resuméieren, an esouguer akademesch Theesen generéieren.</p><p>D'Performance vum GPT-3 Modeel, besonnesch wat Lëtzebuergesch Sprooch ubelaangt, gouf awer bis elo net getoppt.</p><p>Ech hunn dës kleng Demo programméiert, fir dass all Sproochmates sech selwer e Bild kann maachen, wéi gutt oder schlecht e neuronalt Netz mam Input vun e puer Wierder en Text op Lëtzebuergesch a Form vun engem Gedicht kann generéieren. Hei sinn e puer Beispiller vun Resultater vu mengen Tester:</p><table><tr><th>en Toaster deen sech an en Hond verléift huet</th><th>eng Blumm där hire gréisste Wonsch ass ze fléien</th><th>eng Giraff déi traureg ass well se hire Puppelchen verluer huet</th><th>zwee kleng Huesen déi Angscht vun der Däischtert hunn</th></tr><tr><td>Kléng Hond, kleng Toaster,<br>Zwee Léifste vun der Welt.<br>Toaster huet sech an Hond verléift,<br>Hond och an den Toaster.<br>Ganz allgemeng gesot: et ass Liebe!</td><td>D'Blumm wënscht sech ze fléien,<br>duerch d'Loft an hinne bei den Himmel.<br>Si gesäit all Dag op,<br>wéi d'Vullen a Fiedere vun hirem Wonsch erfëllt ginn.</td><td>D'Giraff huet hire Puppelchen verluer<br>An dat ass eng Schued.<br>Mee si huet et net lass,<br>An huet weidergeschafft.<br><br>D'Giraff huet hire Puppelchen verluer,<br>An et war schrecklech fir si.<br>Mee si huet et net opgereegt,<br>An huet weidergekämpft</td><td>Däischtert kënnt, Angscht ëmfaasst eis,<br>Huesen déi kleng a schwaach si.<br>Eis Kierperchen zitt sech zesummen,<br>Kopf an Hals verstecken se.<br>Bange Bléck erof op d'Plack,<br>Wann Däischtert nees virun der Tür steet.</td></tr></table><br>Den 18 Oktober 2022 krut ech vun OpenAI eng bedingt Genehmegung fir dës Demo-App ze starten. Ech hunn elo 30 Deeg Zäit fir Filteren an Session ID's ze integréieren.<br>Fir de System ze verbesseren ginn et zwou Optiounen: Et kann een éischtens e Fine-Tuning vum GPT-3 Modell duerchféieren mat engem Training vun zousätzlechen Lëtzebuerger Texter. Zweetens kann een d'Resultater korrigéieren mat Hëllef vun engem Tool wéi <a href='https://github.com/questoph/spellux'>Spellux</a>.<br>Den 9 November 2022 huet OpenAI mer matgedeelt dass eng Approbatioun net méi noutwendeg ass." | |
prompt_start = "Schreif mer e Gedicht op Lëtzebuergesch iwwert " | |
myExamples = [ | |
"eng Blumm där hire gréisste Wonsch ass ze fléien", | |
"eng Giraff déi traureg ass well se hire Puppelchen verluer huet", | |
"zwee kleng Huesen déi Angscht vun der Däischtert hunn" | |
] | |
def create(thema): | |
poem = openai.Completion.create( | |
model="text-davinci-003", | |
prompt=prompt_start + thema +':', | |
temperature=0.7, | |
max_tokens=200, | |
top_p=0.8, | |
frequency_penalty=1, | |
presence_penalty=1 | |
) | |
gedicht = poem['choices'][0]['text'] | |
return gedicht | |
myInput = gr.Textbox(label='Thema', value='en Toaster deen sech an en Hond verléift huet') | |
myOutput = gr.Textbox(label='Gedicht') | |
demo = gr.Interface( | |
fn=create, | |
inputs=myInput, | |
outputs=myOutput, | |
title=myTitle, | |
description=myDescription, | |
article=myArticle, | |
examples=myExamples | |
) | |
demo.launch() |