ID.nl logo
Programmeren in Python met ChatGPT - Deel 4
© Alexander Limbach
Huis

Programmeren in Python met ChatGPT - Deel 4

ChatGPT is niet alleen in staat om vragen te beantwoorden, teksten samen te vatten en tags aan teksten toe te kennen. Je kunt er ook teksten mee vertalen of naar andere vormen transformeren. In dit vierde deel van onze reeks over de OpenAI-API tonen we je hoe je dat doet in Python.

In dit vierde deel laten we zien dat ChatGPT prima teksten kan omzetten:

  • In een vertaling
  • In een gedicht
  • In een computertaal
  • Taalherkenning
  • Aanspreekvorm veranderen

Lees ook: Geen talenknobbel (meer)? Deze (ver)taaltools helpen je uit de brand

Code downloaden In dit deel worden wat voorbeelden van stukken code gegeven. Omdat overtikken van code erg foutgevoelig is, kun je die code beter downloaden en daarna bekijken of kopiëren. Het bestand, gptcode-dl4.txt is beschikbaar via deze webpagina.

Een groot taalmodel, zoals dat van ChatGPT, kun je eigenlijk beschouwen als een soort krachtige rekenmachine die niet met getallen werkt, maar met woorden. Daardoor kun je tekst omzetten in een ander soort tekst. Een tekst van het Engels naar het Nederlands vertalen? Van een familiaire naar een formele toon? Of, als je met programmeertalen werkt, van tekst naar een tabel in HTML? Het is allemaal mogelijk en vrij eenvoudig in je eigen programma’s te integreren.

Basiscode

In dit vierde deel van deze reeks houden we onze code eenvoudig, zodat we de variëteit van transformaties van teksten kunnen illustreren die met de OpenAI-API mogelijk zijn. We gaan dus geen Word-bestanden inlezen, maar de te transformeren teksten als korte strings in onze code zetten.

Voor alle voorbeelden in dit artikel gebruiken we daarom de volgende basiscode:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

Deze code gebruikten we ook al in het derde deel van deze reeks. Vervang de waarde van API_KEY door je eigen API-sleutel en kies eventueel een ander model dan gpt-3.5-turbo. Zo is het model gpt-4 taalkundig veel sterker, maar dat kost wel meer.

GPT-4 is taalkundig sterker dan GPT-3.5, maar wel een factor twintig duurder.

Vertaalmachine

Als we hiermee een tekst willen vertalen, hebben we een systeemprompt nodig met de vertaalopdracht en een gebruikersprompt met de te vertalen tekst. Dat doe je door de volgende regels code aan het einde van de basiscode toe te voegen:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

Sla het script onder de naam translate.py op in Visual Studio Code met Ctrl+S en open een opdrachtregel met het menu Terminal / New Terminal. Klik dan rechtsboven op het afspeelknopje (het driehoekje met de tooltip Run Python File als je erboven blijft hangen). Als alles goed gaat, krijg je nu in de terminal een Nederlandse vertaling van de Engelse tekst.

Dichterlijke vrijheid

Dat vertalen hoeft niet altijd heel letterlijk te zijn. Je kunt ook vragen om een haiku te maken die een tekst beschrijft:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

We hebben als gebruikersprompt gewoon de lead van een artikel van de website van NRC ingevoerd. Het taalmodel maakt daarvan de volgende haiku:

Wagnerstrijders gaan,

Onder de rook van Moskou,

Putsch nek omgedraaid.

Op deze manier zou je een programma kunnen schrijven dat je elke ochtend het nieuws in de vorm van haiku’s toont.

Universele vertaalmachine

De taalmodellen van OpenAI zijn getraind op teksten in allerlei talen en die talen worden zelfs automatisch herkend. Merk op dat we in de systeemprompt van ons vertaalscript niet vroegen om de tekst van het Engels naar het Nederlands te vertalen. We vroegen simpelweg om de tekst naar het Nederlands te vertalen. Dat had ook gewerkt als we een Franse tekst of een tekst in een andere taal hadden opgegeven als gebruikersprompt.

Taalbarrière?

Met een vertaalapparaat kom je er altijd uit

Die mogelijkheid om de taal te herkennen kunnen we ook gebruiken. We vragen dan eerst wat de taal is van de gegeven tekst en vragen dan pas om die te vertalen. We kunnen die laatste opdracht zelfs nog explicieter maken door te vragen om uit de herkende taal te vertalen. Dat ziet er dan als volgt uit, met enkele voorbeelden in verschillende talen:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

Zoals je ziet, zijn we in LANGUAGE_PROMPT vrij expliciet geweest. Als we gewoon vragen “What language is this?”, krijgen we antwoorden als “This is Chinese” of “This language is Italian”. Dat willen we niet. Ook een antwoord als “French.” met een punt op het einde willen we zo vermijden, maar zelfs na het expliciet te vragen blijft het taalmodel dit meestal met een punt eindigen. Daarom dat we met rstrip(".") dit nog verwijderen.

