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
Alles over Highguard - waarom heeft iedereen het over deze shooter?
© Wildlight Entertainment
Huis

Alles over Highguard - waarom heeft iedereen het over deze shooter?

Op 26 januari kan de wereld aan de slag met Highguard. Het lijkt erop dat iedereen weet wat Highguard is, terwijl tegelijkertijd ook niemand precies weet wát Highguard nou precies is. In dit artikel zetten we dus uiteen wanneer je de game kunt spelen, en waarom deze titel van Wildlight Entertainment zoveel aandacht krijgt.

Releasedatrum van Highguard

Highguard is vanaf vandaag, 26 januari, rond 19:00 uur Nederlandse tijd beschikbaar op pc, PlayStation 5 en Xbox Series X en S. De exacte releasetijd is nog niet bekend, maar vermoedelijk zal de game rond die tijd op alle platforms beschikbaar worden.

Daarbij is het spel free-to-play, dus je hoeft niets te betalen om Highguard te spelen. Daarbij ondersteunt de game crossplay en cross-save, dus je kunt de game samen met vrienden op andere platforms spelen en je progressie op andere platforms meenemen. Het spel is niet te preloaden, maar vereist op pc in ieder geval 25 GB aan beschikbare opslagruimte.

Met de lancering van het spel zendt ontwikkelaar Wildlight Entertaiment om 19:00 uur Nederlandse tijd ook direct een zogenaamde Launch Showcase uit op YouTube - ook hieronder te bekijken. De studio belooft in deze showcase een ‘deepdive in de gameplay’ van Highguard te tonen, de contentplannen voor het eerste jaar uit de doeken te doen en nog ‘veel meer’. 

Watch on YouTube

Wat is Highguard?

Aan team-based PvP heroshooters als Overwatch is geen gebrek, maar Highguard lijkt zich bij die groep te scharen. Het spel wordt ontwikkeld door Wildlight Entertainment, dat weer bestaat uit oud-ontwikkelaars van onder andere Titanfall en Apex Legends. Mensen die dus meer dan prima shooters in elkaar hebben gedraaid, waardoor de interesse toch ietwat gewekt wordt. 

Ieder team in de game bestaat uit drie zogenaamde Wardens, waarvoor verschillende personages gekozen kunnen worden. In de trailer zien we bijvoorbeeld een ridderachtige personage, die met een speciale vaardigheid elektrische stokken rond kan gooien. Ook is er een groot ijsmonster dat schijnbaar muren kan laten verschijnen, een soort cowboy met beestachtige klauwen en een personage dat met messen kan gooien. Ook heeft ieder personage schijnbaar toegang tot geweren om het vijandelijke team mee te bevechten.

Het doel van een potje is namelijk het vinden van de ‘Shieldbreaker’, een soort groot zwaard waarmee je de basis van de tegenstanders open kan breken en uiteindelijk overnemen. Wanneer dit lukt is het potje gewonnen. In de context van de game krijgt jouw team op die manier de controle over het continent. 

©Wildlight Entertainment

Waarom is er zoveel om Highguard te doen?

Wildlight positioneert de game in hun marketing als een “nieuw soort shooter”, maar veel spelers zijn op basis van de trailer nog niet overtuigd. Highguard doet qua opzet van de potjes wel een paar dingen anders dan hero-shooters als Overwatch en Marvel Rivals, maar zoals Concord in 2024 liet zien is de huidige markt voor dit subgenre binnen shooters redelijk verzadigd. Velen zijn simpelweg nog niet overtuigd dat Highguard daadwerkelijk iets vernieuwends met zich mee weet te brengen.

Dit valt ook te verwijten aan een opvallend gebrek aan marketing van de game. Zo’n anderhalve maand voor release hoorden we voor het eerst van Highguard, toen de trailer werd getoond als afsluiter van The Game Awards. Normaliter is de laatste aankondiging van die show een van de hoogtepunten, maar Highguard wist mensen niet te enthousiasmeren. 

