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
Waar voor je geld: 5x betaalbaar funcooken met je hele gezin
© ID.nl
Huis

Waar voor je geld: 5x betaalbaar funcooken met je hele gezin

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. Wil je funcooken voor een aantrekkelijke prijs? We hebben vijf interessante apparaten voor je gespot die niet duurder zijn dan 190 euro.

Solis 5 in 1 tafelgrill (7910)

Zoek je een kwalitatief gourmetstel waarmee je jarenlang vooruit kunt? Dit luxe exemplaar van Solis voldoet aan alle eisen. Met de traploze regelaar aan de voorzijde kun je heel precies de gewenste temperatuur instellen. Bak vervolgens op de grillplaat de lekkerste hapjes gaar. Daarnaast kun je ook een van de vier bijgesloten miniwoks of (raclette)pannetjes gebruiken. Hiermee maak je bijvoorbeeld een kleine pannenkoek of pizza.

De werking is kinderlijk eenvoudig. Zodra je het kooktoestel inschakelt, gaat er eerst een rood lampje branden. Het gourmetstel is nu aan het opwarmen. Als het lampje groen kleurt, kan het eetfestijn beginnen. Is een gerecht zo heet dat je je mond kunt branden? Plaats het pannetje of de miniwok dan even in de koudzone onderin het toestel. Naast de eerder genoemde accessoires levert de fabrikant ook nog vier spatels mee.

Princess 162655 Black Steel Raclette

De betaalbare Princess 162655 Black Steel Raclette valt bij heel wat Kieskeurig.nl-testers goed in de smaak, want zij beoordelen dit gourmetstel met een 8,3 (gemiddeld cijfer). Verschillende reviewers vinden het prettig dat dit apparaat zich makkelijk laat schoonmaken. De losse onderdelen kunnen bovendien in de vaatwasser. Een ander pluspunt is dat het gourmetstel volgens diverse gebruikers snel opwarmt. Niet vreemd, gezien het respectabele vermogen van 1300 watt.

Het gourmetstel heeft een riant bakoppervlak van 44 × 25 centimeter. Dankzij de stevige anti-aanbaklaag heb je geen bakboter of olie nodig om te grillen. Het apparaat leent zich prima voor een ruim gezelschap, want de productdoos telt acht (raclette)pannetjes met een houten handvat en evenzoveel spatels. Via een draaiknop reguleer je nauwkeurig de temperatuur. Overigens vindt een enkele tester het netsnoer wat aan de korte kant.

Tefal WokParty Duo PY5828

Wie met een groepje gezellig wil wokken, kan dit leuke kooktoestel van Tefal eens uitproberen. Er zijn zes diepe pannen bijgesloten. Dankzij de gekleurde markering op het handvat weet iedereen precies welk pannetje van hem of haar is. De bakplaat bevat ronde uitsparingen, waardoor de boel niet gaat schuiven. Hierin kun je trouwens ook prima mini-pannenkoeken bakken. Speciaal daarvoor is er een handige gietlepel inbegrepen. Verder telt de verpakking zes spatels.

De WokParty Duo PY5828 heeft een zogeheten Thermo-spot. Hieraan zie je in hoeverre het kooktoestel op temperatuur is. Met een vermogen van duizend watt hoef je niet zo lang te wachten. Tefal levert een receptenboek mee, zodat je inspiratie kunt opdoen. Klaar met tafelen? Stop dan alle losse accessoires in de vaatwasser. Handig is dat je het netsnoer, de spatels en de gietlepel in de onderkant kunt opbergen.

Lees ook: Zo voorkom en verwijder je vieze luchtjes na het gourmetten

Emerio PO-113255.4

Pizzaliefhebbers opgelet! De binnenzijde van deze Emerio fungeert als een kleine oven. Op die manier kunnen maximaal zes personen hun eigen mini-pizza bakken. Met behulp van de bakspatel schuif je de lekkernij moeiteloos in de oven. Geen zin in pizza? In de zes bijgesloten pannetjes kun je allerlei andere gerechten klaarmaken. Bovendien bevindt zich bovenop een ronde grillplaat met een diameter van veertig centimeter. Daar kun je dus behoorlijk wat hapjes op kwijt!