Sla een andere toon aan

Je kunt met taal allerlei registers bespelen. In een formele sollicitatiebrief sla je een andere toon aan dan in een appje naar je vrienden. Ook daarmee kunnen de taalmodellen van OpenAI aan de slag. Je kunt een tekst eenvoudig naar een andere toon omzetten. Een voorbeeld maakt dit duidelijk:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

Computertalen omzetten

Op dezelfde manier kunnen we computertalen vertalen. Maar een omzetting van bijvoorbeeld JSON naar HTML doe je beter met een Python-bibliotheek die daarin gespecialiseerd is. Waar taalmodellen wel goed in zijn, is het omzetten van een tekstuele beschrijving van een gebruiker naar een computertaal. Stel dat je in een programma bestellingen van een gebruiker opneemt, dan kun je het resultaat naar een tabel in HTML laten omzetten:

De code kun je bekijken in het bestand gptcode-dl4.txt, te downloaden via .

Het resultaat is inderdaad een HTML-bestand met een tabel met de juiste gegevens.

Maak een HTML-tabel op basis van een tekst.

En verder

Teksten transformeren, in alle mogelijke vormen, is een krachtige functie waarvoor je ChatGPT en dus ook de achterliggende taalmodellen via de OpenAI-API kunt inzetten. Zo breid je eenvoudig je eigen programma’s uit met allerlei transformaties van teksten. We hebben hier nog maar een kleine greep van de mogelijkheden getoond. Titels beschrijven in emoji’s? Handleidingen naar gedichten omzetten? Tweeten in de stijl van Donald Trump? Het is zo gebeurd.

Volgende week maandag het vijfde en laatste deel van deze reeks! Hierin gaan we de OpenAI-API nog interactiever toepassen en echte gesprekken voeren.

Lees ook:

▼ Volgende artikel
Kerststress? In één uur je huis klaar voor de visite
© deagreez - stock.adobe.com
Huis

Kerststress? In één uur je huis klaar voor de visite

Het is bijna kerst en tussen het regelen van de laatste boodschappen door kijk je om je heen. De post ligt nog op tafel, er slingert speelgoed rond en een grote schoonmaak gaat niet meer lukken. Toch wil je dat je gasten in een net huis binnenkomen. Met een strak plan kun je in precies zestig minuten de perfecte illusie van een schoon huis creëren. Zet de timer, doe je favoriete muziek aan en ga aan de slag.

Dit gaan we doen

We focussen op wat je bezoek ziet en gebruikt. De hal en woonkamer ruimen we snel op, zonder alles schoon te boenen. Het toilet maken we fris in een paar minuten en in de keuken werken we rommel uit het zicht. Met licht, geur en frisse lucht zorgen we tot slot voor sfeer. Om het je extra makkelijk te maken, vind je onderaan een handig tijdschema.

Lees ook: 🎄 De kerstboom versieren: zo doe je dat snel én slim

Je begint waar je gasten binnenkomen. De hal is vaak een rommelige plek, zeker in de winter. Pak een grote mand of krat en gooi daar alles in wat er niet hoort: sjaals die niemand draagt, post, sleutels en rondslingerende tassen. Zet die mand tijdelijk weg in de berging, schuur of desnoods in je eigen kledingkast. Zorg dat er ruimte is aan de kapstok voor de jassen van je bezoek. Klop de deurmat even krachtig buiten uit en haal de stofzuiger snel door de gang. Als je hierna nog dertig seconden over hebt, veeg je met een doekje over de spiegel. Een schone spiegel en een lege vloer geven direct bij binnenkomst al het gevoel van een opgeruimd huis.

De woonkamer: sfeer boven perfectie

Door naar de plek waar jullie de meeste tijd zullen doorbrengen. In de woonkamer geldt nu de regel: opruimen is belangrijker dan boenen. Loop een rondje met een vuilniszak voor alles wat weg kan en een wasmand voor spullen die naar een andere kamer moeten. Maak de salontafel en bijzettafels helemaal leeg. Een leeg oppervlak oogt namelijk direct schoon, zelfs als je niet nat afneemt. Schud daarna de kussens op de bank flink op en vouw plaids netjes op. Haal de stofzuiger alleen door het midden van de kamer en langs de bank; vergeet de hoekjes en plinten, want daar kijkt vanavond niemand naar.

©Евгения Рубцова

Het toilet: kort maar krachtig

