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
Europese Commissie: TikTok is te verslavend
Huis

Europese Commissie: TikTok is te verslavend

De Europese Commissie claimt dat het socialmediaplatform TikTok te verslavend is, en wil dan ook dat het oneindig kunnen scrollen in de app onmogelijk wordt.

Volgens de Europese Commissie verbreekt TikTok daarmee de Digital Services Act (DSA). Naast oneindig kunnen scrollen worden ook sommige pushnotificaties en autoplay als boosdoeners gezien.

Doomscrollen

De Commissie haalt specifiek oneindig scrollen aan als een gevaarlijk onderdeel van de app. De Commissie meent dat dit gebruikers in een soort trance brengt door dwangmatig gedrag - in feite waar de populaire term 'doomscrollen' op slaat.

De Commissie heeft echter nog geen bindend oordeel uitgebracht. Zo mag ByteDance, het bedrijf achter TikTok, zichzelf eerst verantwoorden. Ook gaat de Commissie eerst advies vragen aan de Europese Raad, om specifiek te zijn een adviesgroep hierbinnen die over digitale diensten gaat. Mocht de Europese Raad het eens zijn met de Commissie, dan moet TikTok in Europa mogelijk onderdelen van het socialmediaplatform aanpassen. Gebeurt dat niet, dan kan ByteDance forse boetes ontvangen.

Social media onder het vergrootglas

Social media - waaronder TikTok - ligt de laatste tijd toch steeds vaker onder een vergrootglas. In Australië bijvoorbeeld is social media sinds enige tijd verboden voor kinderen, en Spanje kondigde eerder deze week aan soortgelijke maatregelen te nemen.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Review Teufel Cinebar 22 – Zeer vol tv-geluid voor middelgrote kamers
© Teufel
Huis

Review Teufel Cinebar 22 – Zeer vol tv-geluid voor middelgrote kamers

Tegenwoordig brengt zo'n beetje elk gerespecteerd audiomerk soundbars inclusief subwoofers op de markt. Toch slaagt het Duitse Teufel om zich van de massa te onderscheiden. De bijgesloten basspeaker van de nieuwe Cinebar 22 is namelijk verrassend slank. Hierdoor kun je hem makkelijk naast een televisiemeubel of onder een loungebank kwijt. In de soundbar zelf zitten nog eens acht actieve audiodrivers. Dat belooft wat!

Fantastisch
Conclusie

De Teufel Cinebar 22 is een aanwinst voor elke kleine tot middelgrote kamer. Je krijgt deze soundbar/subwoofer-combinatie in enkele minuten aan de praat, waarna je luistert naar een vol televisiegeluid met ruimtelijke effecten. Overige pluspunten zijn de duidelijke afstandsbediening en het Nederlandstalige display. Houd wel rekening met een behoorlijke adviesprijs van zo'n zeshonderd euro.

Plus- en minpunten
  • Slanke draadloze subwoofer
  • Snelle configuratie
  • Nederlandstalig display
  • Veel ingangen
  • Simpele bediening
  • Audio-instellingen aanpassen
  • Stemmen versterken via spraakmodus
  • Uitstekende geluidskwaliteit
  • Duidelijke audio-effecten
  • Stevige bas
  • Behoorlijk prijzig
  • Maar vier antislipvoetjes bijgesloten
  • Geen HDMI-kabel inbegrepen
  • Geen hoogtekanalen voor Dolby Atmos-geluid
CategorieSpecificatie
Vermogen175 watt (soundbar), 60 watt (subwoofer)
Actieve audiodrivers2× fullrange, 3× tweeters, 2× midrange, 1× bas (woofer)
Connectiviteit2× HDMI, s/pdif (optisch), usb (alleen service), 3,5mm-audiojack, tulp, bluetooth 5.3
SurroundformatenDolby Atmos, Dolby Digital, DTS, DTS:X
Extra’sAfstandsbediening
Afmetingen100 × 7,8 × 14,7 cm (soundbar), 12 × 42 × 42× cm (subwoofer)

Teufel ontwikkelde zijn Cinebar 22 voor een brede doelgroep. Deze soundbar is namelijk een meter lang, zodat hij goed matcht met een middelgrote tot grote televisie. Je kunt de behuizing op een meubel neerzetten of hem aan de wand schroeven. Voor woonkamers met beperkte ruimte is de bijgesloten subwoofer van slechts twaalf centimeter breed ideaal. Heb je naast de televisiemeubel alsnog geen plek, dan schuif je de basspeaker gewoon onder de bank. Je kunt de subwoofer namelijk zowel staand als liggend positioneren. Denk vooraf goed na over de locatie, want je kunt de vier meegeleverde antislipvoetjes maar op één zijde plakken.

