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
Help, de deur van mijn wasmachine gaat niet open! Wat nu?
© StockPhotoPro - stock.adobe.com
Huis

Help, de deur van mijn wasmachine gaat niet open! Wat nu?

Blijft de deur van je wasmachine dicht, ook al is het programma afgelopen, en krijg je hem niet open? Dat probleem komt vaak voor en heeft meestal een eenvoudige oorzaak. In dit artikel noemen we vijf redenen waarom de deur niet opengaat en wat je zelf kunt doen om dat snel en veilig op te lossen.

In dit artikel ontdek je:
  • Waarom de deur van je wasmachine soms geblokkeerd blijft
  • Welke eenvoudige stappen je zelf kunt nemen om de deur te openen
  • Hoe je de noodontgrendeling gebruikt als niets anders werkt
  • Wanneer er sprake is van een defect slot en je een monteur nodig hebt
  • Praktische tips om dit probleem in de toekomst te voorkomen

Ook interessant: Slimmer wassen: deze functies maken je wasmachine nét even handiger

Het komt vaker voor dan je denkt: de wasmachine is klaar, maar de deur weigert open te gaan. Lastig, zeker als je schone was nog nat in de trommel ligt. Gelukkig is er meestal geen reden tot paniek. Vaak ligt het aan een simpele oorzaak die je zelf kunt oplossen.

1 - Water in de trommel

De meest voorkomende boosdoener is achtergebleven water. Zolang er water in de machine zit, blijft de deur bewust op slot om lekkage te voorkomen. Zie je nog water in de trommel? Start dan opnieuw het afvoerprogramma. Werkt dat niet, maak dan het filter onderin schoon en laat via het slangetje of de opening het restwater weglopen. Vaak schiet de deur daarna vanzelf los.

2 - Het kinderslot is ingeschakeld

Sommige modellen hebben een kinderslot of extra beveiliging. Staat dit ingeschakeld, dan blijft de deur dicht, ook al is het programma afgerond. Controleer in de handleiding hoe je het slot uitschakelt. Meestal gaat het om een combinatie van knoppen op het display. Pas als dit is gedeactiveerd, kun je de deur openen.

©Engin Akyurt

Zie je nog water in de trommel? Start dan opnieuw het afvoerprogramma.

3 - Elektronische vertraging of reset

Bij veel moderne machines zit er enkele minuten vertraging tussen het einde van het programma en het ontgrendelen van de deur. Even wachten kan dus al genoeg zijn. Blijft de deur toch op slot, haal de stekker er een paar minuten uit en sluit hem opnieuw aan. Zo wordt de elektronica gereset en komt de deur vaak alsnog vrij.

4 - Handmatige noodontgrendeling

Lukt het nog steeds niet, dan is er vaak een handmatige oplossing. De meeste wasmachines hebben een noodontgrendeling, meestal te vinden achter het klepje bij het filter of onderaan de machine. Door hier voorzichtig aan te trekken, kun je de deur veilig openen zonder schade. Raadpleeg de handleiding voor de exacte plek en werkwijze.

5 - Defecte vergrendeling

Als geen van deze stappen helpt, kan de vergrendeling zelf kapot zijn. Dit onderdeel slijt met de tijd en kan uiteindelijk defect raken. Soms helpt het tijdelijk om de machine spanningsvrij te maken, maar blijft de deur gesloten, dan is vervanging van het slot nodig. Dit is werk voor een monteur.

Problemen voorkomen

Met goed onderhoud voorkom je veel ellende. Maak filter en afvoer regelmatig schoon zodat de machine altijd goed leegloopt. Zet de wasmachine pas uit als het programma volledig is afgerond en controleer of er geen kledingstukken klem zitten tussen deur en rubber. Draai af en toe een lege was op hoge temperatuur met een reinigingsmiddel of wat azijn, zodat zeepresten en vuil zich niet ophopen en het deurslot soepel blijft werken.

Wanneer moet je hulp inschakelen?

Blijft de deur hardnekkig dicht of merk je andere signalen, zoals vreemde geluiden of een brandlucht, stop dan direct met zelf proberen. Forceren kan schade veroorzaken. In dat geval is het verstandig een monteur te bellen.

