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
Waar voor je geld: 5 uitgebreide receivers tot 700 euro
© Kzenon
Huis

Waar voor je geld: 5 uitgebreide receivers tot 700 euro

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. Ben je op zoek naar een goede receiver voor een scherpe prijs? Vandaag hebben we vijf interessante modellen voor je gespot.

Disclaimer Op het moment van schrijven zijn de besproken receivers bij de goedkoopste webwinkels niet duurder dan 700 euro. De prijzen kunnen schommelen.

Een receiver is het hart van een homecinema- of audioset. Het apparaat ontvangtgeluidssignalen van verschillende bronnen, zoals een televisie, gameconsole, Blu-ray-speler of streamingdienst, en stuurt die door naar de aangesloten luidsprekers. Moderne receivers kunnen niet alleen geluid versterken, maar ook beeldsignalering beheren via HDMI-aansluitingen. Ze ondersteunen surroundsound-geluidssystemen zoals Dolby Atmos of DTS:X, waardoor films, muziek en games klinken zoals bedoeld. Verder bieden veel receivers netwerkfuncties zoals Bluetooth, AirPlay en Spotify Connect, zodat je eenvoudig draadloos muziek kunt streamen. Kortom: een receiver vormt het centrale regelpunt van je audiovisuele installatie.

Yamaha RXV-6A

Met de breed verkrijgbare Yamaha RXV-6A kun je alle kanten op. Via de zeven HDMI-ingangen en één uitgang sluit je al jouw apparaten op de receiver aan. Een pluspunt is dat drie poorten 8K-videodoorgifte ondersteunen. Bovendien kan de RXV-6A met alle gangbare surround-indelingen overweg, zoals Dolby Atmos en DTS:X. Zeker bij gebruik van meerdere speakers hebben deze audioformaten wegens een meerkanaals geluid veel meerwaarde. Je sluit op dit audiosysteem hoogstens zeven luidsprekers en twee subwoofers aan.

Op audiogebied is er geen enkele reden tot klagen. Sluit bijvoorbeeld een cd-speler analoog of digitaal (optisch of coaxiaal) aan. Je luistert dankzij de geïntegreerde phono-voorversterker daarnaast net zo makkelijk naar het warme geluid van vinyl. Ben je fan van Spotify of een andere streamingdienst, dan verbind je de RXV-6A met het (draadloze) thuisnetwerk. Verder kun je vanaf een smartphone of tablet eenvoudig muziek streamen. Dat werkt via bluetooth of Apple AirPlay 2. Voor radioliefhebbers komt de DAB+-antenne goed van pas. Daarmee luister je naar digitale zenders zonder ruis. Yamaha levert voor de geluidskalibratie een meetmicrofoon mee.

Pioneer VSX-535-D

Deze receiver ondersteunt de populaire surroundformaten Dolby Atmos en DTS:X . Je kunt twee frontluidsprekers, twee surroundspeakers en een middenspeaker aansluiten. Daarnaast koppel je desgewenst één of twee subwoofers. Kun je de personages in een film, serie of tv-programma niet goed verstaan? Geen probleem, want deze receiver bevat een optie om de stemmen te versterken.

Via vier HDMI-aansluitingen en een uitgang verbind je diverse audiovisuele bronnen. De 4K-videodoorgifte voldoet volgens de huidige maatstaven prima, want er is nog maar weinig 8K-content beschikbaar. Voor het verbinden van geluidsapparatuur kies je tussen de analoge, optische en coaxiale ingang. Houd er rekening mee dat er geen phono-voorversterker is ingebouwd. Wil je evengoed een draaitafel aansluiten, dan schaf je voor enkele tientjes een losse phono-voorversterker aan.

Lees ook: Wat is een AV-receiver?

Onkyo TX-SR3100

