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
Tweede seizoen van Battlefield 6 is van start
Huis

Tweede seizoen van Battlefield 6 is van start

Het tweede seizoen van Battlefield 6 is na uitstel gisteren van start gegaan.

Het tweede seizoen had eigenlijk op 20 januari van start moeten gaan, maar dat werd vier weken uitgesteld omdat het tweede seizoen nog niet klaar voor release was. Dat is nu blijkbaar wel, en spelers van de shooter kunnen dan ook aan de slag met het tweede seizoen.

Het tweede seizoen bestaat uit drie fases van een maand, die elk nieuwe content met zich meebrengen. De eerste fase heet Extreme Measures en is begonnen. Spelers kunnen aan de slag met een nieuwe multiplayermap genaamd Contaminated, dat geschikt is voor alle gevechtsgroottes. Ook is er een nieuwe tijdelijk beschikbare modus in de vorm van VL-7 Strike, en de battle royale-game Battlefield RedSec krijgt de modi Gauntlet: Altered State en Battle Royale: Synthesis. Ook zijn er nieuwe wapens en gadgets.

View post on X

De tweede fase heet Nightfall en start op 17 maart, en zal onder andere de nieuwe map Hagental Base en nieuwe Nightfall-modus - waarbij het nacht is en het zich dus slecht is - bevatten. Op 14 april begint de derde fase, Hunter / Prey, met een nieuwe gelimiteerde modus genaamd Operation Augur.

Battlefield 6 kwam afgelopen najaar uit voor pc, PlayStation 5 en Xbox Series-consoles en bleek een groot succes. In de eerste drie dagen werden er meer dan zeven miljoen exemplaren van verkocht. Tegelijkertijd kreeg de game concurrentie uit onverwachtse hoek, namelijk van de ook vorig najaar uitgekomen extraction shooter Arc Raiders.

Watch on YouTube
Watch on YouTube
▼ Volgende artikel
Nieuwe Samsung Galaxy S26-teaser laat AI-fotomogelijkheden zien
© Samsung
Huis

Nieuwe Samsung Galaxy S26-teaser laat AI-fotomogelijkheden zien

Samsung geeft alvast een voorproefje van de nieuwe camerafuncties die het volgende week onthult tijdens Galaxy Unpacked. De stap vooruit zit dit keer vooral in de software: foto's en video's bewerken moet veel natuurlijker gaan, simpelweg door in je eigen woorden te zeggen wat je wilt.

Samsung noemt voorbeelden als een foto veranderen van dag naar nacht, een ontbrekend stukje herstellen of meerdere beelden automatisch samenvoegen. In plaats van verschillende apps openen of instellingen zoeken, beschrijf je kort wat je voor ogen hebt en doet de telefooncamera de rest. Vastleggen, aanpassen en delen moeten daardoor meer als één vloeiende handeling aanvoelen.

Ook in uitdagende situaties moet de software een groter deel van het werk overnemen. Denk aan fotograferen bij weinig licht, een sterrenhemel vastleggen of video's met een filmische uitstraling maken. Samsung spreekt wel over een helderder camerasysteem, maar geeft nog geen technische details. Uit alles blijkt dat de nadruk ligt op slimmer bewerken, niet op nieuwe lenzen of sensoren.

Lees ook: Samsung Galaxy S26-teaser richt zich op het privacyscherm

©Samsung

Wanneer wordt de Samsung Galaxy S26-lijn onthuld?

Samsung organiseert op 25 februari de nieuwste editie van het tweejaarlijkse Galaxy Unpacked-evenement. Het kan niet anders dan dat daar de nieuwe Samsung Galaxy S26-lijn wordt onthuld. Vanaf 19.00 uur  's avonds (Nederlandse tijd) weten we meer!

Watch on YouTube
Watch on YouTube
Watch on YouTube