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
Review TP-Link Tapo C545D – Vaste en beweegbare camera ineen
© Maikel Dijkhuizen
Zekerheid & gemak

Review TP-Link Tapo C545D – Vaste en beweegbare camera ineen

Veel beweegbare bewakingscamera's hebben een slimme volgfunctie. Handig, maar helaas verliezen ze hierbij wel het totaalbeeld uit het oog. TP-Link pakt dat anders aan met een dual-lensmodel: een pan- en tilt-camera met daarboven een vaste groothoeklens. Beide kijken tegelijk mee. De schappelijke adviesprijs van nog geen honderd euro maakt dit buitenmodel extra interessant.

Fantastisch
Conclusie

De TP-Link Tapo C545D is een betaalbare beveiligingscamera die op eigen houtje objecten volgt én tegelijkertijd een totaalbeeld van de omgeving vastlegt. Dankzij deze dual lens-techniek registreert dit apparaat dus alle gebeurtenissen in het beoogde gebied. Daarmee is dit product een betaalbare oplossing voor wie een tuin of kamer grondig wil bewaken.

Plus- en minpunten
  • Betaalbaar
  • Eenvoudige montage
  • Twee lenzen voorkomen dode hoeken
  • Ruim gezichtsveld van 165 graden (groothoekcamera)
  • Draai- en kantelfunctie
  • Wifi en ethernet
  • IP66-gecertificeerd
  • Veel opslagopties
  • Doeltreffende automatische volgfunctie
  • Meldingen van personen, huisdieren en voertuigen
  • Goede beeldkwaliteit
  • Nachtzicht in kleur
  • Kwetsbare behuizing
  • Engelstalige montagehandleiding
  • Vrij korte voedingskabel
  • Sirene klinkt zacht

Deze pan- en tilt-camera heeft een IP66-gecertificeerde behuizing van kunststof. Je kunt hem dus zowel binnen als buiten ophangen. Kies wel een veilige plek buiten het bereik van spelende kinderen: de Tapo C545D heeft namelijk een relatief kwetsbare behuizing met diverse roterende onderdelen.

©Maikel Dijkhuizen

De inhoud van de productdoos.

Beveiligingscamera ophangen

In de productdoos zit een Engelstalige handleiding met montage-instructies. Je kunt de bewakingscamera op drie manieren ophangen, namelijk aan de muur, dakrand (plafond) of paal. Gebruik het bijgesloten voorbeeldvel om geschikte gaten voor de montagebeugel te boren. Zodra dit onderdeel op de juiste plek hangt, klik je de camera hierop vast. Dat werkt via een soepel schuifmechanisme. Voor aansluiting van de netwerk- en voedingskabel levert TP-Link waterdichte afdichtingsringen mee. Op die manier komt er geen vocht bij de connectors. Zorg trouwens wel voor een nabijgelegen stopcontact, want de stroomkabel van drie meter is niet al te lang. Verder hoef je de ethernetaansluiting niet per se te gebruiken, want deze camera ondersteunt ook wifi.

©Maikel Dijkhuizen

De stroom- en ethernetaansluiting zijn in de bekabeling verwerkt.

Beelden opslaan

Uiteraard wil je bewakingsbeelden opslaan. De gemakkelijkste methode is om de video's lokaal te bewaren. Prik hiervoor een eigen microSD-kaart van maximaal 512 GB in de behuizing. Je kunt optioneel ook beeldmateriaal in de cloud opslaan, maar dat vereist een betaald Tapo Care-abonnement. In de toekomst voegt de fabrikant via een softwareupdate ook nog ondersteuning voor zijn Tapo H500 Smart HomeBase toe. Op dit los verkrijgbare basisstation kunnen gebruikers opnames van maximaal zestien beveiligingscamera's opslaan. Ten slotte bewaar je de video's net zo makkelijk op een geschikte NAS. Kortom, opslagmogelijkheden genoeg!

Lees hier onze Tapo Smart HomeBase H500 review

©Maikel Dijkhuizen

Achter het rubberen klepje vind je een microSD-kaartslot en resetknop.

Dubbele opnames

De configuratie in de TP-Link Tapo-app verloopt vlot. Maak eerst een account aan en schakel hierbij vrijblijvend tweestapsverificatie in. Je koppelt de camera daarna zo nodig aan jouw wifi-netwerk en geeft het apparaat een naam. Vervolgens beland je al gauw in het hoofdvenster met alle beschikbare opties. Beide lenzen ondersteunen een respectabele resolutie van 2304 × 1296 pixels. Dat is voor bewakingsdoeleinden prima. De beelden hebben heldere realistische kleuren. Mooi meegenomen is dat deze bewakingscamera ook in het donker opnames in kleur maakt. Aan weerszijden van beide lenzen zitten namelijk twee felle ledlampen.

