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 pagina.

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 deze pagina.

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 deze pagina.

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 deze pagina.

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 deze pagina.

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 deze pagina.

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
Waar voor je geld: 5 stoomreinigers voor vloeren voor minder dan 125 euro
© ID.nl
Huis

Waar voor je geld: 5 stoomreinigers voor vloeren voor minder dan 125 euro

In de rubriek Waar voor je geld gaan we een aantal keer per week op zoek naar handige producten met een mooie prijs. Dit keer kijken we naar stoomreinigers voor vloeren. Die zijn er in vele soorten en maten, zowel voor houten en gladde vloeren en voor tapijt. Wij vonden vijf stoomreinigers voor minder dan 125 euro, geschikt voor uiteenlopende vloeren.

Philips OneUp 3000 series XV3101/01

Bij de Philips OneUp 3000 series XV3101/01 krijg jij een elektrische dweil voor vloeren. Dit apparaat is ontworpen als lichte vloerreiniger; het weegt ongeveer 1,75 kg en heeft een slanke steel van 1,42 m. De brede dweilkop van 35 cm en lengte van 12 cm maken het mogelijk om snel grotere oppervlakken te behandelen. In de verpakking worden een dweilpad, een laadkabel en een fles reinigingsmiddel meegeleverd, waardoor jij meteen kunt starten. De pads zijn bedoeld om vuil van harde vloeren op te nemen; er zit geen stofzuigfunctie in het apparaat. Het water‑ en reinigingsmiddel wordt via een geïntegreerd reservoir op de pad verdeeld, zodat jij geen emmer hoeft te gebruiken. De elektrische aandrijving zorgt ervoor dat de pad voor‑ en achteruit beweegt; hierdoor hoef jij minder kracht te zetten bij het dweilen. Doordat het om een elektrisch systeem gaat, is er een netsnoer nodig tijdens het reinigen. Je kunt zelf doseren hoeveel reinigingsmiddel op de pad terecht komt; dit is handig voor verschillende ondergronden. Het apparaat bevat geen kruimelzuiger of stoomfunctie en is uitsluitend bedoeld voor natte reiniging van vloeren. Het compacte formaat maakt het eenvoudig op te bergen wanneer jij klaar bent met schoonmaken.

Op zoek naar alle stoomreinigers? Kijk dan hier!

BLACK + DECKER BHSM15FX08‑QS

Met de BHSM15FX08‑QS krijg je een stoomreiniger die bedoeld is voor harde vloeren en tapijt. In de steel zit een waterreservoir van 50 cl en via de afneembare dweilplaat kun jij eenvoudig laminaat of tegelvloeren aanpakken. Het apparaat werkt met netstroom (230 V) en verbruikt 1500 W. Dankzij de instelbare stoomverdeling pas jij de hoeveelheid stoom aan de ondergrond aan De snoerlengte van 6 m zorgt voor bewegingsvrijheid zonder steeds van stopcontact te wisselen. Voor kleine ruimtes is er koord‑opslag zodat het snoer niet in de weg zit. Je hoeft niet te werken met accu’s; het apparaat heeft geen oplaadfunctie en is niet draadloos. Een warm‑up van ongeveer 20 seconden laat jou snel beginnen. Omdat de stoomreiniger niet continu navulbaar is, moet jij het reservoir eerst laten afkoelen voordat je opnieuw water bijvult. Dit model weegt ruim drie kilogram en is niet inklapbaar; voor wandmontage zijn geen voorzieningen. Door de dweilfunctie met microvezeldoek kun jij het water en stoom over de vloer verdelen zonder dat er water opzuigt wordt; vloeistoffen opzuigen kan het apparaat namelijk niet

Reviewscores op Kieskeurig.nl

Op Kieskeurig.nl kunnen consumenten reviews schrijven over producten. Elke review moet voldoen aan kwaliteitscriteria: de reviewer moet aangeven of het product gekocht, gekregen of getest is, er mag geen misleidende taal in staan en de inhoud moet betrouwbaar zijn. Zo worden nep- of spamreacties tegengegaan. Bij de beoordeling zie je niet alleen het gemiddelde cijfer, maar ook hoeveel reviews er zijn. Zo krijg je meteen een indruk of de score op basis van één enkele review is of op basis van veel gebruikerservaringen. Kijk ook eens op www.review.nl welke producten jij zelf allemaal kunt testen!

BLACK + DECKER BHSM168D‑QS inclusief accessoires

