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
De leukste techcadeaus voor de feestdagen (of voor jezelf natuurlijk)
© ID.nl
Huis

De leukste techcadeaus voor de feestdagen (of voor jezelf natuurlijk)

Op zoek naar (last-minute) inspiratie voor de feestdagen? We hebben 17 gadgets en techcadeaus voor je gespot waarmee je iedereen blij maakt. Uiteraard denken we ook aan je portemonnee: we hebben gekeken naar cadeaus van maximaal ongeveer 200 euro. Fijne feestdagen!

Xiaomi Watch S4

De stijlvol vormgegeven Xiaomi Watch S4 oogt misschien als een regulier horloge, maar het is wel degelijk een smartwatch. Deze wearable is in drie chique uitvoeringen te koop. Het ronde amoledscherm van 466 × 466 pixels heeft een prettig formaat van 1,43 inch. Bovendien is de behuizing volledig waterdicht. Volgens de fabrikant houdt de accu van 486 mAh het bij normaal gebruik ongeveer twee weken vol. Je kunt hem dus dag en nacht dragen. Voor actieve personen komen de 150 sportmodi goed van pas. Verder zitten er onder meer een kompas, slaapmonitor en hartslagsensor in. Leuk is dat je hem helemaal kunt personaliseren: in het menu kun je kiezen tussen ruim tweehonderd wijzerplaten.

WiZ Gradient Light Bars

Meer sfeer in huis? Dan is deze slimme verlichtingsset van WiZ hét cadeau bij uitstek. Je kunt beide objecten verticaal en horizontaal plaatsen. In combinatie met de los verkrijgbare HDMI Sync Box synchroniseren de lampen zelfs met de kleuren van jouw televisie. Als alternatief reageren de WiZ Gradient Light Bars op de beat van de muziek. Daarnaast kun je in een app ook eigen lichtschema's instellen. Hierin pas je de kleuren en dimniveaus naar eigen wens aan.

Ultimate Ears Megaboom 4

De Ultimate Ears Megaboom 4 is een robuuste bluetooth-speaker met een krachtig geluid. Ondanks de relatief grote behuizing van 8,7 × 22,5 × 8,7 centimeter weegt het apparaat nog geen kilo. Hij kan mee naar buiten, want hij is volledig water- en stofdicht. Met een opgegeven accuduur tot twintig uur luister je altijd en overal naar goede muziek. Twee actieve audiodrivers en evenzoveel passieve basradiators zorgen voor een vol geluid. Je kunt kiezen tussen een zwarte, blauwe, rode en paarse behuizing.

Shelly Plug S Gen3

Met de Shelly Plug S Gen3 maak je ieder apparaat slim. Dit stopcontact meld je eenvoudig aan op het draadloze thuisnetwerk. Sluit bijvoorbeeld een lamp of verwarming aan en bedien de boel met een app op je smartphone. Pluspunten zijn de ondersteuning voor de universele Matter-standaard en de aanwezige energiemeter. De maximale belasting bedraagt 2500 watt. Wil je meerdere 'domme' apparaten op afstand bedienen? Er is ook een 4-pack verkrijgbaar.

Philips 32PFS6109/12

Misschien leuk om iemand een slaapkamer-tv cadeau te doen? Wie goed zoekt, vindt de Philips 32PFS6109/12 voor minder dan tweehonderd euro. Een heus koopje, want dit is een smart-tv van een gerenommeerd merk. Vanuit het Titan OS-smartplatform open je diverse populaire apps, zoals Disney+, Amazon Prime Video, YouTube en natuurlijk Netflix. Kijk vervolgens naar series en films in een respectabele beeldkwaliteit van 1920 × 1080 pixels. Ontvang je televisiekanalen via de kabel of satelliet, dan zijn de juiste tuners al aanwezig. Ten slotte kun je via drie HDMI-poorten ook externe videobronnen aansluiten, zoals een gameconsole, blu-ray-speler en tv-ontvanger.

Teufel Real Blue NC 3

De Duitse audiospecialist Teufel bracht eerder dit jaar de derde generatie van zijn Real Blue NC uit. Naast de aanwezigheid van actieve ruisonderdrukking vallen de zachte kussens ook nog eens volledig over je oren. Dankzij de twee genoemde kenmerken hoor je niet of nauwelijks geluiden uit de omgeving. Deze bluetooth-koptelefoon ondersteunt een accuduur tot maximaal 59 uur. Zet je noise cancelling uit, dan bedraagt de maximale luistertijd zelfs 98 uur. Volgens Teufel leveren de 40mm-audiodrivers een helder geluid en stevige bas. Er is ook een microfoon ingebouwd, waardoor je handsfree kunt bellen. Dit product is in een zwarte, witte en blauwe uitvoering te koop.