De dual lens-optie is een groot pluspunt. Het beweegbare hoofd met de pan- en tilt-camera volgt automatisch objecten totdat de bewuste persoon of het huisdier buiten zicht is. Dat werkt in de praktijk erg goed! Tegelijkertijd zorgt de vaste groothoekcamera met een ruim diagonaal gezichtsveld van 165 graden voor het complete plaatje. In feite maakt de Tapo C545D dus steeds dubbele opnames. Om die reden toont de TP-Link Tapo-app twee liveweergaven onder elkaar. Wil je op een ander object focussen? Tik dan enige tijd om dit doel te volgen. Bij detectie van personen, huisdieren en voertuigen ontvang je desgewenst een pushbericht.

©Maikel Dijkhuizen

Zie in de TP-Link Tapo-app precies wat er in jouw omgeving gebeurt.

Veel functies

De app bevat nog veel meer nuttige functies. Zo kun je met behulp van de pijltjestoetsen de pan- en tilt-camera handmatig draaien en kantelen. Daarnaast activeer je eventueel een alarm. Hierbij gaan de lampen na bewegingsdetectie snel knipperen. Bovendien speelt de Tapo C545D ook een sirene af, al is die niet zo luid. Tot slot communiceer je eenvoudig met iemand op afstand. Zodra je in de microfoon van de smartphone praat, laat de geïntegreerde speaker op de camera jouw stem horen.

TP-Link Tapo C545D kopen?

De TP-Link Tapo C545D is een betaalbare beveiligingscamera die op eigen houtje objecten volgt én tegelijkertijd een totaalbeeld van de omgeving vastlegt. Dankzij deze dual lens-techniek registreert dit apparaat dus alle gebeurtenissen in het beoogde gebied. Daarmee is dit product een betaalbare oplossing voor wie een tuin of kamer grondig wil bewaken.

Op zoek naar een goedkopere beveiligingscamera van TP-Link? Lees hier onze TP-Link Tapo C425 review

▼ Volgende artikel
Krokant van buiten, mals van binnen: zó doe je dat in de airfryer
© africaimages.com (Olga Yastremska, Africa Images)
Huis

Krokant van buiten, mals van binnen: zó doe je dat in de airfryer

Je hebt een airfryer gekocht om met minder vet te koken, maar dat betekent niet dat je hoeft in te leveren op smaak of knapperigheid. Integendeel: met het juiste gebruik tover je er de krokantste gerechten mee op tafel, zonder dat ze in olie zwemmen. Het draait allemaal om de juiste aanpak.

In dit artikel lees je:

🥨Hoe een airfryer precies werkt
🍟Hoe je ervoor zorgt dat snacks en groenten worden
🍗Welke handige trucs je kunt gebruiken voor het beste bakresultaat
🥓Hoe je het maximale uit je airfryer haalt

Lees ook: Airfryer met één of twee lades? Zo kies je slim

Hoe werkt een airfryer eigenlijk? Nou, zo!

Een airfryer werkt eigenlijk als een kleine heteluchtoven waarin hete lucht continu circuleert. Je eten gaat in een mandje of op een rekje, waar het rondom wordt verhit. Door het krachtige verwarmingselement bereikt de airfryer snel de juiste temperatuur. De compacte binnenruimte houdt de warmte vast, waardoor alles sneller gaart dan in een gewone oven. Dat scheelt energie én levert in korte tijd een mooi krokant resultaat op.

©africaimages.com (Olga Yastremska, Africa Images)

Krokant resultaat met snacks en friet uit de airfryer

Friet en snacks horen natuurlijk bij de airfryer. Er zijn genoeg diepvriesvarianten die speciaal voor dit type bereiding zijn gemaakt. Houd voor het beste resultaat de aanwijzingen op de verpakking aan, maar verwarm je airfryer altijd eerst even voor. Ook als de handleiding zegt dat het niet hoeft. Vier minuten op de gewenste temperatuur is meestal genoeg.

Leg kroketten of andere snacks nooit in een koude airfryer – dat is te vergelijken met ze in koude olie dompelen. Kijk aan het einde van de bereiding of ze mooi goudbruin zijn. Elke airfryer heeft zijn eigen karakter, dus soms helpt een minuutje extra voor die perfecte krokante korst.

Groenten met een knapperig laagje uit de airfryer

Zin in groenten met een stevige bite? Paneren is de sleutel. Geen dik beslag, maar een eenvoudige laag van ei en paneermeel of panko. Snijd bijvoorbeeld bloemkool in kleine roosjes, meng bloem met kruiden naar smaak en klop een eitje los. Haal de roosjes eerst door de bloem, dan door het ei en druk ze daarna goed in de panko. Na twintig minuten op 190 graden komen ze krokant en goudbruin uit je airfryer.

