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
Opruimen en schoonmaken: zo is je huis écht klaar voor de feestdagen
© Ljupco Smokovski | www.ljsphotographyonline.com
Huis

Opruimen en schoonmaken: zo is je huis écht klaar voor de feestdagen

Het is bijna zover. De feestdagen staan voor de deur. Je kijkt er waarschijnlijk al naar uit: lekker eten, vrienden over de vloer, lekker op de bank een kerstklassieker kijken. Juist nu is het een goed moment om je huis weer even aan te pakken. Met een simpele planning en een paar gerichte schoonmaakklussen maak je je huis in één ochtend klaar voor kerst!

Je hal: opgeruimd = een warm welkom

De hal is de eerste plek die je gasten zien, maar in deze tijd van het jaar is het vaak een verzamelplaats van modderige schoenen, natte jassen en rondslingerende sjaals. Kijk eens kritisch naar je kapstok: hangen daar nog zomerjassen die naar zolder kunnen? Maak ruimte. Zo kunnen je gasten straks hun jas makkelijk kwijt.

Loop meteen even de rest van de hal na: laat alleen de schoenen staan die je dagelijks gebruikt en zet de rest in een kast of opbergbox. Verzamel losse sjaals, mutsen en handschoenen in een mand bij de deur. Even de vloer stofzuigen en dweilen en de spiegel en voordeur afnemen met een vochtige doek en je bent klaar. Een goede droogloopmat is in dit seizoen trouwens geen overbodige luxe; het vangt het meeste vuil op voordat het je woonkamer kan bereiken. Dit klusje kost je hooguit een kwartiertje, maar maakt écht verschil voor de sfeer in huis.

Je woonkamer: stof is echt niet feestelijk

In de woonkamer staat waarschijnlijk de verwarming lekker aan. De warme lucht zorgt voor luchtstroming, waardoor stof eerder gaat zweven en je het sneller overal terugziet. Voor je het weet ligt er een grijzig laagje op je plinten en vensterbanken. Niet zo feestelijk. Pak de stofzuiger en gebruik een klein opzetstuk, zoals de kierenzuigmond of meubelborstel. Daarmee kom je eindelijk goed tussen de lamellen van de radiator of achter die ene kast.

Heb je een robotstofzuiger? Laat die dan dagelijks zijn rondje rijden terwijl jij iets anders doet. Vergeet niet om af en toe de filters van je apparaten te controleren. Een vies filter blaast die muffe lucht namelijk net zo hard weer terug. Spoel ze uit en laat ze minstens 24 uur drogen. Een vochtig filter kan de motor beschadigen en dat wil je niet.

Lees ook: Van parketborstel tot turbobrush: zo gebruik je de zuigmonden van je stofzuiger

Vergeet je afstandsbediening niet!

De afstandsbediening is misschien wel het vieste voorwerp in huis. Maak hem schoon met een beetje alcohol of een desinfecterend doekje (ook tussen de knopjes!). Dan kun je weer heerlijk zappen en kerstklassiekers kijken deze dagen! 👇

Watch on YouTube

De keuken: korte metten met vet

In de keuken wordt de komende dagen waarschijnlijk flink gekookt. Vet en kookdampen slaan helaas overal neer. Kijk maar eens kritisch naar je afzuigkap; die vangt de meeste viezigheid op. Haal de roosters los en zet ze in een warm sopje met een flinke scheut ontvetter. Laat ze rustig een half uurtje weken. Heb je een recirculatiekap, vervang dan nu het koolstoffilter zodat geurtjes echt weg blijven.

Terwijl de roosters weken, heb je mooi tijd om de kastjes aan te pakken. Warm water en een beetje afwasmiddel werken vaak het best. Wees voorzichtig met een middel als baking soda. Dat kan krassen veroorzaken, met name op keukens met een hoogglans of juist heel matte, krasgevoelige afwerking. Het is daarom altijd slim om zo'n schoonmaakmiddel eerst te testen op een onopvallend plekje (bijvoorbeeld aan de binnenkant van een deurtje) voordat je het op het zichtbare deel gebruikt.

©ID.nl

Ho ho ho: denk ook aan je toilet!

Vergeet het kleinste kamertje niet! Juist als er gasten komen, wil je dat het toilet fris is. Een snelle poetsbeurt met chloor is vaak niet genoeg om hardnekkige kalkaanslag onder de rand of in de pot weg te krijgen. Gebruik hiervoor een krachtige ontkalker of schoonmaakazijn en laat dit gerust een nachtje intrekken voor het beste resultaat. Denk ook om de deurklink en het lichtknopje; die worden vaker aangeraakt dan je denkt. Door het toilet nu grondig schoon te maken, hoef je vlak voor het kerstdiner alleen nog maar even snel een doekje over de bril te halen.