Logitech Zone 300

Wie regelmatig aan videovergaderingen deelneemt, heeft veel baat bij een goede headset. Met de betaalbare Logitech Zone 300 kunnen digitale gesprekspartners elkaar duidelijk verstaan. De bekende hardwarefabrikant fabriceert dit vederlichte model in drie smaken, namelijk zwart, wit en roze. Via bluetooth maak je verbinding met een pc, laptop, tablet of smartphone. De maximale gesprekstijd op een enkele batterijlading is ongeveer zestien uur.

ACT AC5151

Zie je een familielid of vriend(in) regelmatig op het touchpad van een laptop priegelen? Geef diegene dan deze comfortabele muis van ACT cadeau. Stop de bijgesloten ontvanger in een vrije usb-poort en bedien de muis vervolgens draadloos. Bovenop bevindt zich een zogeheten dpi-switch. Daarmee pas je eenvoudig de gevoeligheid van de cursor aan. Deze muis is geschikt voor rechtshandige personen.

Audio-Technica AT-SP3X

Deze elegante speakerset van Audio-Technica zal op geen enkel bureau misstaan. Het bekende audiomerk fabriceert dit product in een zwarte (AT-SP3X) en witte (AT-SP3XWH) behuizing. Dankzij de ingebouwde versterker verbind je de AT-SP3X rechtstreeks met apparaten, zoals een pc of laptop. Daarnaast is er een bluetooth-ontvanger geïntegreerd. Koppel dus een tablet of smartphone en stream draadloos je favoriete Spotify-afspeellijsten. Je luistert vervolgens naar goede muziek in stereokwaliteit. Het opgegeven uitgangsvermogen bedraagt dertig watt.

TP-Link Tapo RV30 Max

TP-Link bewijst dat een robotstofzuiger niet peperduur hoeft te zijn. De Tapo RV30 Max creëert op eigen houtje een plattegrond van jouw huis en maakt de boel vervolgens schoon. Naast het opzuigen van zand, haren, kruimels en overig vuil dweilt de robot ook nog eens je vloer. Is de batterij bijna leeg, dan keert het apparaat vanzelf terug naar de lader. Tegen een meerprijs is er ook een Plus-versie met een automatisch leegstation te koop.

Epson EcoTank ET-2860

Vermoedelijk zul je niet gauw een goedkopere inkttankprinter vinden. De Epson EcoTank ET-2860 maakt geen gebruik van dure cartridges: je vult met de bijgesloten flessenset eigenhandig vier inktreservoirs aan de voorzijde. Hierdoor is printen véél goedkoper. Ideaal voor mensen die graag foto's afdrukken. Met een behoorlijke printresolutie van 5760 × 1440 dpi ogen de kiekjes erg scherp. Koppel de EcoTank ET-2860 aan het draadloze thuisnetwerk en verstuur vanaf alle pc's, laptops, tablets en smartphones afdruktaken. Tot slot kan dit apparaat ook nog kopiëren en scannen.

Google Nest Mini

Even een lamp dimmen, de thermostaat een graadje hoger zetten of het laatste nieuws volgen. Met deze goedkope smartspeaker van Google kan het allemaal. De ronde behuizing luistert via een microfoon naar jouw spraakopdrachten. Vervolgens bedien je ieder smarthome-apparaat met Google Assistent-ondersteuning. Uiteraard luister je als je dat wilt ook gewoon naar muziek. De Nest Mini is in een licht en donker jasje te koop.

Huawei Band 10

Geef de Huawei Band 10 cadeau aan iemand met sportieve voornemens. Deze activity-tracker houdt nauwlettend het aantal gezette stappen en de hartslag in de gaten. Verder is de polsassistent waterbestendig, waardoor je ook allerlei zwemgegevens kunt registreren. Je leest het ruime amoledscherm van 1,47 inch zowel 's avonds als overdag moeiteloos af. Wie het apparaatje met een Android-toestel verbindt, ziet verschillende notificaties voorbijkomen. De Band 10 is in verschillende kleurstellingen te koop, namelijk wit, blauw, paars, groen, roze en zwart. De twee laatstgenoemde uitvoeringen zijn het goedkoopst.

DJI Neo