Hetzelfde trucje werkt prima met groenten als courgette, aubergine (in repen) of wortel. Wie liever geen ei gebruikt, kan een dun papje maken van bloem, water en kruiden om de paneerlaag te laten hechten.

©Francisco Zeledon

🎯 Populairste merken airfryer in NL

Philips | Ninja | Tefal | Inventum | Princess

Deze merken komen al langere tijd goed uit de bus in verschillende vergelijkingen. In tests van de Consumentenbond en andere onafhankelijke platforms worden ze vaak genoemd omdat ze simpelweg doen wat je ervan verwacht: ze warmen snel op, bakken gelijkmatig en zijn prettig in gebruik. Bovendien is de verhouding tussen de prijs en wat je voor je geld krijgt goed.

Aanraders per merk

Ninja Airfryer XXL Max Pro
Ruime airfryer voor grotere porties. De 6,2-liter mand is geschikt voor 3-4 personen en levert gelijkmatige resultaten bij friet, groenten en vlees. Dankzij de hogere stand wordt alles extra knapperig. Reviewscore op Kieskeurig: 9,6.

Tefal Dual Easy Fry & Grill EY905D 8.3L XXL Airfryer

Ruim model met twee lades, geschikt voor grotere porties of volledige maaltijden tegelijk. Reviewscore op Kieskeurig: 8,8.

Inventum GF500HLD Airfryer
Betaalbare instap-airfryer; handig voor kleinere huishoudens of basisgebruik. Reviewscore op Kieskeurig: 9,2.

Princess Double Basket Airfryer - 8L - 2400W
dubbele airfryer met twee manden van 4 liter. Geschikt om twee gerechten tegelijk te bereiden, met genoeg capaciteit voor een gezin. Reviewscore op Kieskeurig: 8,5.

Philips 3000 Series NA352/00 Airfryer 9 L Dual Basket
Populair model van Philips met dubbele mand en ruime inhoud, geschikt voor gezinnen of grotere porties. Reviewscore op Kieskeurig: 8,2.

🔟 Over de reviewscores op Kieskeurig.nl
Op Kieskeurig.nl schrijven consumenten reviews 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.

De maizenatruc voor goudbruine, knapperige aardappels

Verse aardappels uit de airfryer zijn heerlijk, maar echt krokant worden ze niet altijd vanzelf. Dat komt door het zetmeel, dat per aardappelras en zelfs per seizoen verschilt. Sommige aardappels bevatten meer suikers en kleuren daardoor snel bruin, terwijl de binnenkant nog niet gaar is.

De oplossing is eenvoudig: laat de aardappelpartjes of -schijfjes minimaal een half uur in koud water staan om het overtollige zetmeel weg te spoelen. Dep ze daarna goed droog. Meng per halve kilo aardappel een eetlepel maizena of aardappelzetmeel erdoor. Besprenkel ze licht met olie, bijvoorbeeld met een sprayspuit uit de supermarkt, en bak ze 25 tot 30 minuten op 180 graden in een voorverwarmde airfryer. Controleer of ze gaar zijn en serveer ze direct, want na afkoeling verliezen ze hun knapperigheid.

Spray je voedsel in met olie voor het beste bakresultaat

Met een speciale verstuiver krijg je een mooi, dun laagje

Zo bak je alles perfect in je airfryer

Veel mensen gebruiken bakpapier of een bakvorm om hun airfryer schoon te houden. Dat kan, zolang de hete lucht maar goed kan blijven circuleren. Wordt de luchtstroom geblokkeerd, dan gaart je eten ongelijkmatig en blijft het minder krokant.

Een beetje olie doet wonderen. Je hebt er niet veel van nodig, maar zonder olie blijven gerechten vaak bleek of droog. Voorgepaneerde snacks, zoals een schnitzel uit de supermarkt, krijgen pas een mooi bruin korstje als je ze licht insprayt met olie. Invetten met een kwastje kan ook, al verdeelt een spray de olie meestal gelijkmatiger.

Blijft het resultaat tegenvallen? Controleer dan of je airfryer de juiste temperatuur haalt. Dat kan met een oventhermometer: verwarm de airfryer vijf minuten voor, zet de thermometer erin en laat hem nog vijf minuten draaien op de ingestelde stand. Zo weet je meteen of de temperatuur klopt.

Lees ook: Airfryers met slimme schoonmaak- en opbergfuncties

Weten welke airfryers nu extra voordelig zijn?

Je heckt het op de prijsdalerspagina van Kieskeurig.nl

View post on TikTok