Deze Onkyo TX-SR3100 stuurt maximaal vijf speakers aan. Dat gebeurt met een respectabel vermogen van tachtig watt per kanaal. Voeg daar eventueel één of twee subwoofers aan toe en geniet tijdens films van een vol geluid. Zoals je van deze recent verschenen receiver mag verwachten, kan het audiosysteem overweg met de populaire surroundindelingen Dolby Atmos en DTS:X. Je sluit dankzij vier HDMI-ingangen bijvoorbeeld een gameconsole, mediaspeler, tv-decoder en blu-ray-speler aan. Via de HDMI-uitgang bereiken de beelden zonder kwaliteitsverlies jouw televisie. De TX-SR3100 ondersteunt namelijk 8K-doorgifte over alle videopoorten.

Afspeellijsten, muziekalbums en podcasts van Spotify of een andere streamingdienst kun je via bluetooth doorsluizen. Je gebruikt hiervoor een smartphone of tablet. Het is niet mogelijk om deze receiver rechtstreeks met je (draadloze) thuisnetwerk te verbinden. Wel koppel je via meerdere analoge en digitale ingangen verschillende audiobronnen, zoals een cd-speler en muziekstreamer. Daarnaast luister je met behulp van de FM- en DAB+-ontvanger naar radio. Houd er rekening mee dat dit apparaat geen phono-voorversterker bevat. Wanneer je de automatische geluidskalibratie wilt uitvoeren, sluit je de bijgesloten meetmicrofoon aan.

Marantz Cinema 70s

Marantz heeft in hifiland een goede reputatie. Gelukkig fabriceert het audiomerk niet alleen maar dure producten. Zo is de Cinema 70s heel betaalbaar. Kies tussen een zilverkleurige en zwarte uitvoering. Laat je niet misleiden door de lage behuizing, want deze receiver is behoorlijk krachtig. Je sluit namelijk tot zeven speakers en twee subwoofers op de achterzijde aan. Films, series en games met een Dolby Atmos-audiospoor komen goed tot hun recht. Bij aanwezigheid van de juiste speakers hoor je zelfs geluid boven je hoofd, zoals onweer of een straaljager.

Aan aansluitingen heeft de Cinema 70s bepaald geen gebrek. Je hebt één HDMI-ingang en zes HDMI-inputs tot je beschikking. Drie daarvan ondersteunen 8K-videodoorgifte, zodat je deze receiver ook met de nieuwste gameconsoles kunt combineren. Muziek streamen is eveneens geen probleem. Je haalt afspeellijsten van Spotify of een andere streamingdienst via ethernet, wifi óf bluetooth binnen. Je bedient de muziek vervolgens met je smartphone. Als alternatief kun je diverse audiobronnen ook via analoge en digitale ingangen aansluiten. Mooi meegenomen is de geïntegreerde phono-voorversterker, want hierdoor verbind je eventueel een draaitafel.

Denon AVR-S770H

Op deze Denon AVR-S770H kun je maar liefst zeven speakers en twee subwoofers aansluiten. Daarmee tuig je een volwaardige thuisbioscoop met Dolby Atmos en DTS:X-geluid op. In combinatie met de juiste luidsprekers bereikt het geluid van films en series vanuit allerlei richtingen je oren. Uiteraard gebruik je de AVR-S770H ook voor het luisteren van muziek. Verbind de receiver met wifi of een bekabeld netwerk en stream afspeellijsten van bijvoorbeeld Spotify of Tidal. Dankzij de phono-voorversterker kun je trouwens ook een platenspeler aansluiten.

De achterzijde telt zes HDMI-poorten voor het verbinden van videobronnen. Het Japanse audiomerk heeft hierbij ook aan de toekomst gedacht, want drie HDMI-inputs ondersteunen 8K-videodoorgifte. Nuttig voor wie op termijn een 8K-televisie wil aanschaffen. De configuratie is zo gepiept. Met behulp van de inbegrepen meetmicrofoon kiest het audiosysteem op basis van de akoestische kamereigenschappen optimale geluidsinstellingen.