De gesprekken rondom Highguard werden echter nog vreemder, toen opviel dat Wildlight geruime tijd niets meer plaatste op sociale media over de game. Na de initiële aankondiging van de game werd er wekenlang niets meer geplaatst op het X-account van Highguard, tot drie dagen voor launch - toen het bedrijf een countdown startte. Ook dit maakte het lastig om enthousiast te worden voor Highguard. 

©Wildlight Entertainment

In de afgelopen dagen doken er berichten en geruchten op die stelden dat Geoff Keighley - de presentator en oprichter van The Game Awards - Highguard specifiek had uitgekozen als afsluiter van The Game Awards, omdat hij hier wel iets in zag. Op 25 januari plaatste Keighley een gif op X, waarin John Hammond uit Jurassic Park zegt: “Over 48 uur accepteer ik jullie verontschuldigingen”. 

Natuurlijk gunnen we iedere game waar tijd en passie in heeft gezeten het beste, maar het is ook niet te ontkennen dat het verhaal rondom Highguard op zijn minst frappant te noemen is. Nou ja, vanaf 19:00 uur kunnen we het spel zelf onder handen nemen. Verwacht daarom binnenkort impressies op onze socials en ID.nl.

▼ Volgende artikel
Review Motorola Moto G57 Power – Praktisch werkpaard
© Wesley Akkerman
Huis

Review Motorola Moto G57 Power – Praktisch werkpaard

De Motorola G57 Power valt op in het segment van betaalbare smartphones, vooral vanwege zijn grote uithoudingsvermogen. De adviesprijs is 250 euro en dat betekent dat je wel wat consessies doet - maar níet op batterijduur en robuustheid.

Goed
Conclusie

Ben je op zoek naar een smartphone met een maximale accuduur, dan is de Motorola Moto G57 Power een uitstekende keuze. Met zijn gigantische 7000 mAh-batterij en de efficiënte Snapdragon-chipset zet het toestel een fijne standaard in het budgetsegment. De camera en het beperkte updatebeleid zijn duidelijk zwakkere punten, maar het robuuste ontwerp en de schone Android-ervaring maken veel goed. Al met al is de G57 Power een nuchtere, betrouwbare smartphone voor wie niet telkens naar de oplader wil grijpen.

Plus- en minpunten
  • Onverslaanbare accuduur
  • Robuust gebouwd
  • Schone software
  • Praktische extra's
  • Betrouwbare hoofdcamera
  • Beperkte updates
  • Wat forser formaat
  • Oplaadtijd kan korter
CategorieSpecificatie
Display6,72 inch Full HD+ LCD, 120Hz verversingssnelheid, tot 1050 nits helderheid
ProcessorQualcomm Snapdragon 6s Gen 4 (4nm)
Geheugen8 GB LPDDR4X (uitbreidbaar tot 24 GB via RAM Boost)
Opslag128 GB ingebouwd (uitbreidbaar)
Batterij7000 mAh met 33W TurboPower snelladen
Camera's achter50 MP hoofdcamera (Sony LYTIA 600, f/1.8), 8 MP ultragroothoek (119.5°)
Camera voor8 MP selfiecamera (f/2.2)
VideoTot 2K op 30 fps (voor en achter), Full HD tot 60 fps
SoftwareAndroid 16
BouwVegan leather achterzijde, Gorilla Glass 7i, IP64-gecertificeerd, MIL-STD 810H
Connectiviteit5G, wifi, bluetooth 5.1, GPS, NFC
AudioStereo luidsprekers met Dolby Atmos, Hi-Res Audio, 3,5mm headset jack

Om met dat laatste te beginnen: de Motorola Moto G57 Power beschikt namelijk over een riante batterij van 7.000 mAh. Hoewel het toestel met 210 gram en een dikte van 8,6 mm iets zwaarder aanvoelt dan concurrenten, blijft het ontwerp dankzij de afwerking van veganistisch leer prettig hanteerbaar. Motorola kiest daarnaast voor een vertrouwde ontwerptaal met opvallende Pantone-kleuren zoals Regatta en Corsair. Ondanks de kunststof behuizing blijft de bouwkwaliteit robuust; het beschikt over een MIL-STD-810H-certificering en IP64-classificatie, wat bescherming biedt tegen vallen, stof en waterspatten.