Een geblokkeerde deur hoeft in elk lang niet altijd een groot probleem te zijn. Vaak is een eenvoudige reset, het verwijderen van restwater of het uitschakelen van het kinderslot al genoeg. Lukt het niet, dan kan de noodontgrendeling of een monteur uitkomst bieden. Met regelmatig onderhoud en een beetje oplettendheid verklein je de kans dat je opnieuw voor een gesloten deur staat.

▼ Volgende artikel
Wat is Liquid Glass? Alles over instellen en aanpassen op je iPhone
© Apple
Huis

Wat is Liquid Glass? Alles over instellen en aanpassen op je iPhone

Liquid Glass is een nieuwe manier waarop Apple de vormgeving van knoppen, tabbladen, iconen en widgets neerzet. Alles krijgt een glasachtige uitstraling: halfdoorzichtig en met kleuren die meekomen uit je wallpaper of de inhoud van een app. Het reageert bovendien vloeiend op beweging, omdat het beeld steeds in realtime wordt opgebouwd. Zo ontstaat een herkenbare stijl die op al je Apple-apparaten hetzelfde aanvoelt.

In dit artikel lees je wat Apple's nieuwe Liquid Glass precies is en wat het doet. We laten zien hoe je de instellingen aanpast, het effect naar smaak bijstelt en wat je kunt doen als je het rustiger wilt houden.

Lees meer over iOS 26

Op je iPhone zie je Liquid Glass meteen terug in het toegangsscherm, het Dock, de zoekbalk en appmappen. Iconen ogen daarbij gelaagd en glanzend of zelfs helemaal doorzichtig. Wil je dat proberen, houd dan je beginscherm ingedrukt tot de iconen bewegen, tik op Wijzig, kies Pas aan en zet Helder aan. Tik daarna ergens op het scherm om te bevestigen. Je ziet direct hoe de achtergrond subtiel door de iconen heen komt. Vind je het toch minder prettig, dan kun je op dezelfde plek altijd terug naar Automatisch of Donker.

Op welke toestellen en vanaf welke versie?

Liquid Glass is onderdeel van iOS 26, dat vanaf 15 september beschikbaar is voor alle ondersteunde iPhones. Extra downloads zijn niet nodig. Apple geeft aan dat iPhone 11 en iPhone SE (2e generatie) en nieuwer worden ondersteund.

Wil je nagaan of jouw toestel in aanmerking komt, open Instellingen, kies Algemeen en tik op Software-update. Zie je iOS 26 staan, dan kun je meteen bijwerken. Maak vooraf een back-up en update je apps. Voer de update bij voorkeur uit via wifi en zorg dat de batterij minstens halfvol is, of sluit je iPhone aan op de oplader. Wil je controleren of de installatie geslaagd is, ga dan in Instellingen naar Algemeen, open Info en bekijk het versienummer.

Ook iPadOS 26 en macOS Tahoe 26 ondersteunen Liquid Glass, zodat de uitstraling op je iPad en Mac aansluit bij die van je iPhone. Apple heeft dezelfde stijl bovendien doorgetrokken naar watchOS en tvOS, waardoor al je apparaten er herkenbaar en consistent uitzien.

©Apple

Zo maak je Liquid Glass rustiger

Liquid Glass helemaal uitschakelen kan niet, maar je kunt het effect wel verzachten. Open Instellingen, tik op Toegankelijkheid, kies Weergave en tekstgrootte en zet Maak minder doorzichtig aan. Achtergronden worden dan donkerder, waardoor contrast en leesbaarheid verbeteren zonder dat de glaslook verdwijnt.

Wil je nog meer verschil zien, zet op dezelfde pagina ook Verhoog contrast aan. Voor een snelle manier ga je in Instellingen naar Toegankelijkheid, open je Activeringsknop en vink je Maak minder doorzichtig aan. Je kunt de functie dan via het bedieningspaneel eenvoudig aanpassen.

Vind je vooral de transparante iconen te overheersend, houd dan opnieuw je beginscherm ingedrukt, tik op Wijzig, kies Pas aan en ga terug naar Automatisch of Donker. Donkere achtergronden en de Donkere modus (te vinden bij Beeldscherm en helderheid) dempen het glaseffect eveneens, bijvoorbeeld buiten in fel zonlicht. Zo houd je in elke situatie zelf de regie over hoe nadrukkelijk Liquid Glass aanwezig is.

Hoesje nodig

Voor je iPhone 17?