Wil je dat het toilet niet alleen schoon is, maar ook naar kerst ruikt? Zet dan een klein vaasje neer met een paar verse dennentakjes en een takje hulst met rode bessen. Dit ziet er direct feestelijk uit en verspreidt een subtiele bosgeur. Of prik kruidnagels in een sinaasappel en hang die op. Ruikt niet alleen heel kerstig, maar neutraliseert ook nog eens ongewenste geurtjes.

Bankhoezen en gordijnen: vergeten geurvangers

Soms heb je alles gepoetst en geboend, maar ruikt het huis nog steeds niet helemaal fris. Daar is een simpele verklaring voor. Juist in het najaar houden we ramen vaker dicht, waardoor geurtjes in je gordijnen, plaids en kussenhoezen trekken. Alles wat in de wasmachine mag, draai je daarom het beste even op een kort programma. Wat niet of moeilijk in de machine kan (zoals gordijnen of de vaste bekleding van je bank) kun je een handstomer gebruiken. De hete stoom doodt bacteriën en verwijdert geurtjes.

©ID.nl

Schone lucht in huis

Je huis is pas echt schoon wanneer ook de lucht schoon is.  In het najaar is het binnen vaak vochtiger, omdat we de ramen vaker dicht laten maar wel net zo vaak douchen, wassen en koken. Zet daarom elke dag de ramen tien minuten tegen elkaar open. Die stroom frisse buitenlucht doet wonderen. Merk je dat het vochtig of muf blijft? Dan kan een luchtontvochtiger of luchtreiniger uitkomst bieden. Voor hardnekkige kookluchtjes kies je het beste een reiniger met een actief koolstoffilter. Zo voorkom je beslagen ramen en blijft het binnenklimaat gezond, ook als straks de hele familie over de vloer komt.

Lees ook: Waarom je luchtreiniger in de herfst meer doet dan je denkt

▼ Volgende artikel
Review OnePlus Watch Lite - Betaalbare smartwatch gaat lang mee
© Rens Blom
Gezond leven

Review OnePlus Watch Lite - Betaalbare smartwatch gaat lang mee

De OnePlus Watch Lite is een goedkopere smartwatch die tot tien dagen mee zou gaan op een accubeurt. Dat klinkt natuurlijk goed. Het horloge werkt bovendien met een Android-smartphone én met een Apple iPhone. Ook dat kunnen lang niet alle smartwatches zeggen. In deze OnePlus Watch Lite-review nemen we het slimme klokje onder de loep.

Uitstekend
Conclusie

De OnePlus Watch Lite is een betaalbare smartwatch die op contactloos pinnen na eigenlijk alles kan wat je wilt. Twee belangrijke plussen zijn de accuduur van ruim een week en het feit dat het horloge werkt met zowel een Android-smartphone als iPhone. Wij zijn enthousiast!

Plus- en minpunten
  • Werkt met Android en iPhone
  • Lange accuduur
  • Gebruiksgemak en veel functies
  • Kan niet contactloos pinnen
  • Speciale oplader
CategorieSpecificatie
Display1,46 inch amoled, 464 x 464 pixels (317 PPI), 2.5D gebogen glas
Helderheid600 nits (standaard), 1500 nits (hoge helderheidsmodus), 3000 nits (piek)
Chip en opslagBES2800BP MCU, 4 GB EMMC opslag
Batterij339 mAh, tot 10 dagen (max) / 4 dagen (AOD), volledig opgeladen in 90 minuten
BouwKast van roestvrij staal, plastic onderzijde, 5ATM + IP68
Afmetingen44,98 x 44,98 x 8,9 mm, gewicht ca. 59 gram inclusief bandje
SoftwareOxygenOS Watch 7.1, ondersteunt Android 9.0 en iOS 14.0 of hoger
ConnectiviteitBluetooth 5.2, dual-band GPS (l1+l5), NFC voor toegangskaarten
SensorenOptische hartslag- en zuurstofsensor, temperatuur, barometer, gyroscoop
Sport en gezondheidRuim 100 sportmodi, slaaptracking, valdetectie en cyclus-tracker
Extra'sBluetooth-bellen, cross-OS dual-pairing en ruim 350 wijzerplaten