Het 6,72-inch lcd-scherm levert met zijn Full HD-resolutie en 120Hz-beeldverversing een vloeiende ervaring en een fijne piekhelderheid van 1.050 nits. De kleuren ogen bovendien levendig genoeg voor films, series en games. Verder is het display beschermd met Gorilla Glass 7i en kun je het met natte vingers blijven bedienen door de Water Touch-technologie. De Moto G57 beschikt tot slot over een audiojack (wow!), usb-c-poort en ondersteuning voor Dolby Atmos. De dikke onderrand is eigenlijk het enige visuele minpunt aan het design.

©Wesley Akkerman

©Wesley Akkerman

Onderscheidende batterijduur

De Moto G57 Power onderscheidt zich zoals gezegd door een enorme 7.000 mAh-batterij, die bij gemiddeld gebruik moeiteloos drie dagen meegaat. Zelfs bij intensief gebruik, zoals streamen en gamen, blijft er na een volle dag vaak nog zo'n veertig procent over (maar ook dat is natuurlijk afhankelijk van hoeveel je verder doet, maar toch). En dankzij de redelijke oplaadsnelheid van 33 watt kun je het toestel in principe met iets meer dan een uur volledig opladen. Hecht je dus waarde aan een smartphone die lang meegaat, dan zal deze specialisatie je bevallen.

Onder de motorkap zit de nieuwe Snapdragon 6s Gen 4-processor, een zuinige chip die vlot genoeg is voor dagelijks gebruik en multitasking. Met 8 GB werkgeheugen loopt alles soepel, en ook een aantal populaire games draaien prima op gemiddelde instellingen zonder dat het toestel warm wordt. In combinatie met de forse accu en 128 GB uitbreidbare opslag voelt de Motorola Moto G57 Power aan als een nuchter, praktisch toestel dat doet wat het moet doen.

©Wesley Akkerman

©Wesley Akkerman

Prima software en camera's, maar…

De Motorola Moto G57 Power draait verder op Android 16 (nu de meest recente versie) met de verfijnde Hello UI. Het is een schone en opgeruimde ervaring met handige extra's zoals de voor velen bekende Moto-gebaren voor de zaklamp en camera. Qua ervaring heeft Motorola de animaties wat verbeterd (die zijn nu wat soepeler), maar het updatebeleid laat nog wat wensen over. Voor 250 euro kun je niet alles verwachten, maar één enkele Android-upgrade is wel karig. Daardoor is de kans groot dat je sneller dan gehoopt weer aan een nieuwe telefoon toe bent..

De cameraopstelling tot slot wordt geleid door een 50 MP Sony-hoofdsensor die bij goed daglicht verrassend natuurlijke kleuren en details vastlegt. Hoewel de 8 MP ultragroothoeklens minder presteert en foto's bij weinig licht wat zachter worden, zijn de resultaten voor deze prijsklasse best te pruimen. De selfiecamera blinkt uit in realistische huidtinten. Het camerasysteem is desondanks geen hoogvlieger, maar ook hier moeten we rekening houden met de prijs en het marktsegment. De camera's zijn duidelijk niet de prioriteit bij dit toestel.

0,5x
1x
2x

Motorola Moto G57 Power kopen?

Ben je op zoek naar een smartphone met een maximale accuduur, dan is de Motorola Moto G57 Power een uitstekende keuze. Met zijn gigantische 7000 mAh-batterij en de efficiënte Snapdragon-chipset zet het toestel een fijne standaard in het budgetsegment. De camera en het beperkte updatebeleid zijn duidelijk zwakkere punten, maar het robuuste ontwerp en de schone Android-ervaring maken veel goed. Al met al is de G57 Power een nuchtere, betrouwbare smartphone voor wie niet telkens naar de oplader wil grijpen.