©Maikel Dijkhuizen

De inhoud van twee productdozen.

Soundbar aansluiten

De soundbar heeft een stevige kunststof behuizing met aan de rechterkant een klein dimbaar display. Hierop bekijk je onder meer de actieve bron en het volumeniveau. Verder bevindt zich bovenop een compact bedieningspaneel met touchknoppen. De subwoofer bestaat uit een MDF-klankkast. Beide componenten communiceren draadloos met elkaar. Het aansluiten van de Cinebar 22 stelt weinig voor. Verbind de twee apparaten met netstroom en koppel de soundbar via HDMI aan een televisie. Een klein kritiekpuntje is dat Teufel geen HDMI-kabel meelevert. Gezien de adviesprijs van bijna zeshonderd euro hoort zo'n snoertje er naar onze mening gewoon bij.

Je geeft met een schuifknopje aan de achterkant van de subwoofer aan hoe de basspeaker is opgesteld, namelijk vrijstaand, in een hoek of liggend. Zodra je beide apparaten eenmaal hebt ingeschakeld, kies je op het display de Nederlandse taal. In de volgende stap koppel je de subwoofer aan de soundbar door op de pairing-knop te drukken. Dat gaat erg snel, want luttele seconden later hoor je tv-geluid.

Handig is dat je achterop ook nog verschillende audiovisuele bronnen kunt aansluiten, zoals een cd-speler, gameconsole of tv-ontvanger. Gebruik hiervoor bijvoorbeeld de tweede HDMI-poort, optische ingang of analoge tulpaansluitingen. De Cinebar 22 vervult daarmee min of meer de rol van klassieke receiver. Abonnees van Spotify of een andere online muziekdienst kunnen draadloos naar albums, afspeellijsten en podcasts luisteren. Verbind hiervoor een smartphone of tablet met bluetooth.

©Maikel Dijkhuizen

Volg voor de configuratie de aanwijzingen op het Nederlandstalige display.

©Maikel Dijkhuizen

Je selecteert op de achterzijde van de subwoofer de juiste basspeaker-opstelling.

Ruimtelijk geluid

In tegenstelling tot veel andere soundbars is er geen bijbehorende app. Geen punt, want de duidelijke afstandsbediening voldoet prima. De bediening werkt kinderlijk eenvoudig. Kies TV, HDMI, OPT, AUX of bluetooth als bron en leun lekker achterover. Audiopuristen passen met aparte knopjes de niveaus voor de lage en hoge tonen aan. Verder heeft de Cinebar 22 voorgeprogrammeerde modi voor muziek, spraak en nacht. Vanuit het menu zet je uiteenlopende (geavanceerde) audio-instellingen eventueel nog verder naar je hand.

Alles leuk en aardig, maar uiteindelijk draait het natuurlijk om de geluidskwaliteit. Die is kortweg uitstekend. Het is bewonderingswaardig wat een vol geluid deze soundbar/subwoofer-combinatie kan produceren. Dit audiosysteem heeft ook nog eens veel power, want het volume kan behoorlijk luid. Dankzij twee zijwaarts gerichte audiodrivers schieten surroundeffecten van links naar rechts en vice versa. Via een aparte toets op de afstandsbediening kun je deze effecten nog wat versterken.

De subwoofer doet zijn werk naar behoren, want bombastische scènes hoor (en voel) je heerlijk nadreunen. Teufel pronkt op de productdoos weliswaar met ondersteuning voor Dolby Atmos, maar daar merk je in de praktijk eigenlijk niks van. Er ontbreken simpelweg hoogtekanalen om zo'n audiospoor goed te verwerken. Desalniettemin is de Cinebar 22 voor liefhebbers van films, series en games een absolute aanrader.

©Maikel Dijkhuizen

Films en series met de nodige actiescènes komen dankzij de Cinebar 22 zeer goed tot hun recht.

Teufel Cinebar 22 kopen?

De Teufel Cinebar 22 is een aanwinst voor elke kleine tot middelgrote kamer. Je krijgt deze soundbar/subwoofer-combinatie in enkele minuten aan de praat, waarna je luistert naar een vol televisiegeluid met ruimtelijke effecten. Overige pluspunten zijn de duidelijke afstandsbediening en het Nederlandstalige display. Houd wel rekening met een behoorlijke adviesprijs van zo'n zeshonderd euro.

Meer van Teufel ⤵