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
Review Amazon Echo Dot Max – Betaalbare smartspeaker met Nederlandstalige Alexa
© Amazon
Huis

Review Amazon Echo Dot Max – Betaalbare smartspeaker met Nederlandstalige Alexa

Amazon introduceerde kortgeleden een nieuwe generatie slimme speakers, waaronder de hier besproken Echo Dot Max. Volgens de fabrikant levert deze bescheiden luidspreker een verbeterde audiokwaliteit, terwijl de microfoon naar verluidt nauwkeuriger spraakopdrachten verwerkt. Met een adviesprijs van 109,99 euro is het ook nog eens een van de goedkopere smartspeakers in de markt. Hoog tijd voor een review!

Goed
Conclusie

Zoek je een slimme luidspreker met een redelijke audiokwaliteit voor het luisteren van achtergrondmuziek? Dan is de Amazon Echo Dot Max een interessante kandidaat. Da een zeer gevoelige microfoon laat je allerlei stemopdrachten op deze smartspeaker los. Meestal verwerkt de Echo Dot Max probleemloos deze commando's, al gaat er soms ook weleens iets fout.

Plus- en minpunten
  • Betaalbaar
  • Compacte behuizing
  • Twee actieve audiodrivers
  • Wifi6E-adapter
  • Snelle en gebruiksvriendelijke configuratie
  • Gevoelige microfoon
  • Temperatuur- en aanwezigheidssensor
  • Geen accu
  • Paarse uitvoering heeft goedkope uitstraling
  • Ongeschikt voor muziek luisteren op hoog volume
  • Onjuiste interpretatie van bepaalde stemopdrachten

Vergeleken met de voorgaande Echo Dot-speaker uit 2022 is het design ietwat op de schop gegaan. De behuizing oogt weliswaar nog altijd als een bolletje met als verschil dat er aan de voorzijde een stukje is 'afgesneden'. Je treft hier twee volumetoetsen en een aan-uitknop voor de microfoon. Rondom dit bedieningspaneel bevindt zich een blauwgekleurde ledring. Verder zit er aan de achterzijde een ingang voor de bijgesloten voedingsadapter.

©Maikel Dijkhuizen

De compacte productdoos bevat alleen een wifi-speaker, netadapter en korte handleiding.

Lichtgewicht wifi-speaker zonder accu

De bolvormige behuizing heeft een diameter van amper elf centimeter. Ondanks deze geringe afmetingen leent de wifi-speaker zich voornamelijk voor binnengebruik. Dit nieuwe model heeft namelijk, net zoals bij eerdere generaties het geval was, weer geen accu. Een gemiste kans, want de compacte constructie van 505 gram is in principe handzaam genoeg om ook als mobiele bluetooth-speaker te dienen.

De door ons geteste paarse uitvoering heeft naar onze smaak een nogal kitscherige uitstraling. Gelukkig is de Amazon Echo Dot Max er ook in een wit en grijs jasje. Die zien er al heel wat chiquer uit en zullen in jouw woonkamer niet misstaan. Het grootste deel van de kunststof behuizing is voorzien van een laagje stof. Dit materiaal voelt niet zo stevig aan zoals we bij veel bluetooth-speakers van onder andere JBL tegenkomen. Nou is dat niet zo'n probleem, want ten opzichte van weerbestendige speakers heeft dit exemplaar natuurlijk minder te lijden.

©Maikel Dijkhuizen

Vind je deze paarse versie niet zo fraai, dan kun je de witte of grijze uitvoering overwegen.

Verbinden en luisteren

De configuratie en bediening van het apparaat gebeurt via de Amazon Alexa-app op een smartphone. Dat gaat erg vlot. Na verbinding met wifi downloadt de Echo Dot Max eerst een firmwareupdate. In de behuizing zit trouwens een rappe wifi6E-adapter, waardoor het apparaat overweg kan met de snelste draadloze netwerken. Al met al duurt de configuratie slechts enkele minuten.

Je koppelt Spotify of een andere muziekdienst eenvoudig aan je Amazon-account. Zeg vervolgens hardop waarnaar je wilt luisteren. Met een spraakopdracht als “Alexa, speel Coldplay” hoor je binnen enkele ogenblikken de bijbehorende deuntjes. Gebruik je stem ook om bijvoorbeeld een liedje te skippen of het volume te wijzigen. De microfoon is zéér gevoelig. Zelfs zacht uitgesproken (fluister)opdrachten op enkele meters afstand verwerkt de speaker zonder morren.

Lees ook: Van mobiel naar desktop: waarom je Spotify op je pc moet proberen

De behuizing is weliswaar compact, maar toch slaagde Amazon erin om een tweeter en woofer te integreren. Kijken we binnen dezelfde prijscategorie naar de enigszins vergelijkbare Apple HomePod Mini, dan biedt dit nieuwe model van Amazon dus een extra audiodriver. Voor zo'n kleine speaker in deze prijsklasse hoef je uiteraard geen wonderen te verwachten, maar voor het opzetten van een achtergrondmuziekje voldoet dit product prima. Met name de hoge tonen klinken erg helder. Als we geconcentreerd luisteren, horen we ook een beetje bas. Deze lage tonen zijn ietwat ondervertegenwoordigd. Verder gaat het geluid op een hoog volume galmen en vervormen.

