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
Deze accessoires voor je hogedrukreiniger moet je hebben
© lara-sh
Huis

Deze accessoires voor je hogedrukreiniger moet je hebben

Een hogedrukreiniger is een krachtig hulpmiddel waarmee je snel en grondig allerlei oppervlakken rondom je huis schoonmaakt. Maar met de juiste accessoires haal je er nóg meer uit – en wordt schoonmaken niet alleen makkelijker, maar ook een stuk effectiever.

In dit artikel laten we zien welke accessoires onmisbaar zijn om optimaal gebruik te maken van je hogedrukreiniger en welke extra mogelijkheden ze bieden. Het nut van de volgende accessoires wordt besproken:

  • Vario-spuitlans
  • Terrasreiniger
  • Verlengslang
  • Schuimlans
  • Rioolontstoppingslans

Lees ook: Zo werkt een hogedrukreiniger

Let goed op dat niet elk accessoire op elke hogedrukreiniger past. Voordat je overgaat op de aanschaf van een accessoire, controleer dan goed de compatibiliteit met jouw hogedrukreiniger. Lees hier meer over in het artikel Praktische tips bij het gebruik van hogedrukreinigers.

Vario-spuitlans: veelzijdigheid troef

Een vario-spuitlans is eigenlijk onmisbaar als je het meest uit je hogedrukreiniger wilt halen. Met dit accessoire pas je in één handomdraai de spuithoek aan, zodat je de waterstraal precies kunt afstemmen op wat je schoonmaakt. Voor hardnekkig vuil zet je 'm op volle kracht, terwijl een zachtere straal ideaal is voor kwetsbare oppervlakken zoals ramen of andere glazen oppervlakken. Je hebt dus meerdere mogelijkheden in één handige lans.

©hedgehog94

Terrasreiniger: speciaal voor grotere oppervlakken

Een terrasreiniger is een handig hulpstuk in de vorm van een brede, ronde schijf met ronddraaiende spuitkoppen. Je bevestigt ’m aan je hogedrukreiniger en maakt er moeiteloos grotere oppervlakken mee schoon – denk aan je terras, oprit of zelfs muren. Doordat de waterstraal dicht bij het oppervlak blijft, reinig je extra effectief én verbruik je minder water. En het mooiste? Je hebt geen last van opspattend vuil of water, dus schoonmaken wordt een stuk comfortabeler.

Terrasreiniger kopen?

Bekijk nu de terrasreiniger die past bij jouw hogedrukreiniger

Verlengslang: vergroot je bereik

De meeste hogedrukreinigers worden geleverd met een slang van zo’n 5 tot 10 meter – vaak is dat genoeg, maar soms kom je nét iets te kort. Met een verlengslang vergroot je eenvoudig het bereik, zodat je ook moeilijker bereikbare plekken kunt schoonmaken zonder telkens het apparaat te hoeven verplaatsen. Verlengslangen zijn er in verschillende lengtes, dus er is altijd wel een variant die past bij jouw klus.

Schuimlans: effectieve reiniging met reinigingsmiddel

Soms is water alleen niet genoeg om hardnekkig vuil aan te pakken. Dan is een schuimlans dé oplossing. Hiermee breng je een dikke laag reinigingsschuim aan op het oppervlak. Het schuim blijft even zitten, zodat het schoonmaakmiddel goed kan inwerken en het vuil losweekt. Na een paar minuten spoel je alles gemakkelijk weg met de hogedrukreiniger. Perfect voor een grondige reiniging van bijvoorbeeld tuinmeubels, je auto of een schutting.

Alles spic en span

Extra schoon met deze speciale reiningsmiddelen

Rioolontstoppingslans: verstoppingen verhelpen

Een verstopte afvoer of riool is altijd vervelend, maar met een rioolontstoppingslans voor je hogedrukreiniger kun je het probleem vaak zelf oplossen, zonder meteen een loodgieter te hoeven bellen. De lange, flexibele lans schuif je eenvoudig in de afvoer. De krachtige waterstraal maakt vuil los en spoelt het direct weg. Zo is een verstopping vaak al binnen een paar minuten verholpen en heb je jezelf een vaak prijzig bezoekje van de loodgieter bespaard.

