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
Nieuwe inductiekookplaten van Pelgrim houden je kookstand vast, ook als je de pan verplaatst
© Pelgrim
Huis

Nieuwe inductiekookplaten van Pelgrim houden je kookstand vast, ook als je de pan verplaatst

Pelgrim brengt drie nieuwe inductiekookplaten uit die automatisch herkennen waar een pan staat en instellingen meenemen wanneer je die verplaatst. Bovendien gebruikt de IK4-serie een eigen inductietechniek die stiller en gelijkmatiger werkt dan eerdere modellen.

De kookplaten in de IK4-serie hebben een aparte slidebediening per zone, waarmee je de temperatuur in één beweging instelt. Door pandetectie wordt een pan direct herkend en schakelt de juiste zone in. Verplaats je de pan, dan neemt de kookplaat de ingestelde stand automatisch over op de nieuwe positie. Speciale programma's zoals de Smelt-, Warmhoud- of Aankook-functie (een opwarmfunctie waarmee je iets snel aan de kook kunt brengen)  helpen bij veelvoorkomende bereidingen. De in eigen huis ontwikkelde techniek levert een constant vermogen, waardoor de temperatuur stabiel blijft en het typische aan-uitpendelen uitblijft. Daardoor kun je veel preciezer koken.

Pandetectie uitgelegd

Pandetectie herkent automatisch wanneer je een pan op de kookplaat zet en activeert direct de juiste zone. Bij de IK4-serie wordt een ingestelde kookstand meegenomen wanneer je de pan naar een andere plek verplaatst. Je hoeft daardoor geen instellingen opnieuw te kiezen en kunt tijdens het koken sneller een pan ergens anders neerzetten.

©Pelgrim

De serie is uitgevoerd in kras- en stootvast keramisch glas met een facetrand. De kookzones zijn subtiel gemarkeerd en flexzones bieden ruimte voor pannen van verschillende formaten. Via de ConnectLife-app kun je instellingen aanpassen, timers instellen en recepten raadplegen. Ook onderhoudstips en updates zijn beschikbaar in de app.

Het 60-cm-model IK4064F biedt vier zones, waaronder een grote zone van 23 centimeter, plus boostfuncties, timers en een pauzestand. De 70 centimeter brede IK4072F heeft vier flexibele zones die je kunt combineren tot een groter kookoppervlak. De IK4083F (80 cm) heeft twee ruime flexzones en twee ronde zones voor wie veel plaats nodig heeft. Alle drie hebben per zone een sliderbediening, pandetectie en dezelfde automatische programma’s. De modellen passen in een standaard nismaat.

Beschikbaarheid