▼ Volgende artikel
TCL komt met vijf jaar fabrieksgarantie op geselecteerde televisies in Nederland
© TCL
Huis

TCL komt met vijf jaar fabrieksgarantie op geselecteerde televisies in Nederland

TCL trekt de stoute schoenen aan en verlengt de fabrieksgarantie op een reeks televisies naar maar liefst vijf jaar. Let wel: dit is exclusief voor de Nederlandse markt. Daarmee wil het merk consumenten meer zekerheid bieden en laten zien dat het vertrouwen heeft in de kwaliteit en levensduur van zijn toestellen.

Sinds begin deze maand kunnen kopers van geselecteerde TCL-modellen zich klaarmaken voor vijf jaar zorgeloos tv-kijken (mits zij het toestel tijdig registreren). De regeling geldt voor tientallen modellen die vanaf 1 november 2025 onder de nieuwe garantievoorwaarden vallen.

Royale uitbreiding van de standaardgarantie

De verlengde garantie is een aanvulling op de reguliere dekking die standaard op TCL-televisies zit. Alleen toestellen die in Nederland zijn verkocht én genoemd worden in een vooraf vastgestelde modellenlijst komen in aanmerking. Die afbakening is bewust: TCL wil aansluiten bij de verwachtingen van Nederlandse huishoudens en tegelijkertijd helder maken wat kopers precies mogen verwachten in de jaren na aanschaf.

©TCL

Registreren binnen 30 dagen

Er zit wel een voorwaarde aan vast: kopers moeten hun tv binnen 30 dagen registreren in een persoonlijk TCL-account. Tijdens dat proces worden modelcode, serienummer en aankoopbewijs gevraagd; daarna wordt de garantie automatisch uitgebreid naar vijf jaar. Dat klinkt misschien bemoeizuchtig, maar het zorgt ervoor dat TCL claims sneller kan beoordelen én dat consumenten precies weten waar ze aan toe zijn.

Brede selectie modellen

De lijst deelnemende televisies is opvallend ruim. Van 50-inch modellen tot kolossen van 115 inch: onder meer de 115C7K, 115X955 en diverse varianten uit de C7-, C8-, C9- en MQLED85-series doen mee, net als meerdere Q7C- en Q8C-modellen. Daarmee mikt TCL op een groot deel van de kopers die dit najaar een nieuwe tv overwegen. De complete lijst (zie kader hieronder) helpt consumenten om vooraf te checken of hun beoogde model onder de regeling valt.

alle modellen met 5 jaar garantie

115C7K, 115X955, 50C71K, 50C79K, 50C7K, 50MQLED85K, 50Q7C, 55C71K, 55C79K, 55C7K, 55MQLED85K, 55Q7C, 65C71K, 65C79K, 65C7K, 65C81K, 65C89K, 65C8K, 65C9K, 65MQLED85K, 65Q7C, 65Q8C, 75C71K, 75C79K, 75C7K, 75C81K, 75C89K, 75C8K, 75C9K, 75MQLED85K, 75Q7C, 75Q8C, 85C71K, 85C79K, 85C7K, 85C81K, 85C89K, 85C8K, 85C9K, 85MQLED85K, 85Q7C, 85Q8C, 85X11K, 98C71K, 98C79K, 98C7K, 98C81K, 98C89K, 98C8K, 98MQLED85K, 98Q7C, 98Q8C, 98X11K

'Signaal van vertrouwen'

Volgens Yann Guiho-Loyer, General Manager TCL Benelux, is de verlenging vooral bedoeld om te onderstrepen dat het merk vertrouwen heeft in de kwaliteit en levensduur van zijn televisies. Betrouwbaarheid staat centraal in de strategie, zegt hij, en een langere garantieperiode past precies in dat plaatje. Voor consumenten betekent het simpelweg vijf jaar dezelfde fabrieksondersteuning, maar dan zonder de eerdere tijdsbeperking.