De bediening heeft weinig om het lijf, want de behuizing bevat alleen een aan-uitknop. Met een riant vermogen van 1500 watt worden de gerechten goed warm. De maximale oventemperatuur bedraagt dan ook 250 graden. Volgens de fabrikant houdt de koepelvormige behuizing de warmte in de (pizza)over beter vast. Diverse accessoires zijn vaatwasserbestendig, zodat je na afloop niet zoveel tijd kwijt bent aan schoonmaken.

Princess Dinner4All

Als je met een groepje gaat gourmetten, staat het kooktoestel voor sommige personen wellicht te ver weg. Daar heeft Princess iets op bedacht. Met de Dinner4All bedient iedereen zijn eigen bakplaat van 250 watt. Even een satéstokje of biefstukje omdraaien is dus zo gepiept. Is het hapje eenmaal gaar, dan schuif je het zo op je eigen bordje. Princess levert hiervoor vier aardewerken-borden mee.

Je sluit de centrale unit aan op netstroom, waarna je hierop maximaal vier individuele gourmetstellen kunt aansluiten. Vermenging van smaken is dus verleden tijd! Plaats op deze unit eventueel de inbegrepen serveerschaal. Zo kan iedereen zijn of haar favoriete hapjes pakken. Wil je weten hoe andere gebruikers dit slimme gourmetstel beoordelen? Lees dan eens deze reviews op Kieskeurig.nl. Dit kooktoestel is als alternatief ook met twee individuele bakplaten te koop.

▼ Volgende artikel
De top 5 beste wintersportgames
© Ubisoft
Huis

De top 5 beste wintersportgames

De Olympische Winterspelen gaan bijna van start, en het zien van al die atleten in de kou werkt op een bepaalde manier toch inspirerend. Terwijl je dus uitkijkt naar de volgende skivakantie (of juist liever thuisblijft om gebroken botten te voorkomen), kun je jouw wintersportdromen vervullen dankzij videogames. Hieronder staan vijf van de beste wintersportgames waarin je je helemaal kunt uitleven.

⛷️🏂 🪂 Steep

Platforms:PlayStation 4, Xbox One, pc

Een van de meest moderne en toegankelijke wintersportgames komt uit de stal van het Franse Ubisoft, dat in 2016 Steep uitbracht. De game combineert verschillende sporten zoals skiën, snowboarden, parachutespringen en… vliegen met jetpacks? Deze sporten doe je op de Mont Blanc, de hoogste berg in de Alpen - en Europa trouwens. De physics is wat Steep bijzonder maakt: het is een veel realistischere insteek dan bijvoorbeeld SSX.

In Steep beweeg je je al sleeënd en skiënd over deze berg, waar ondertussen ook allerlei andere spelers rondbewegen, wat een bijzonder gevoel van samenhorigheid geeft. Ook kun je dus in alle rust wintersporten met vrienden als een soort virtuele skivakantie. De game draait in principe om het onder de knie krijgen van de verschillende soorten wintersport om zo de 'Ultimate Legend' te worden, maar in alle rust genieten van de Alpen is net zo goed een optie.

Overigens is er ook een soort vervolg in de vorm van Riders Republic, een game die zich meer richt op zomersporten maar ook het snowboarden uit Steep uitstekend overneemt en verbetert.

Watch on YouTube

🏂 SSX 3

Platforms: GameCube, PlayStation 2, Xbox, GameBoy Advance

Wie aan wintersport in games denkt, komt waarschijnlijk zeer snel uit op de SSX-reeks. Het derde deel in die franchise is misschien wel de meest geliefde, vanwege de keiharde soundtrack, grote hoeveelheden complexe trucs die je kunt uitvoeren en een meeslepende, met vele collectables gevulde open wereld om in te snowboarden. De game kwam uit in 2003, en werd toentertijd ook sterk geprezen om de indrukwekkende physics en graphics.

