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
Switch-versie van Dispatch is gecensureerd
Huis

Switch-versie van Dispatch is gecensureerd

Belangrijk om te weten voor iedereen die Dispatch op een Switch of Switch 2 wil aanschaffen: de game is op die platforms gecensureerd, en dit kan niet uitgezet worden.

Dispatch kwam afgelopen jaar al uit op platforms als pc en PlayStation 5, en is sinds eerder deze week ook te koop voor Nintendo Switch en Nintendo Switch 2. Veel Switch-gamers keken al lange tijd uit naar de release van deze geprezen indiegame.

Censuur in Dispatch

Nu blijkt echter dat Dispatch op Switch-consoles gecensureerd is. De game bevat zo nu en dan scènes waarin (getekende) naaktheid voorkomt. Ook zitten er andere volwassen beelden in, zoals het opsteken van een middelvinger. In de andere platformversies zit er als optie de mogelijkheid deze beelden te censureren, maar spelers kunnen dit zelf bepalen door het aan of uit te zetten.

Op Switch en Switch 2 blijkt dit dus niet het geval: daar is het censuur vooralsnog verplicht. Volgens Dispatch-ontwikkelaar AdHoc (via Eurogamer) is dit gedaan omdat de game aan bepaalde regels moet doen om op de Nintendo eShop uit te komen.

Het lijkt er dan ook niet op dat er een patch uitkomt waarmee spelers het alsnog zelf kunnen bepalen, al is de kritiek online niet mals. Mocht die kritiek groeien, dan wordt er wellicht alsnog wat aan gedaan, maar dit is vooralsnog niet bevestigd.

Mogelijk heeft het te maken met strengere regels in bepaalde regio's - zoals Japan. Het zou kunnen dat AdHoc er voor heeft gekozen één versie van het spel voor alle regio's uit te brengen, waardoor het censuur voor alle regio's geldt. In Japan is de PS5-versie van de game bijvoorbeeld ook gecensureerd.

Nintendo heeft in een statement aan NintendoLife niet veel meer duidelijkheid gegeven over de situatie. Het bedrijf benadrukt dat leeftijdsclassificaties door onafhankelijke organisaties worden gegeven, maar dat het ook zelf richtlijnen voor zijn platforms heeft. "We informeren partners wanneer hun games niet aan deze richtlijnen voldoen, maar Nintendo past zelf niet de content van partners aan."

Watch on YouTube

Nintendo en volwassen games

Nintendo zelf heeft in het verleden enkele controversiële keuzes gemaakt rondom censuur. Nintendo's spelcomputers staan er om bekend dat ze voor de hele familie bedoeld zijn, en in het verleden zorgde dit er bijvoorbeeld voor dat rood bloed met een andere kleur werd vervangen.

De laatste jaren leek Nintendo echter steeds coulanter te worden op het gebied van het vertonen van geweld en andere volwassen beelden in games. Diverse andere Switch 2- en Switch-games tonen wel volwassen materiaal, dus het is niet duidelijk waarom Dispatch dan toch gecensureerd is. Wellicht ligt het aan de combinatie met de tekenfilmachtige beelden in de game.

Over Dispatch

Dispatch draait om de aan lager wal geraakte superheld Robert Robertson. Tegenwoordig vult hij zijn tijd met een kantoorbaan, waarbij hij de administratie van andere superhelden verzorgt. Toch hoopt hij zelf uiteindelijk ook weer de held uit te kunnen hangen.

De game heeft daarmee een focus op het narratief, en doet daardoor meer dan eens denken aan de adventuregames van Telltale Games. Ontwikkelaar AdHoc bestaat dan ook gedeeltelijk uit voormalige werknemers van de studio achter de The Walking Dead-spellen.

Dispatch heeft daarbij een sterrencast die de rollen van de personages vervullen. Denk aan Aaron Paul (in de rol van de hierboven genoemde Robert), Jeffrey Wright (The Last of Us, Westworld, Matthew Mercer en Laura Bailey.

Dispatch is gestructureerd als een seizoen van een serie - de game kwam uit verspreid over meerdere episodes. AdHoc heeft eerder al laten weten dat een 'tweede seizoen' wordt overwogen.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Eerste Fallout-seizoen tijdelijk gratis te zien
Huis

Eerste Fallout-seizoen tijdelijk gratis te zien

Het is tijdelijk mogelijk om het eerste seizoen van de Amazon Prime Video-serie Fallout geheel gratis te zien.

De Fallout-serie is normaliter alleen te zien door een Amazon Prime Video-abonnement af te sluiten, maar de komende tijd zal het bedrijf gratis de afleveringen van het eerste seizoen op YouTube uitbrengen. Op moment van schrijven staan de eerste twee afleveringen er op, en de komende dagen volgt de rest.

De gratis afleveringen kunnen via het YouTube-kanaal van Amazon Prime Video bekeken worden. Tot 12 februari kan het eerste seizoen gratis via YouTube bekeken worden.

De gratis afleveringen zijn duidelijk bedoeld als promotie voor de serie, waarvan het tweede seizoen nu bezig is op Amazon Prime Video. Op 1 februari zal de laatste aflevering van dat tweede seizoen op Amazon Prime Video verschijnen.

Watch on YouTube

Het succes van Fallout

In 2024 begon de fictieve Fallout-serie al op Amazon Prime Video, gebaseerd op de games van Bethesda. Met acteurs als Ella Purnell, Walton Goggins en Kyle MacLachlan wordt een alternatieve geschiedenis (en toekomst) geschetst waarbij de Verenigde Staten door een nucleaire winter geteisterd worden. Diverse samenlevingen houden het jarenlang vol in schuilkelders, en wanneer ze daar weer uit durven te komen, maken ze kennis met een aardoppervlakte die voorgoed veranderd is.

De serie bleek een grote hit en het eerste seizoen behaalde meer dan honderd miljoen kijkers. Ondertussen is al bevestigd dat er een derde seizoen komt - de opnames daarvan zullen in mei van start gaan.

Ook werkt Amazon aan een realityshow rondom Fallout, waarin deelnemers in een schuilkelder moeten leven en deel zullen nemen aan diverse spellen. Volgens de beschrijving "is het een spel van machtspatronen, populariteit en sociale strategieën waarbij uiteindelijk een gigantische geldprijs gewonnen kan worden". Verdere concrete detail zijn er nog niet, en het is ook niet duidelijk vanaf wanneer de realityshow op Amazon Prime Video te zien zal zijn.

Watch on YouTube
Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.