©Maikel Dijkhuizen

Geef de Amazon Alexa-app toegang tot Spotify en bedien de muziek voortaan met je stem.

Smartspeaker met Alexa

Lange tijd legde Alexa van Amazon het af tegen de spraakassistenten van Google en Apple, maar sinds 2024 verstaat Alexa eindelijk ook Nederlands. Daarmee is de Echo Dot Max een serieus alternatief voor smartspeakers van de eerdergenoemde merken. Je kunt in de Alexa-app onder andere een wekker, timer, herinnering, agenda-afspraak en boodschappenlijst instellen.

De behuizing heeft een temperatuursensor, zodat je naar de kamertemperatuur kunt vragen. Je kunt ook allerlei andere verzoeken doen. Vraag bijvoorbeeld naar de weersverwachting of naar de leeftijd van een BN'er. Helaas gaat niet iedere stemopdracht even vlekkeloos. Zo weigert ons testmodel om een overzicht van het laatste nieuws af te spelen.

Een nuttige optie is dat je in huis andere smarthome-apparaten met Alexa-ondersteuning kunt bedienen, zoals slimme lampen, stekkers en thermostaten. Dat werkt eveneens via spraakopdrachten. Misschien komt de geïntegreerde aanwezigheidssensor goed van pas, zodat de smartspeaker geschikte apparaten zelfstandig kan in- en uitschakelen.

Amazon Echo Dot Max kopen?

Zoek je een slimme luidspreker met een redelijke audiokwaliteit voor het luisteren van achtergrondmuziek? Dan is de Amazon Echo Dot Max een interessante kandidaat. Dankzij een zeer gevoelige microfoon laat je allerlei stemopdrachten op deze smartspeaker los. Meestal verwerkt de Echo Dot Max probleemloos deze commando's, al gaat er soms ook weleens iets fout.

▼ Volgende artikel
Zo verklein je mappen en schijven met NTFS-compressie in Windows 11
© ID.nl
Huis

Zo verklein je mappen en schijven met NTFS-compressie in Windows 11

Heb je een pc met weinig opslagruimte dan loont het wellicht om in Windows 11 de bestandscompressie in te schakelen. Dan hebben we het niet over zip-archieven, maar de NTFS-compressie waarmee je bestanden, mappen en zelfs volledige schijven kunt verkleinen.

Dit gaan we doen

In dit artikel ontdek je hoe je NTFS-compressie inzet om mappen of een volledige schijf kleiner te maken. Je ziet waar je de optie vindt in Windows Verkenner, welke stappen je doorloopt en wanneer deze methode wel of niet zin heeft. Ook leggen we uit hoe je een gecomprimeerde map herkent en hoe je de compressie later weer uitschakelt. Zo kun je bewuster omgaan met beperkte opslagruimte zonder je bestanden te hoeven verplaatsen.

Lees ook: Dit is er nieuw in de 25H2-update van Windows 11

Eerst een waarschuwing

Dankzij compressie is het mogelijk om meer data op te slaan op dezelfde ruimte. In Windows 11 kun je NTFS (New Technology File System) aanspreken. Het nadeel van deze methode is dat het extra rekenkracht vraagt iedere keer dat je zo'n gecomprimeerd bestand opent. Hetzelfde gebeurt wanneer je na de bewerking het bestand sluit en er recompressie wordt toegepast. Gebruik deze methode dus voor data die je lange tijd niet gebruikt en waar extra laadtijd nauwelijks hinderlijk is.

Je kunt op deze manier ook een volledige schijf comprimeren, maar we raden af om dit met de opstartschijf te doen. Gebruik deze functie niet op usb-sticks en alleen op snelle schijven zoals ssd's. Het prestatieverlies zou teveel doorwegen. Bij jpg-afbeeldingen of mp3- of mp4-mediabestanden is de winst verwaarloosbaar.

Een gecomprimeerde map herken je aan twee blauwe pijltjes in de rechterbovenhoek.

Map comprimeren

Open Windows Verkenner en navigeer naar de map waarvan je de inhoud wilt verkleinen. Klik met de rechtermuisknop op de map en in het snelmenu selecteer je Eigenschappen. Open het tabblad Algemeen en klik op Geavanceerd. Bij de Geavanceerde kenmerken zie je onderaan Compressie en versleutelingskenmerken. Plaats een vinkje bij Inhoud comprimeren om schijfruimte vrij te maken. Klik op OK en klik daarna op Toepassen.

Selecteer indien nodig de optie Wijzigingen toepassen op deze map, submappen en bestanden en klik op de OK-knop. Net zoals voorheen kun je zo'n map openen en de bestanden bekijken in Verkenner. Om de volledige map te decomprimeren, open je opnieuw de Eigenschappen en volg je de beschreven stappen.

Comprimeer de map via de Eigenschappen.

Station comprimeren

Het is mogelijk om een volledige schijf te comprimeren. Open Windows Verkenner en klik op Deze pc in het linkerdeelvenster. Klik met de rechtermuisknop op de opslagschijf die je wilt comprimeren. Selecteer onder het gedeelte Apparaten en stations de optie Eigenschappen. Daarna kun je opnieuw de optie aanvinken: Dit station comprimeren om schijfruimte te besparen.

Het is ook mogelijk om een volledig station te comprimeren.

Ook leuk:

Een stoomwals van Lego