De open wereld van het spel is een soort aaneenschakeling van alle courses waar je op snowboardt. Daar kun je dus in op zichzelf staande races op rondscheuren en tegenstanders van hun bord af meppen, of op je eigen tempo trucs oefenen terwijl je jamt op nummers van onder andere de Black Eyed Peas. Als je nog een PlayStation 2, GameCube of originele Xbox hebt staan is dit het perfecte moment om weer met grandioze tricks te gooien. En mocht je die niet hebben, dan is de game backwards compatible op Xbox.

©Electronic Arts

⛷️🏂 🥌⛸️Mario and Sonic at the Olympic Winter Games

Platforms: Wii, DS

Ooit was de rivaliteit tussen Mario en Sonic zó groot dat er gehele marketingcampagnes vanuit de ontwikkelaars werden gevoerd - Sega does what Nintendon't bijvoorbeeld. Door de jaren heen is die storm gaan liggen, maar in de Mario and Sonic sport-spellen konden fans van beide kampen hun conflicten toch nog een beetje uitvechten. Je kunt namelijk zowel Mario- als Sonic-personages selecteren en deelnemen aan de Olympische Spelen.

In de game uit 2009 gaat het specifiek om de Winterspelen, dus onder de activiteiten vallen in dit deel onder andere sporten als skiën, bobsleeën en schaatsen. Daarbij maakten beide versies van het spel - op de Wii en DS - allebei op eigen manieren gebruik van motion controls of de touchscreen om deze spellen speelbaar te maken. Dat maakt een wintersportervaring die ook zonder de kleurrijke personages uniek is.

Watch on YouTube

⛷️Lonely Mountains: Snow Riders

Platforms:pc, Xbox Series, PlayStation 5

Skiën kan best een rustgevende bezigheid zijn, zeker met een mooi uitzicht en wanneer niemand zijn of haar botten breekt. In Lonely Mountains: Snow Riders komen beide van die aspecten naar voren, terwijl je steeds sierlijker naar de onderkant van een berg beweegt. Waar het juiste pad vinden aanvankelijk wellicht lastig lijkt, word je er na verloop van tijd handiger in, en een bijkomend voordeel is dat je bij een crash zelf geen botbreuken oploopt. Je blijft het gewoon proberen.

Jouw afdaling van de berg perfectioneren kun je in Snow Riders trouwens ook met een aantal vrienden doen - maximaal acht - en daarbij is het mogelijk om tegen elkaar te racen. Een fijne samenkomst van relaxatie en uitdaging, dus. Daarmee kom je wel in de sfeer voor de Winterspelen.

©Megagon Industries

⛷️🏂 🛷☃️Ski or Die

Platforms: Commodore 64, NES, MS-DOS, Amiga

We gaan nog even flink terug in de tijd, naar 1990. Toen kwam Ski or Die namelijk uit, dat weer bestond uit vijf verschillende minigames. Daaronder vallen halfpipe snowboarden, racen in een opblaasbare slee, twee versies van skiën, waarvan één draait om trucs en de ander om het afdalen van een berg zonder obstakels te raken, en als laatste: sneeuwbalgevechten.

We hebben in deze lijst al zoveel sneeuw gezien, en dit is de eerste keer dat de leukste bezigheid in de sneeuw naar voren komt. Deden ze toch goed in 1990. Misschien is het een idee om van sneeuwbalgevechten een Olympische sport te maken?

©Electronic Arts

Overige tips

Uiteraard zijn er nog meer wintersportgames die in mindere of meerdere mate nog steeds relevant zijn. Hieronder daarom nog een aantal overige tips voor games om in de stemming voor de Olympische Winterspelen te komen:

🏂 SSX: Tricky (PlayStation 2, Xbox, GameCube en Game Boy Advance)
🏂 Alto's Adventure (PlayStation 4, Xbox One, Switch, iOS, Android en pc)
🏂 1080 Snowboarding (Switch 2, Switch, Wii U, Wii en Nintendo 64)
🏂 Shaun White Snowboarding (PlayStation 3, Xbox 360, Wii, Nintendo DS, PSP en pc)
🏒 EA Sports NHL 26 (PlayStation 5, Xbox Series X en S)