Voor OnePlus is de Watch Lite een wat vreemde eend in de bijt. Het merk verkoopt al langer smartwatches, maar die draaien op Google's Wear OS en werken daarom niet met een iPhone. De OnePlus Watch Lite gebruikt een ander besturingssysteem en is daarom te gebruiken met elke moderne smartphone. Sterker nog: je kunt twee telefoons tegelijk aan het klokje koppelen. Handig voor wie een privé- en werksmartphone bij zich draagt, stelt OnePlus. De adviesprijs van het horloge is 179 euro. Gelet op de prijshistorie van andere OnePlus-wearables is de kans aannemelijk dat de Watch Lite snel wat in prijs zal dalen.

Minimalistisch ontwerp

Dat je met een goedkopere smartwatch te maken hebt, merk je aan het ontwerp. De Watch Lite heeft een zeer minimalistische metalen behuizing met een kroonwieltje dat een goedkoop klik-geluid produceert. Het horlogebandje is ook eenvoudig, maar irriteert niet om de pols en is eventueel te vervangen door een ander standaardformaat bandje. De smartwatch voelt degelijk aan, is waterdicht en heeft een rond oledscherm van 1,46 inch. Het display oogt simpelweg goed en kan lekker fel, wat handig is op een zonnige dag.

©Rens Blom

©Rens Blom

Slimme functies

Bij het instellen van de OnePlus Watch Lite valt iets grappigs op. Je hebt er de oHealth-app op je telefoon voor nodig, die zowel door OnePlus als Oppo gebruikt wordt. Dat heeft een logica: OnePlus is een dochtermerk van Oppo. Om die reden zie je ook 'ColorOS' op het smartwatchscherm staan, de softwarenaam van Oppo. Het instellen van het klokje is eenvoudig. Na de configuratie kun je een favoriete wijzerplaat kiezen, bepalen van welke smartphone-apps je meldingen op het horloge wilt zien en wat je nog meer met het horloge wilt doen. Bellen bijvoorbeeld, of een slimme deur ontgrendelen. Ja, echt.

©Rens Blom

De Watch Lite heeft een ingebouwde NFC-chip, waar je je toegangspas van bijvoorbeeld kantoor aan kunt koppelen. Vervolgens slaat het horloge die informatie zelf op en kun je het horloge voortaan tegen het scanapparaat op je werk houden. Zo hoef je je pasje niet uit je portemonnee te pakken, is het idee. Een interessante gedachte, maar contactloos pinnen in winkels kan dan weer niet. Jammer, want die functie lijkt ons boeiender. Wij hebben overigens geen speciaal werkpasje en konden deze Watch Lite-functie dus niet testen.

©Rens Blom

Gezondheid bijhouden

Met de OnePlus Watch Lite kun je je fysieke gezondheid prima bijhouden. Het horloge heeft een hartslagmeter en allerlei andere sensoren en software die je stappen, bloedzuurstofgehalte in je bloed, sportactiviteiten en slaap monitoren. De verzamelde inzichten zijn accuraat genoeg, maar het spreekt voor zich dat dit horloge geen medisch apparaat is. OnePlus benadrukt zelf ook dat je er geen medische conclusies aan moet verbinden. Leuk is dat je de verzamelde gezondheidsstatistieken kunt synchroniseren met Google Fit, mocht je dit gezondheidsplatform gebruiken. In de smartphone-app zie je de gezondheidsinformatie uitgebreider dan op het horlogescherm, overigens.

©Rens Blom

Lange accuduur

Een speerpunt van de OnePlus Watch Lite is zijn accuduur. OnePlus belooft tot tien dagen gebruik voordat je de oplader moet pakken. Wij komen uit op zeven dagen. Stel je in dat het scherm altijd de tijd laat zien, dan is een accuduur van ongeveer vier dagen realistisch. Allebei erg nette scores, al houden smartwatches van Huawei het nog dagen langer vol. Ten opzichte van écht slimme smartwatches van Google, Samsung en Apple gaat de OnePlus Watch Lite wel dagen langer mee.

Opladen doet het OnePlus-klokje snel via de speciale magnetische oplader, die een usb-kabel met type a-aansluiting heeft. Raak deze oplader niet kwijt, want dan moet je echt een nieuwe regelen voordat je de Watch Lite weer kunt opladen.

©Rens Blom

Conclusie: OnePlus Watch Lite kopen?

De OnePlus Watch Lite is een betaalbare smartwatch die op contactloos pinnen na eigenlijk alles kan wat je wilt. Twee belangrijke plussen zijn de accuduur van ruim een week en het feit dat het horloge werkt met zowel een Android-smartphone als iPhone. Wij zijn enthousiast!