Dit is de enige plek waar je gasten echt even alleen zijn en stilzitten, dus hier moet het wel fris zijn. Gelukkig is de ruimte klein. Spuit wc-reiniger in de pot en laat dit even inwerken terwijl je de rest doet. Gebruik een wegwerpdoekje of een sopje voor de bril, de spoelknop, de deurklink en de kraan. Hang een schone handdoek op en controleer of er voldoende toiletpapier ligt. Heb je nog een geurkaarsje of geurstokjes? Zet die dan hier neer. Als het lekker ruikt, voelt je toilet al snel schoner aan.

Puntjes op de i in de keuken

Je hebt nu nog een kwartier over. Snel door naar de keuken. Zorg allereerst dat het aanrecht helemaal leeg is. Als het niet meer lukt om alles af te wassen, zet je de vuile vaat snel in de vaatwasser, ook als deze eigenlijk al vol is. Een andere slimme noodoplossing is om de vaat tijdelijk in een keukenkastje te verstoppen. Het gaat erom dat alles uit het zicht is. Haal tot slot nog even een doekje over het aanrecht en de kookplaat zodat alles weer fris oogt.

©APALKOV | MestoSveta - stock.adobe.com

Sfeer maken

Nu is het tijd voor de belangrijkste truc: het aanpassen van de verlichting. Dim de grote lampen en steek overal kaarsen en sfeerverlichting aan. Dat ziet er niet alleen heel gezellig uit, maar dat zachte licht zorgt er ook voor dat achtergebleven stof of verdwaalde kruimels niet meer opvallen. Tot slot doe je nog één ding voor de sfeer. Zet een raam op een kier voor frisse lucht of zet een pannetje op het vuur met wat water, kaneel en sinaasappelschil voor een heerlijke kerstgeur.

Klaar voor de bel

Kijk nu eens om je heen. Je huis is opgeruimd, het ruikt lekker en het is gezellig verlicht. Niemand die ziet dat je de bovenkant van de kasten hebt overgeslagen. Schenk wat te drinken voor jezelf in en adem uit. Laat die bel maar gaan!

TijdRuimteActieDe truc
00:00 - 00:10HalJassen weg, mat uitkloppen.Ruimte maken op de kapstok voor gasten
00:10 - 00:30WoonkamerRommel in mand, kussens opkloppen.Alleen het 'looppad' stofzuigen
00:30 - 00:45ToiletBril, klink en kraan poetsen.Schone handdoek en geurstokjes
00:45 - 00:55KeukenAanrecht leegmaken.Vaat verstoppen (tijdelijk!)
00:55 - 01:00SfeerLichten dimmen, kaarsen aan.Sinaasappelschillen koken voor de geur
▼ Volgende artikel
Verras je gasten: 5 keer de lekkerste koffie voor de feestdagen
© ID.nl
Huis

Verras je gasten: 5 keer de lekkerste koffie voor de feestdagen

Na een uitgebreid diner is de koffie vaak de afsluiter van de avond. In plaats van een standaard zwarte bak zet je met een paar simpele ingrediënten iets bijzonders op tafel. Je hoeft geen volleerd barista te zijn om indruk te maken; met wat kruiden of een restje chocolade geef je de koffie direct een feestelijke twist. Speciaal voor jou: vijf heerlijke koffierecepten.

Bij deze recepten draait het vooral om het contrast tussen de warme drank en de extra toevoegingen. Je kunt de smaken vaak al voorbereiden voordat de gasten aan tafel gaan, zodat je op het moment zelf niet te lang in de keuken staat. In de tabel onderin zie je telkens wat de basiskoffie voor een recept is en wat je extra toevoegingen zijn.

Lees ook: 5 veelgemaakte espressofouten (en zo voorkom je ze!)

Espresso met witte chocolade en kardemom

Witte chocolade is een goede match voor de sterke smaak van een espresso. Leg een paar blokjes witte chocolade onderin het glas en laat deze langzaam smelten door de hete koffie eroverheen te gieten. Als je een snufje kardemom door de melk mengt voordat je deze opschuimt, krijg je een heerlijke warme en kruidige geur. De kardemom zorgt ervoor dat de zoete chocolade niet de overhand krijgt, waardoor de koffiesmaak goed overeind blijft.

Tiramisu uit een glas

Je kunt de smaken van het bekende Italiaanse dessert ook gewoon drinken. Meng een sterke kop koffie met een drupje amandelsiroop voor de herkenbare smaak van amaretto, maar dan zonder de alcohol. In plaats van gewone melk kun je een mengsel van halfstijve slagroom en een beetje mascarpone bovenop de koffie leggen. Een flinke laag cacaopoeder over de room maakt het plaatje compleet. Dit koffierecept kan eigenlijk ook direct als vervanger van een dessert kan dienen, vooral het serveert met bijpassend koekje, zoals cantuccini of amaretti.

Mokka met sinaasappel en pure chocolade