De BHSM168D‑QS is een stoommop met meerdere accessoires waarmee jij harde vloeren en tapijten kunt reinigen. Een vermogen van 1600 W verwarmt water in ongeveer 20 seconden tot stoom. Het apparaat is niet draadloos; via een snoer van 6 m heb jij bereik zonder veel van stopcontact te wisselen. De stoomkracht is traploos regelbaar en de stoomverdeling is instelbaar, waardoor jij per vloer de juiste hoeveelheid stoom kiest. Handige details zijn het aan‑uit‑schakelaartje aan de handgreep en het koord‑opbergvak. De waterindicator laat zien hoe vol het 50 cl reservoir is en het apparaat kan tijdens het reinigen continu worden bijgevuld. Een afneembaar waterreservoir maakt vullen en schoonmaken eenvoudiger. De stoommop is niet inklapbaar en heeft geen automatische snoeroprol, maar bij de accessoires zitten microvezeldoeken, een tapijtglijder en opzetstukken voor ramen of voegen. De stoomreiniger beschikt niet over een kinderslot, maar er is wel een aan‑uit‑schakelaar en veiligheidsschakelaar. Het model gebruikt netstroom en is niet oplaadbaar

BLACK + DECKER FSMH13E5 2‑in‑1 stoomreiniger

De FSMH13E5 combineert een stoommop en handstomer in één apparaat. Jij reinigt harde vloeren met een snoerlengte van 4,8 m en een waterreservoir van 50 cl. Het 1300 W verwarmingselement produceert stoom en dankzij de regelbare stoomkracht pas jij het niveau aan. Er zit een instelbare stoomverdeling zodat je de stoom gericht kunt afgeven. De stomer heeft een waterniveau‑indicator en een aan‑uit‑schakelaar, maar geen automatische snoeroprol of kinderslot. Handig is de koord‑opslagruimte zodat het snoer niet op de vloer slingert. Het waterreservoir kan worden afgenomen; daardoor vul jij het onder de kraan en klik je het daarna weer vast. Omdat de reiniger niet draadloos en niet oplaadbaar is, gebruik jij hem altijd met netstroom. De specificaties noemen een gebruiksduur van circa 15 minuten per volle watertank. Het apparaat heeft geen inklapbaar handvat en geen continu navulbaar systeem. Volgens de productinformatie is het een 2‑in‑1 stoomreiniger die zowel vlakke vloeren als moeilijk bereikbare plekken kan behandelen.

Kärcher SC 2 EasyFix Cylinder Steam Cleaner – 1500 W

De Kärcher SC 2 EasyFix Cylinder Steam Cleaner is een cilinder‑stoomreiniger die speciaal gemaakt is voor harde vloeren. Met een vermogen van 1500 W en een maximale stoomdruk van 3 bar wordt water binnen zes minuten omgezet in stoom. Jij gebruikt een waterreservoir van 1 liter; er zijn geen accu’s, dus de reiniger werkt via het lichtnet. De cilinderconstructie heeft een lengte van 38 cm, een breedte van 25,4 cm en een hoogte van 26 cm. Met een gewicht van 2,9 kg is hij relatief licht en daardoor gemakkelijk te verplaatsen. Het snoer van 4 m en een lange slang geven jou bewegingsvrijheid. Het apparaat beschikt niet over een zuigfunctie en kan geen vloeistoffen opzuigen; je gebruikt hem uitsluitend voor stoomreiniging. De warm‑up van 6 minuten betekent dat jij even moet wachten voordat de eerste stoom beschikbaar is. Het model is niet oplaadbaar, maar door het grote reservoir kun jij langere tijd achter elkaar stomen. Een verwijderbare microvezeldoek bevestig je via het EasyFix‑kliksysteem aan de vloerzuigmond. De stoomsterkte is niet regelbaar, waardoor je de hoeveelheid stoom niet kunt aanpassen. Bij het apparaat worden verschillende mondstukken meegeleverd voor bijvoorbeeld voegen of een vloeroppervlak.

▼ Volgende artikel
Black Friday 2025 met ZinVolt: hét moment om slim te starten met energieopslag
Energie

Black Friday 2025 met ZinVolt: hét moment om slim te starten met energieopslag

Black Friday is dit jaar méér dan een dag vol gadgets en grote schermen. Voor wie zonnepanelen heeft en slimmer wil omgaan met eigen energie, is het hét moment om een thuisbatterij te overwegen. Zeker nu de ZinVolt Power tijdelijk met 15 procent korting verkrijgbaar is. In dit artikel lees je hoe de energieregels richting 2027 veranderen en wat een plug & play-thuisbatterij voor je kan betekenen.

