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
Black Friday-topdeals van Dyson: slimme technologie voor huis en haar(d)
Huis

Black Friday-topdeals van Dyson: slimme technologie voor huis en haar(d)

Wie slim shopt, doet het nu. Tijdens Black Friday biedt Dyson forse kortingen op zijn populairste producten – van draadloze stofzuigers tot haarstylingtools met intelligente luchtstroom. Een unieke kans om echte Dyson-kwaliteit in huis te halen, met kortingen die oplopen tot honderden euro’s.

Partnerbijdrage - in samenwerking met Dyson

Black Friday is hét moment om slimme investeringen te doen. Niet alleen in apparaten die je huishouden lichter maken, maar ook in tools die je dagelijkse routine nét dat beetje beter laten verlopen. Dyson bewijst opnieuw dat technologie en design perfect hand in hand kunnen gaan. Van baanbrekende stofzuigers tot innovatieve haarstylingtools: deze vier toppers zijn tijdelijk extra scherp geprijsd.

Onverslaanbare zuigkracht: de Dyson Gen5detect Absolute

Wie eenmaal met een Dyson heeft gestofzuigd, weet dat het moeilijk is om terug te gaan. De Gen5detect Absolute is het vlaggenschip onder de draadloze stofzuigers, uitgerust met de krachtigste motor die Dyson ooit bouwde. Dankzij de Hyperdymium-motor, die met 135.000 toeren per minuut draait, levert hij tot 250 Air Watts aan zuigkracht – goed voor zelfs het hardnekkigste vuil. De laser-technologie in de Fluffy Optic-vloerzuigmond maakt microscopisch stof zichtbaar dat je normaal over het hoofd ziet, terwijl het HEPA-filter 99,99 procent van de deeltjes tot 0,1 micron opvangt.

©Dyson

Met een looptijd tot zeventig minuten en een verrassend lichte behuizing is dit de ultieme draadloze alleskunner voor elk type vloer. Tijdens Black Friday daalt de prijs van 929 naar 629 euro, een buitenkans voor wie altijd al het beste van het beste wilde.

Check de deal hier!


Slimmer schoonmaken met de Dyson V15 Detect Absolute

Mag het iets compacter, maar niet minder slim? Dan is de V15 Detect Absolute het model dat precies de juiste balans biedt tussen kracht en gebruiksgemak. Ook hier laat de laser-technologie precies zien waar stof zich verstopt, terwijl de zuigkracht van 240 Air Watts en de Digital Motorbar-borstel moeiteloos haren en vuil verwijderen.

©Dyson

Met een accuduur tot een uur en automatische zuigkrachtregeling is dit de perfecte keuze voor gezinnen, huisdiereigenaren of wie gewoon houdt van een vlekkeloos huis. De Black Friday-korting van 799 naar 499 euro maakt het bovendien een bijzonder aantrekkelijke deal!

Check de deal hier!


Van schoon huis naar perfect haar: Dyson Airwrap ID Multi-styler

Dyson-technologie stopt niet bij de drempel van je woonkamer. De Airwrap ID Multi-styler tilt haarstyling naar een nieuw niveau, zonder extreme hitte. Met de Coanda-luchtstroomtechnologie stylet, droogt en vormt hij je haar met lucht in plaats van hitte, waardoor het haar glad en glanzend blijft zonder schade. Dankzij slimme sensoren en de MyDyson-app wordt de warmte en luchtstroom automatisch aangepast aan jouw haartype, of je nu steil, golvend of krullend haar hebt.

©Dyson

De nieuwe Ceramic Pink-editie is bovendien een lust voor het oog: elegant, modern en typisch Dyson. Nu tijdelijk geen 549 maar 399 euro, en voor dat geld haal je een serieus salonwaardige tool in huis!

Check de deal hier!


Professioneel resultaat met de Dyson Airstrait

Wie liever een stijltang gebruikt, ontdekt in de Dyson Airstrait een geheel nieuwe manier van stylen. Geen hete platen, maar een krachtige luchtstroom die het haar droogt én glad maakt in één beweging. De intelligente warmteregeling controleert de temperatuur dertig keer per seconde om je haar te beschermen tegen oververhitting, terwijl de Hyperdymium-motor met 106.000 toeren per minuut zorgt voor directe resultaten.

©Dyson

Het resultaat: glanzend, soepel haar zonder pluizen, met behoud van volume en veerkracht. In het elegante blauw-koperen ontwerp is het ook nog eens een beauty op je kaptafel. Nu voor 349 in plaats van 499 euro!

Check de deal hier!


Profiteer nú van dikke Dyson-deals!

Of je nu je huis wilt upgraden of je kapsel wilt perfectioneren, Black Friday is hét moment om in actie te komen. Dyson combineert innovatie, duurzaamheid en design als geen ander merk, en de huidige kortingen maken het extra verleidelijk om die stap te zetten.

Meer Dyson-deals?

Ga dan snel naar de Black Friday-pagina en profiteer!
▼ Volgende artikel
Binnenkort mogelijk: berichten versturen tussen WhatsApp en andere chatapps
© Xavier Lorenzo - stock.adobe.com
Huis

Binnenkort mogelijk: berichten versturen tussen WhatsApp en andere chatapps

WhatsApp krijgt in Europa een nieuwe mogelijkheid om berichten te delen met andere chatdiensten. BirdyChat en Haiket sluiten als eerste aan. De uitbreiding volgt uit de Digital Markets Act, die voorschrijft dat grote chatdiensten berichten en media moeten kunnen uitwisselen met partijen die hiervoor kiezen.

Na een testperiode rolt Meta de koppeling de komende maanden verder uit. Wie zich aanmeldt, kan vanuit WhatsApp direct communiceren met gebruikers van BirdyChat en Haiket. Met BirdyChat wissel je tekst en foto's uit. Haiket werkt anders: dit is een voice-first app, waardoor de koppeling zich beperkt tot gesproken berichten. Groepsgesprekken komen later, zodra dit door alle partijen ondersteund wordt. De koppeling is optioneel en werkt alleen in Europa. Je schakelt de koppeling zelf in of uit via de instellingen van WhatsApp.

Meta benadrukt dat de aanpak aansluit op de technische eisen van de DMA. Een belangrijk punt is dat derde partijen dezelfde vorm van end-to-end-encryptie moeten gebruiken als WhatsApp. De basis blijft het WhatsApp-protocol, al kunnen gesprekken met andere diensten op enkele punten afwijken van de vertrouwde WhatsApp-chats. Daarom krijgen gebruikers bij het inschakelen eerst een korte toelichting.

Binnenkort verschijnt er een melding in het instellingenmenu. Daar lees je hoe je de koppeling activeert en welke diensten op dat moment zijn aangesloten. De uitrol verloopt in fases en breidt stap voor stap uit naarmate nieuwe partijen zich aansluiten.

©BirdyChat

Beschikbaarheid

De koppeling met BirdyChat en Haiket wordt de komende maanden beschikbaar op Android en iOS binnen de Europese regio. De functie werkt pas nadat je je handmatig hebt aangemeld. Nieuwe diensten kunnen in een later stadium volgen, mits ze voldoen aan de technische eisen voor beveiliging en koppeling.

BirdyChat en Haiket

BirdyChat en Haiket zijn twee kleinere diensten die meedoen aan de nieuwe koppeling met WhatsApp. Beide richten zich op laagdrempelig contact, maar kiezen elk een andere insteek. BirdyChat profileert zich als een onafhankelijke Europese chatdienst waar je naast tekst ook foto's kunt versturen. Haiket is een voice-first app waarin korte gesproken berichten centraal staan.