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 robuuste sporthorloges voor een mooie prijs
© www.peopleimages.com
Gezond leven

Waar voor je geld: 5 robuuste sporthorloges voor een mooie prijs

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Ben je op zoek naar een betaalbaar sporthorloge? Vandaag hebben we vijf interessante modellen voor je gespot.

Xiaomi Smart Band 9

De onlangs verschenen Xiaomi Smart Band 9 is goedkoop en kent ook nog eens verrassend veel functies. Dit langwerpige sporthorloge is in de kleurstellingen zilver-wit, zwart en roze verkrijgbaar. Het amoledscherm van 1,62 inch biedt voldoende ruimte om diverse gegevens te tonen. Dankzij een respectabele resolutie van 192 × 490 pixels verschijnt alle informatie scherp in beeld – denk daarbij aan stappen, verbrande calorieën, weersverwachting en natuurlijk de tijd. Alle functies zijn via het aanraakscherm bereikbaar, want de Smart Band 9 heeft geen fysieke knoppen. De waterdichte behuizing weegt maar 15,8 gram (zonder bandje).

Kies in het menu tussen ruim 150 sportmodi en start vervolgens de training. Tijdens de inspanning kun je jouw hartslag in de gaten houden. Je koppelt de Smart Band 9 via bluetooth eenvoudig aan een smartphone. Laat het mobiele toestel vervolgens in je broek- of jaszak zitten, want inkomende notificaties verschijnen rechtstreeks op je pols. Een prettige eigenschap is dat je het scherm ook op zonovergoten plekken nog prima kunt lezen. Aan de hand van een lichtsensor kiest deze smartwatch automatisch de juiste helderheid. Ten slotte is de beschikbaarheid van meer dan tweehonderd wijzerplaten een leuk extraatje.

Garmin Instinct 2

Met deze relatief goedkope smartwatch van Garmin houd je nauwlettend jouw sportieve prestaties in de gaten. Je kunt de Instinct 2 zowel binnen als buiten dragen, want de robuuste behuizing is waterdicht tot een diepte van honderd meter. Op het ronde display van 176 × 176 pixels zie je onder meer de actuele hartslag, het aantal gezette stappen en de huidige snelheid. Er zijn ook een hoogtemeter en elektrisch kompas geïntegreerd. Onder leiding van diverse sport-apps doe je uiteenlopende trainingen. Je kunt bovendien na elke nacht de uitgebreide slaapmonitor bekijken.

Wanneer het sporthorloge met een smartphone is verbonden, zie je inkomende pushnotificaties voorbijkomen. De Instinct 2 bevat een energiezuinig zwart-witscherm. Dat komt de accuduur ten goede! De fabrikant claimt dan ook een batterijduur van zo'n 28 dagen in de smartwatchmodus. Het hier besproken model heeft een horlogekast van 45 millimeter. Als alternatief kun je een vergelijkbaar sporthorloge met een horlogekast van 40 millimeter kopen, de Garmin Instinct 2S.

Garmin Forerunner 255 Music

Ren, wandel of fiets je met een lekker muziekje nét wat steviger door? De Garmin Forerunner 255 Music is hiervoor bij uitstek geschikt. Je kunt namelijk nummers van Spotify, Deezer of YouTube Music downloaden en in het geheugen van deze smartwatch opslaan. Laat dus tijdens trainingen voortaan je smartphone thuisliggen en bedien de muziek vanaf je pols. Je hebt voor deze functie trouwens wel een betaald abonnement bij een van de genoemde muziekdiensten nodig. De Forerunner 255 Music heeft een horlogekast van 46 millimeter. Kies tussen een zwarte en witte uitvoering.

Op het ruime 1,3inch-kleurenscherm van 260 × 260 pixels zijn er een heleboel functies toegankelijk. Denk onder andere aan een calorieënteller, hartslagmeter, bloedzuurstofmeter, slaapmonitor, snelheidsmeter, stappenteller en stopwatch. De Forerunner 255 Music toont ook meldingen van een verbonden smartphone. Krijg je bijvoorbeeld een WhatsApp-bericht, dan gaat de weerbestendige behuizing kortstondig trillen. Tot slot gebruik je deze veelzijdige smartwatch ook om contactloos te betalen.

Lees ook: Dit zijn de 9 sporten waarmee je het makkelijkst afvalt

Polar Pacer Pro

Zoek je een licht sporthorloge met zéér veel functies? Kijk dan eens naar de Polar Pacer Pro. Wegens het gewicht van 41 gram voel je dit apparaatje amper zitten. In de horlogekast van 45 millimeter is er een 1,2inch-kleurenscherm van 240 × 240 pixels verwerkt. Het display is voorzien van Gorilla Glass en gaat dus niet zomaar stuk. Verder is de behuizing waterdicht tot een diepte van vijftig meter. In het menu staan er ruim 150 sportprofielen voor je klaar. Fijn is dat deze smartwatch ook allerlei 'exotische' sporten ondersteunt, zoals (kite)surfen, rolschaatsen en skiën. Zodra je een keuze hebt gemaakt, monitort de Pacer Pro diverse sportieve prestaties.

Onder de motorkap bevindt zich een gps-chip, zodat deze smartwatch overal ter wereld je locatie kan bepalen. Handig is dat je routes van de bekende app Komoot kunt synchroniseren. Kijk voor routeaanwijzingen voortaan op je pols. Verder werkt de Pacer Pro ook naadloos met de veelgebruikte sport-app Strava samen. Hoewel Polar in zijn eigen webwinkel een tarief van 349,90 euro hanteert, vragen diverse andere bekende webshops minder dan tweehonderd euro. Kies tussen de kleurstellingen zwart, wit en goud.

Samsung Galaxy Fit3