Met de piepkleine DJI Neo schiet je haarscherpe beelden! Deze drone van 135 gram stijgt probleemloos op vanaf jouw handpalm. De geïntegreerde videocamera ondersteunt een respectabele resolutie van 3840 × 2160 pixels, zodat je vanuit de lucht gedetailleerde opnames kunt maken. Het is zelfs mogelijk om automatisch een persoon, dier, voertuig of ander bewegend voorwerp te volgen. Op een enkele acculading bedraagt de maximale vluchttijd achttien minuten. Houd er rekening mee dat de fabrikant bij het basismodel geen afstandsbediening meelevert. Je installeert voor de bediening een app op je smartphone.

JBL Sense Lite

Deze sportieve in-ears blijven tijdens iedere wandeling, hardloopsessie en fitnesstraining stevig op hun plek zitten. De behuizing bevat namelijk een oorhaakje. De JBL Sense Lite is IP54-gecertificeerd. Een beetje regen of zweet kan dus geen kwaad. Je bent tijdens handsfree gesprekken luid en duidelijk te horen, want beide oordopjes hebben twee microfoons. De batterij gaat maximaal acht uur mee. Een pluspunt is dat je de inwendige accu's met de bijgesloten oplaadcase nog eens driemaal volledig kunt opladen. En dat zonder netstroom! Je past met de JBL Headphones-app diverse equalizerinstellingen naar eigen smaak aan. Kies tussen een zwarte, beige, witte, paarse en blauwe uitvoering.

View post on TikTok

Fresh 'n Rebel Party Loud M

Bouw met deze krachtige partyspeaker op iedere locatie een feestje. Door de waterdichte constructie is een regenbui geen enkel probleem. Bovendien ben je niet afhankelijk van netstroom. Een volgeladen accu is volgens de fabrikant goed voor een speeltijd tot twintig uur. De Fresh 'n Rebel Party Loud M heeft bovenop een eenvoudig bedieningspaneel. Schroef zo nodig het basniveau verder op en switch tussen zes verlichtingsschema's. Een leuk extraatje is dat je aan de achterzijde een microfoon of gitaar kunt inpluggen. Kortom, een ideale partner voor een geslaagde karaoke-avond!

Xiaomi TV Box S (3rd Gen)

De Xiaomi TV Box S (3rd Gen) is een betaalbare mediaspeler die elke 'domme' televisie of verouderde smart-tv slim maakt. Sluit dit kleine apparaatje aan op een HDMI-poort van de beeldbuis en verbind hem met wifi. Vervolgens start je vanuit het Google TV-menu je favoriete video-apps. De compacte afstandsbediening heeft aparte knoppen voor Netflix, Amazon Prime Video en YouTube. Zoek je een specifieke film of serie? Activeer dan de spraakfunctie om de betreffende titel vlot te vinden. De Xiaomi TV Box S geeft de streams in een scherpe beeldkwaliteit van maximaal 3840 × 2160 pixels aan de televisie door. Veel kijkplezier!

▼ Volgende artikel
Review Oppo Find X9 Pro – Dure smartphone met veel plussen
© Rens Blom
Huis

Review Oppo Find X9 Pro – Dure smartphone met veel plussen

De Oppo Find X9 Pro is een van de duurste smartphones die je kunt kopen. Het is ook het toestel met de langste accuduur, althans in onze gebruikstests. Wat kun je nog meer verwachten? Je leest het in deze Oppo Find X9 Pro-review.

Uitstekend
Conclusie

De Oppo Find X9 Pro is een premium smartphone met fantastische hardware, een heel goede zoomcamera en de beste accuduur die je kunt vinden. De software is nog wat voor verbetering vatbaar en de adviesprijs kan een terecht struikelblok zijn. Wel nemen we ons petje af voor wat de Find X9 Pro allemaal te bieden heeft.

Plus- en minpunten
  • Uitmuntende accuduur
  • Erg geavanceerde camera's
  • Op alle vlakken zeer premium
  • Updatebeleid en softwareschil kunnen beter
  • Erg hoge adviesprijs

De beste accuduur

Een van de speerpunten van de Oppo Find X9 Pro is zijn reusachtige batterij. Een 7500mAh-accu voorziet de telefoon van stroom en verpulvert hiermee de accu's van de Apple iPhone 17 Pro Max (nog geen 5000 mAh), Samsung Galaxy S25 Ultra (5000 mAh) en Google Pixel 10 Pro XL (5200 mAh). Eigenlijk komt alleen de OnePlus 15 in de buurt, met zijn 7300mAh-accu. Oppo en OnePlus zijn zustermerken. In onze test met de OnePlus 15 concludeerden wij dat we het toestel probleemloos twee dagen kunnen gebruiken bij regulier gebruik. Goed nieuws: voor de Oppo Find X9 Pro geldt hetzelfde. Het lukt ons echt niet om de accu op één dag leeg te trekken en ook bij intensiever gebruik kunnen we de twee dagen aantikken.