Partnerbijdrage - in samenwerking met ZinVolt

Black Friday is al jaren het moment waarop mensen grote aankopen doen. Maar in 2025 verschuift de aandacht merkbaar: steeds meer huishoudens kijken niet naar tv’s of laptops, maar naar manieren om hun energierekening te verlagen. En dat heeft alles te maken met de salderingsregeling die in 2027 stopt, stijgende terugleverkosten en het groeiende besef dat je met een thuisbatterij veel van je eigen zonnestroom kunt vasthouden.

In die context introduceert ZinVolt dit jaar een aantrekkelijke Black Friday-deal: 15 procent korting op de ZinVolt Power, een draagbare thuisbatterij die je in één minuut installeert. Daarmee wordt de stap naar energieopslag niet alleen eenvoudiger, maar ook financieel een stuk aantrekkelijker.

Let op: deze aanbieding is geldig tot en met 1 december, dus wees er snel bij!

©ZinVolt

Waarom juist nú interessant?

Als je zonnepanelen hebt, weet je hoe grillig de energiemarkt geworden is. Overdag lever je vaak méér terug dan je zelf nodig hebt, terwijl je ’s avonds juist weer stroom moet inkopen tegen een hoger tarief. Tot eind 2026 kun je dat nog deels wegstrepen dankzij de salderingsregeling, maar die regeling loopt richting zijn einde. Vanaf 2027 krijg je alleen nog een beperkte vergoeding voor wat je terug het net in stuurt.

Dat betekent dat je steeds minder hebt aan 'gratis' teruglevering en steeds meer aan het zelf gebruiken van je eigen stroom. Een thuisbatterij maakt dat mogelijk. En als je die aanschaf toch al overwoog, dan is deze aanbieding met 15 procent korting natuurlijk het ideale moment om in te stappen.

Subsidies en regelingen in 2026

Een landelijke subsidie voor thuisbatterijen wordt in 2026 niet verwacht. Maar als je een thuisbatterij combineert met een dynamisch energiecontract, kun je de 21 procent btw terugvragen. Dat voordeel maakt de stap aanzienlijk interessanter. Daarnaast loont het om lokale regelingen te controleren: sommige gemeentes bieden namelijk tijdelijke ondersteuning.

©ZinVolt

ZinVolt Power: een kleine batterij met groot effect

De ZinVolt Power is anders dan de meeste thuisbatterijen. Traditionele systemen hebben bijvoorbeeld installatie in de meterkast nodig en kampen vaak met lange levertijd. De ZinVolt Power werkt echter volledig plug & play. Je steekt hem in het stopcontact, koppelt de P1-dongle aan je slimme meter en hij begint direct met laden. Binnen één minuut actief, zonder gereedschap of installateur. Bovendien heb je hem na bestelling de volgende dag al binnen!

Met een capaciteit van 1 kWh, uit te breiden tot 6 kWh via de losse ZinVolt Mates, kun je precies zo veel opslaan als past bij je huishouden. Overdag laad je op terwijl je zonnepanelen produceren, ’s avonds gebruik je diezelfde energie zelf. Daarnaast kan de Power via de drie ingebouwde stopcontacten als noodstroomvoorziening dienen; ideaal bij een storing of werkzaamheden aan het net.

Het grootste voordeel? Je hoeft niet meteen groot in te stappen. Je kunt klein beginnen en later rustig uitbreiden. En tijdens Black Friday pak je daarmee ook direct de laagste prijs van het jaar mee!

De ZinVolt Power in het kort

Plug & play: Sluit 'm aan via de P1-dongle, binnen één minuut actief

Uitbreidbaar: Vergroot de capaciteit tot 6 kWh met extra ZinVolt Mates

Slim laden: Laadt automatisch tijdens goedkope uren, levert stroom tijdens piekuren

Noodstroomfunctie: Drie ingebouwde stopcontacten houden je belangrijkste apparaten draaiend bij een storing

Draagbaar en stil: Geschikt voor thuis, camping of werkplaats

©ZinVolt


Persoonlijk advies van ZinVolt

Weet je nog niet precies wanneer voor jou het juiste moment is? Dan kun je bij ZinVolt vrijblijvend een gesprek inplannen. Samen kijk je naar je verbruik, zonnepanelen en toekomstplannen. Geen verkooppraat, gewoon duidelijkheid.

Meer weten?

Vraag hier vrijblijvend een adviesgesprek met ZinVolt aan!