De Samsung Galaxy Fit3 schaf je voor minder dan zes tientjes aan! Dit goedkope sporthorloge is te koop in de kleurstellingen zwart, zilver-wit en roze. Ondanks zijn lage prijskaartje toont het langwerpige 1,6inch-amoledscherm van 256 × 402 pixels diverse gegevens. Zo zie je hoeveel stappen je hebt gezet. De achterzijde van de horlogekast heeft ook nog sensoren om je bloedzuurstof en hartslag te meten. Druk aan de zijkant op de homeknop en kies uit ruim honderd sportoefeningen. De Galaxy Fit3 analyseert desgewenst ook je slaapgedrag. Maak je onverhoopt een lelijke uitglijder? Dankzij valdetectie schakelt de polsassistent jouw SOS-contactpersonen in.

Dit lichtgewicht sporthorloge van 18,5 gram neem je overal mee naartoe. De IP68-gecertificeerde behuizing is namelijk volledig waterdicht. Verbind de Galaxy Fit3 via bluetooth met een smartphone voor nog meer functies. Je kunt dan bijvoorbeeld de muziekweergave bedienen en zien wie er belt. De smartwatch toont ook inkomende berichten. De oplaadbare batterij van 208 mAh gaat op een enkele acculading volgens Samsung tot dertien dagen mee.

▼ Volgende artikel
5 redenen waarom citroen een wondermiddel is voor je was én je wasmachine
© africaimages.com (Olga Yastremska, Africa Images)
Huis

5 redenen waarom citroen een wondermiddel is voor je was én je wasmachine

Dat een wasmachine zonder moeite vuile was schoon krijgt, spreekt voor zich. Toch kan een kleine natuurlijke hulp extra verschil maken. Geen chemisch middel, maar iets wat je waarschijnlijk al in huis hebt: citroensap. Dat zorgt voor een frissere was, een schonere trommel en een beter onderhouden machine.

In dit artikel

Citroensap blijkt niet alleen handig in de keuken, maar ook tijdens het wassen. Het natuurlijke zuur (citroenzuur, inderdaad) helpt zeepresten verwijderen, voorkomt geurtjes en houdt wit echt wit. Daarnaast verzacht het hard water en maakt het wasverzachters overbodig. In dit artikel lees je hoe en waarom citroen zo'n krachtig hulpmiddel is voor zowel je kleding als je wasmachine.

Lees ook: Vetluis in je wasmachine? Zo kom je er vanaf!

Hoewel de meeste wasmachines hun werk prima doen, kun je ze met een beetje citroensap een handje helpen. Dit natuurlijke zuur werkt verrassend effectief tegen vuil, kalk en bacteriën. Hieronder lees je vijf manieren waarop citroen je was én je machine schoner, frisser en duurzamer maakt.

1. Verwijdert zeepresten

Na het wassen blijft er vaak wat wasmiddel of wasverzachter achter in de trommel of in je kleding. Het gevolg? Je wasmachine kan muf gaan stinken, net zoals de was die uit zo'n machine komt. Een scheutje citroensap in het bakje voor de wasverzachter helpt om die resten los te weken. Zo blijft je wasmachine schoon en ruikt je was écht fris.

2. Neutraliseert nare geuren

Citroensap werkt licht antibacterieel en neutraliseert geuren. Dat is vooral handig bij sportkleding, handdoeken of keukenlinnen dat snel minder fris ruikt. Citroen maakt je was dus niet alleen schoner, maar ook frisser.

©africa-studio.com (Olga Yastremska and Leonid Yastremskiy)

3. Werkt tegen hard water

Woon je in een gebied met hard water, dan merk je dat wasmiddel minder goed schuimt en kleding stugger aanvoelt. Citroenzuur bindt kalkdeeltjes, waardoor het water zachter wordt en het wasmiddel beter zijn werk doet. Zo bescherm je zowel je kleding als de binnenkant van je machine tegen kalkaanslag.

🍋 Onderhoudstip: laat eens per maand een lege wasmachine draaien op 60 graden met een scheut citroensap. Zo voorkom je kalkaanslag en blijft de binnenkant fris.

4. Houdt wit écht wit

Citroensap heeft een mild blekend effect dat witte kleding helderder maakt zonder het risico van verkleuring. Vooral fijn voor lakens, T-shirts en handdoeken. Anders dan chloor is citroensap veilig voor de meeste stoffen* en vriendelijker voor je huid én het milieu.

*Maar niet voor alle stoffen

Citroensap is een zuur en daardoor minder geschikt voor zijde, wol en linnen. Deze natuurlijke vezels reageren gevoelig op zuren en kunnen door herhaald contact hun glans of structuur verliezen. Ook bij kleding met metalen details (zoals ritsen of knopen) is voorzichtigheid geboden, omdat zuur oxidatie kan versnellen.

5. Zorgt voor zachtere kleding

Heb je snel last van wasverzachter of vind je de geur te sterk? Citroensap verzacht het water op een natuurlijke manier, zonder kunstmatige toevoegingen. Zo blijft je kleding soepel en zacht, ook zonder de synthetische stoffen die in veel wasverzachters zitten. Dat is prettiger voor gevoelige huid én beter voor het milieu, omdat er minder chemische resten in het afvalwater terechtkomen.

Zo gebruik je het: voorbeeldwas

Wil je het zelf proberen? Zo doe je dat veilig:

Voor een volle trommel witte of lichte was giet je een half kopje citroensap (ongeveer 120 ml) in het vakje van de wasverzachter. Gebruik je gewone wasmiddel, maar sla extra bleek of wasverzachter over. Was op 40 graden en haal je was direct uit de machine zodra het programma klaar is.

Tot aan de laatste druppel uitgeperst...

.. dat lukt alleen met een goede juicer (ook voor sinaasappels!)