De combinatie van pure chocolade en sinaasappel doet het altijd goed tijdens de feestdagen. Rasp de schil van een sinaasappel en roer dit samen met een blokje pure chocolade door je warme koffie totdat alles is opgelost. De olie uit de sinaasappelschil geeft een fris aroma dat heel goed samengaat met donker gebrande koffiebonen. Als je dit serveert met een klein stukje sinaasappelschil op de rand van het glas, ziet het er meteen feestelijk uit. De pure chocolade maakt de koffie wat dikker en voller, wat goed past bij een koude winteravond.

Karamel met een snufje zeezout

Gezouten karamel is al jaren populair en dat is niet zonder reden. Het zout versterkt namelijk de zoete tonen van de karamel en haalt tegelijkertijd de bittere randjes van de koffie af. Doe een scheutje karamelsiroop in je glas en voeg daar echt maar een heel klein beetje zeezout aan toe. Gebruik havermelk voor het schuim, omdat dit van zichzelf al een beetje romig en nootachtig smaakt. Het resultaat is een zachte koffie die het door de combinatie van zout en zoet bij bijna iedereen goed doet.

Koffie met honing en kaneel

Voor wie geen chocolade of room lust, is een combinatie van honing en kaneel een goed alternatief. Roer een goede lepel honing door de zwarte koffie en bestrooi de melkschuimlaag met wat kaneelpoeder. De honing geeft een andere soort zoetheid dan suiker en maakt de koffie zachter voor de keel. Het is een eenvoudige manier om een normale latte een feestelijke upgrade te geven met spullen die je waarschijnlijk al in je keukenkastje hebt staan. De geur van kaneel die van de warme melk afkomt, maakt meteen duidelijk dat het kerst is! 

©ID.nl

Zo maak je je koffie helemaal af

Je kunt de feestkoffie nog net wat mooier presenteren door aandacht te besteden aan de garnering. Een klein beetje kaneel, nootmuskaat of cacaopoeder op de melkschuimlaag doet bijvoorbeeld al wonderen. Gebruik een klein zeefje zodat de poeder gelijkmatig verdeeld wordt en er geen klontjes ontstaan. Voor een luxe effect kun je met een fijne rasp wat krullen van een blok pure of witte chocolade schaven. Dit smelt langzaam weg in het schuim en geeft bij elke slok een beetje extra textuur.

Ook met koekjes of fruit kun je creatief uit de hoek komen. Serveer de koffie met een typisch winters koekje op de schotel, zoals een speculaasje of een Italiaanse cantuccini. Een dunne reep sinaasappelschil die je even rond je vinger draait tot een krul staat erg chique aan de rand van het glas. Wil je echt uitpakken, dip de rand van het glas dan in wat water en daarna in suiker voor een bevroren effect. In plaats van een gewone lepel kun je tot slot een kaneelstokje in de koffie zetten, wat tijdens het drinken subtiel steeds meer smaak afgeeft.

ReceptBasisSmaakmakerTopping
Witte chocoladeEspressoWitte chocoladeKardemom
TiramisuSterke koffieAmandelsiroopMascarpone-room
Sinaasappel mokkaEspressoPure chocoladeSinaasappelrasp
Zoute karamelEspressoKaramelsiroopZeezout
Honing & kaneelLatteBloemenhoningKaneelpoeder

Drie espressomachines voor je feestkoffie

De'Longhi PrimaDonna Soul

Dit apparaat van De'Longhi is een zeer uitgebreide volautomaat. Dankzij de 18 voorgeprogrammeerde recepten zet je met één druk op de knop een krachtige espresso of een zachte latte. Voor wie van variatie houdt, biedt dit toestel ook de mogelijkheid om de sterkte van de koffie nauwkeurig aan te passen, zodat je altijd die gewenste sterke kop koffie krijgt. De machine is bovendien via een smartphone-app te bedienen.

Siemens EQ.500

De Siemens EQ.500-serie staat bekend om het gebruiksvriendelijke display waarbij je de koffiespecialiteiten direct via sensorvelden selecteert. Naast de standaard espresso en latte beschikt dit apparaat over de zogenaamde 'aromaDouble Shot'-functie. Hiermee zet je een extra sterke koffie door middel van een dubbel maal- en zetproces, zonder dat de koffie een bittere nasmaak krijgt.

Melitta Barista Smart T

De Melitta Barista Smart TS blinkt uit in veelzijdigheid met maar liefst 21 voorgeprogrammeerde recepten. Een groot voordeel is de fluisterstille molen, waardoor je zonder veel lawaai geniet van versgemalen bonen. Dankzij het dubbele bonenreservoir kun je bovendien eenvoudig wisselen tussen een milde boon voor je latte en een krachtige variant voor de espresso. De machine is via een handige app op je smartphone te bedienen. Met de 'My Coffee Memory'-functie sla je de persoonlijke voorkeuren van acht verschillende personen op.

Watch on YouTube