©Rens Blom

Een Oppo-medewerker haalt een Find X9 Pro uit elkaar om de grote accu te tonen.

De Oppo Find X9 Pro hoef je dus maar om de nacht op te laden. Of ergens in de ochtend, dat kan ook. Het toestel ondersteunt namelijk erg snel opladen via de meegeleverde usb-c-kabel, al dien je dan wel zelf de benodigde adapter te kopen. Met een andere adapter gaat het laden een stuk minder snel. Voor draadloos opladen geldt hetzelfde. Het kan heel snel via een optionele Oppo-oplader of langzamer via een draadloze oplader van een ander merk.

©Rens Blom

Goed scherm

Gelukkig heeft de Oppo Find X9 Pro meer te bieden dan een fantastische accuduur. Dat mag ook wel voor die adviesprijs van 1299 euro. Het toestel beschikt over een premium ontwerp dat lekker in de hand ligt en een vingerafdrukscanner in het scherm die eigenlijk nooit dienst weigert. Het beeldscherm zelf is ook van heel hoge kwaliteit en meet 6,78 inch. Dat is fors, maar wel prettig bij het kijken van video's, gamen en typen met twee handen. Door de resolutie van 2772 x 1272 pixels is het scherm lekker scherp en de 120Hz-verversingssnelheid maakt het beeld soepel.

©Rens Blom

Hardware

Onder de motorkap zoemt – geruisloos natuurlijk – een MediaTek-processor. De dagen dat MediaTek bekendstond als een minder goede chipfabrikant zijn echt voorbij. De Dimensity 9500-chip in de Find X9 Pro is razendsnel, energiezuinig en heeft ook geen enkele moeite met games. En ja, gelet op de hoge adviesprijs van de smartphone is het niet verrassend dat Oppo er 16 GB werkgeheugen en 512 GB opslagcapaciteit in zet. Een welkome combinatie die de Find X9 Pro klaarmaakt voor jaren gebruik.

Heel ver zoomen

Een ander sterk punt van de Find X9 Pro zijn de camera's. Het camera-eiland op de achterkant is groot en steekt best uit, wat komt omdat er serieuze (zoom)camera's in de behuizing zitten. Oppo werkt – al jaren – samen met fotografiemerk Hasselblad om de kwaliteit van zijn premium smartphonecamera's te verbeteren en dat is bij de Find X9 Pro niet anders. In de praktijk zijn wij bijzonder tevreden over de fotografie- en video-prestaties van de smartphone. Plaatjes ogen haarscherp, hebben realistische kleuren en zijn een genot om te bekijken op het smartphonescherm óf een groter scherm.

©Rens Blom

Interessant is de geavanceerde zoomcamera, waarmee je het beeld héél veel keren dichterbij haalt. We hebben de Find X9 Pro meegenomen naar China, waar we fabrieken van Oppo bezochten, en fotografeerden een en ander vanuit onze hotelkamer. Zoals je hieronder ziet, kun je vanaf de 21ste verdieping zó ver en goed inzoomen dat je een autobestuurder prima in beeld krijgt én de kentekenplaat kunt lezen. Of je ziet de tekst op het scherm van het reuzenrad, dat honderden meters verderop staat. Bij dat maximaal inzoomen zet de camerasoftware AI in om het beeld te verduidelijken. Daar wordt het beeld inderdaad duidelijker van, niet mooier.

©Rens Blom

©Rens Blom

Prima software vol apps

De Oppo Find X9 Pro draait op Android 16 en krijgt vijf jaar Android-upgrades en zes jaar beveiligingsupdates. Dat is goed, maar minder lang dan de zeven jaar complete updates die Google, Samsung en Apple uitrollen voor hun toptelefoons. De ColorOS-schil van Oppo werkt prima en bevat veel handige functies, maar ook ongevraagde commerciële apps als TikTok. Wij vinden het raar dat we op een peperdure smartphone lastiggevallen worden door meldingen van apps waar wij niets mee te maken willen hebben.

©Rens Blom

Conclusie: Oppo Find X9 Pro kopen?

De Oppo Find X9 Pro is een premium smartphone met fantastische hardware, een heel goede zoomcamera en de beste accuduur die je kunt vinden. De software is nog wat voor verbetering vatbaar en de adviesprijs kan een terecht struikelblok zijn. Wel nemen we ons petje af voor wat de Find X9 Pro allemaal te bieden heeft.