©BillionPhotos.com

Met de juiste accessoires wordt je hogedrukreiniger echt een alleskunner. Of je nu je terras weer spic en span wilt krijgen, je auto een wasbeurt gunt of een verstopte afvoer te lijf gaat – voor elke klus is er wel iets handigs te vinden. Begin met een paar basisaccessoires zoals een vario-spuitlans of een terrasreiniger, en breid daarna rustig uit met wat je nodig hebt. Zo ben je overal op voorbereid, zonder gedoe.

Vraag een offerte aan voor schoonmaak:

▼ Volgende artikel
Spreek en luister: ChatGPT als gesprekspartner
© Limitless Visions - stock.adobe.com
Huis

Spreek en luister: ChatGPT als gesprekspartner

ChatGPT kan steeds meer en luistert tegenwoordig ook naar de prompts (opdrachten) die een gebruiker inspreekt. Bovendien leest de chatbot zelfs de uitgebreide antwoorden voor. Hardop voorlezen werkt zelfs met negen natuurlijk klinkende stemmen.

In drie stappen laten we de spreek- en luisterfunctie van ChatGPT zien:

  • Spreek prompts in door op de microfoonknop te tikken
  • Laat ChatGPT de antwoorden voorlezen
  • Kies uit negen verschillende stemmen

Typen te veel gedoe? Lees dan zeker ook: Geen toetsenbord meer nodig: laat je stem het werk doen

Opdrachten inspreken

OpenAI heeft de spraakfunctie voor ChatGPT voor iedereen beschikbaar gemaakt. In het begin was deze functie uitsluitend bedoeld voor wie een Plus- of Enterprise-abonnement had. Natuurlijk moet je via de instellingen van je mobieltje toestemming geven aan ChatGPT voor het gebruik van de microfoon. Als dat is geregeld, open je de app en tik je onderaan op de microfoonknop. Een animatie reageert op je stem en als je klaar bent met praten, tik je op het vinkje in de zwarte cirkel. De app zal wat je gezegd hebt razendsnel weergeven. Ben je tevreden over de formulering, dan tik je op het pijltje. ChatGPT genereert meteen het antwoord en onderaan verschijnt opnieuw de microfoonknop om de volgende opdracht in te spreken.

Een animatie reageert op je stem.

Antwoorden beluisteren

Vervolgens druk je in de mobiele versie lang op de tekst die de chatbot heeft gegenereerd, zodat er een aantal functies verschijnt. Daar kies je de opdracht Voorlezen. Na enkele seconden hoor je een stem die het antwoord voorleest.

Bovenaan zie je een klein gedeelte waarin je het voorlezen kunt pauzeren en met twee knoppen kun je de tekst vijftien seconden terugspoelen en vooruitspoelen.

In de desktop-versie van ChatGPT zie je onder het antwoord het pictogram van een luidspreker. Daar moet je op klikken om de stem van ChatGPT te horen. Klik dus niet met rechts op de tekst om in het contextueel menu de opdracht Spraak te selecteren. Daarmee start je de voorleesfunctie van de browser en die is niet zo goed.

Boven de tekst kun je het voorlezen pauzeren.

Over voorlezen gesproken ...

Kinderen vinden het heerlijk!

Kies een andere stem

Zowel in de mobiele versie als in de desktopversie heb je de keuze uit negen stemmen. In de Android- en iOS-versie moet je naar het beginscherm gaan van de app, waar je onderaan je gebruikersnaam ziet staan. Tik op de drie puntjes en selecteer Spraak. Je krijgt de stem te horen; ze klinken natuurlijk. Sol is ‘gevat en ontspannen’ en van Ember zegt de app dat hij ‘vol vertrouwen en optimistisch’ klinkt. Maak je keuze door op Gereed te tikken.

In de desktop-versie klik je rechtsboven op de profielknop om de Instellingen te openen. Ook daar kun je dan een van de negen stemmen selecteren.

Van iedere stem lees je de vermeende eigenschappen.

Watch on YouTube