De Pelgrim IK4064F (EAN 8715393398178; adviesprijs 829 euro), IK4072F ((EAN 8715393398185; adviesprijs 899 euro) en IK4083F (EAN 8715393398192; adviesprijs 999 euro) zijn per direct verkrijgbaar bij de keukenspeciaalzaak.

©Pelgrim

▼ Volgende artikel
Review TCL Q65H – Betaalbare soundbar met krachtig tv-geluid
© Maikel Dijkhuizen
Huis

Review TCL Q65H – Betaalbare soundbar met krachtig tv-geluid

TCL staat vooral bekend om zijn betaalbare televisies, maar het Chinese merk brengt ook prijsvriendelijke soundbars op de markt. Zo heeft de recent verschenen Q65H interessante specificaties. Naast een forse soundbar met ondersteuning voor Dolby Atmos is er ook een draadloze subwoofer bijgesloten. Hoe bevalt dit nieuwe audiosysteem in de praktijk?

Fantastisch
Conclusie

In een kleine tot middelgrote woonkamer komt de TCL Q65H goed uit de verf. Dankzij meerdere zorgvuldig gepositioneerde audiodrivers, een krachtige subwoofer en een riant piekvermogen creëer je met dit audiosysteem en volwaardige thuisbioscoop dat luid kan spelen. Heb je geen ruimte of budget om een home-cinemaset met losse luidsprekers op te tuigen, dan is deze vriendelijk geprijsde soundbar/subwoofer-combinatie een uitstekend alternatief.

Plus- en minpunten
  • Betaalbaar
  • Stijlvol vormgegeven
  • Ophangsysteem inbegrepen
  • Veel aansluitopties
  • Audiokalibratie via app
  • Ruimtelijk geluid
  • Luide bas
  • Ondersteuning Dolby Atmos en DTS:X
  • Stemmen versterken
  • Geen écht surroundgeluid
  • Matig stereobeeld bij muziek

Anders dan zijn relatief bescheiden prijskaartje van amper 300 euro wellicht doet vermoeden, is de TCL Q65H stijlvol vormgegeven. De soundbar van 1,05 meter heeft een nette afwerking van matzwart kunststof en geborsteld aluminium. De voorkant en beide zijkanten zijn voorzien van speakerstof. Het geheel oogt erg chic.

Dankzij een geringe hoogte van 6,8 centimeter plaats je deze langwerpige speaker moeiteloos voor de meeste televisies. De behuizing zal het beeld niet zo gauw blokkeren. Liever ophangen? Gebruik in dat geval de twee bijgesloten muurbeugels. Het formaat van de subwoofer is met 22 × 36,9 × 27,5 centimeter behoorlijk fors. Reserveer hiervoor een plekje op de vloer.

©Maikel Dijkhuizen

TCL levert onder meer een afstandsbediening, HDMI-kabel en wandmontageset mee.

Soundbar aansluiten

Je verbindt de Q65H zowel via HDMI-eARC als via de optische ingang met een televisie. Daarnaast telt de achterzijde nog een tweede HDMI-poort, zodat je bijvoorbeeld een tv-decoder, blu-ray-speler of gameconsole kunt aansluiten. Verder koppel je via usb eventueel een externe schijf of usb-stick met audiobestanden. Voor soundbarbegrippen heeft dit model veel aansluitopties.

Nadat de soundbar en subwoofer zijn aangesloten, koppel je ze draadloos aan elkaar. Dat gaat met behulp van de pairknop erg vlot. Op een klein display achter het speakerdoek verschijnt de term 'Sub connected'. Eenmaal aangesloten kies je op de sobere afstandsbediening de gewenste bron.

Verder loont het de moeite om direct na het aansluiten de TCL Home-app te installeren. Via de microfoon van de smartphone stemt de soundbar zijn geluid af op diverse akoestische eigenschappen van de luisterruimte. Het resultaat is een betere audioweergave. De kalibratie van deze zogeheten AI Sonic-functie duurt enkele minuten. Je gebruikt de app ook om nieuwe software-updates te installeren en equalizerinstellingen te wijzigen.

©Maikel Dijkhuizen

De achterzijde heeft diverse aansluitingen om een televisie en overige bronnen aan te sluiten.

©Maikel Dijkhuizen

Installeer voor extra opties de TCL Home-app op een smartphone.

Films, series en muziek

TCL vermeldt een totaal piekvermogen van maar liefst 580 watt, waarvan er 150 watt is gereserveerd voor de subwoofer. Deze belofte is niet uit de lucht gegrepen, want de soundbar en basspeaker produceren samen een nogal vol geluid. Bij recente Netflix-streams vliegen de geluidseffecten je om de oren. De fabrikant heeft de actieve audiodrivers in de behuizing naar voren én zijwaarts gericht. Zeker in de beschikbare film- en gamemodus wekt deze opstelling enigszins de illusie van surroundgeluid, al klinkt het gebruik van échte surroundspeakers nog altijd een stuk beter. Desalniettemin is het ruimtelijke geluid een knappe prestatie. Mooi meegenomen is dat de Q65H een Dolby Atmos- en DTS:X-audiospoor kan verwerken.

Tijdens bombastische actiescènes laat de subwoofer zich duidelijk horen. Je kiest met de afstandsbediening tussen drie basniveaus, maar bij de luidste stand kunnen de buren waarschijnlijk meegenieten. Sowieso kan dit audiosysteem erg luid spelen. In combinatie met een ruimtelijk en helder geluid beleef je films en series voortaan intenser. Kun je bepaalde personages moeilijk verstaan, dan druk je gewoon op de Voice-knop van de afstandsbediening. De soundbar versterkt vervolgens menselijke stemmen.

Je kunt de soundbar ook gebruiken om muziek te luisteren. Via de ingebakken bluetooth5.3-module koppel je rechtstreeks een smartphone of tablet. Stream vervolgens een afspeellijst van Spotify, Apple Music of een andere muziekdienst. Hoewel de liedjes best redelijk klinken, haalt de geluidskwaliteit het niet bij een versterker of receiver met losse speakers. Logisch, want de audiodrivers zitten in de langwerpige luidspreker te dicht op elkaar om een duidelijk stereobeeld te realiseren. Voor een achtergrondmuziekje voldoet het prima.

©Maikel Dijkhuizen

Voor liefhebbers van films, series en tv-programma's biedt deze soundbar/subwoofer-combinatie veel meerwaarde.

TCL Q65H kopen?

In een kleine tot middelgrote woonkamer komt de TCL Q65H goed uit de verf. Dankzij meerdere zorgvuldig gepositioneerde audiodrivers, een krachtige subwoofer en een riant piekvermogen creëer je met dit audiosysteem en volwaardige thuisbioscoop dat luid kan spelen. Heb je geen ruimte of budget om een home-cinemaset met losse luidsprekers op te tuigen, dan is deze vriendelijk geprijsde soundbar/subwoofer-combinatie een uitstekend alternatief.