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
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
▼ Volgende artikel
Review Ring Floodlight Cam Pro (2e gen) – Grondige tuinbewaking met 4K-beeldkwaliteit
© Ring
Zekerheid & gemak

Review Ring Floodlight Cam Pro (2e gen) – Grondige tuinbewaking met 4K-beeldkwaliteit

Ring heeft de tweede generatie van zijn Floodlight Cam Pro uitgebracht. De voornaamste verbetering van deze schijnwerpercamera is de 4K-beeldkwaliteit. Dankzij twee felle ledlampen leent dit product zich goed voor het bewaken van een grote buitenruimte, zoals een oprit of diepe achtertuin.

Goed
Conclusie

De Ring Floodlight Cam Pro (2e gen) heeft een heleboel voordelen, zoals een scherp beeld, twee felle verstelbare ledlampen, luide sirene en gebruiksvriendelijke app. Daarmee zijn alle ingrediënten aanwezig om op een laagdrempelige manier je tuin of oprit te bewaken. Daarentegen is de adviesprijs van 279,99 euro nogal fors. En daarmee ben je er nog niet, want voor het bewaren van opnames heb je een betaald Ring Home-abonnement nodig. Er bestaan als alternatief (veel) goedkopere floodlight-camera's met lokale opslag, al ondersteunen die veelal geen 4K-beeldkwaliteit.

Plus- en minpunten
  • Robuuste behuizing
  • App geeft zeer duidelijke instructies
  • Gebruiksvriendelijke montage
  • Accepteert 2,4GHz- en 5GHz-netwerken
  • Slimme meldingen
  • Slimme zoekfunctie
  • Felle richtbare schijnwerpers
  • Gedetailleerde opnames in 4K
  • 10× digitaal inzoomen
  • Luide sirene
  • Erg duur
  • Montage alleen op plek van bestaande lamp
  • Geen ondersteuning ethernet
  • Betaalde video-opslag in de cloud

Zodra we de productdoos openmaken, valt één ding meteen op. Ring levert geen voedingskabel of accu mee. De Ring Floodlight Cam Pro (2e gen) kun je namelijk alleen op de plek van een bestaande buitenlamp monteren. De IP65-gecertificeerde behuizing is grotendeels van kunststof. Desalniettemin voelt de constructie solide aan, dus die gaat niet zomaar stuk. Gunstig is dat je zowel de camera als beide schijnwerpers naar eigen wens kunt richten.

©Maikel Dijkhuizen

Behalve de bewakingscamera bevat de productdoos een montagebeugel, montagegereedschap en beveiligingssticker.

Montage

Voor de juiste montage-instructies ben je aangewezen op de Ring - Always Home-app. Overigens is dat geen straf, want duidelijke filmpjes en Nederlandstalige aanwijzingen loodsen je soepel door de installatieprocedure. Film de QR-code en volg vervolgens alle stappen. Een beetje kennis van elektra is trouwens geen overbodige luxe.

De fabrikant levert montagegereedschap mee, zoals pluggen, afdekdoppen en een schroevendraaier. Je hebt verder alleen nog maar een boormachine nodig. De montagebeugel bevat een kroonsteentje waarop je de gekleurde stroomdraden kunt aansluiten. Daarnaast heeft de montagebeugel een geïntegreerde waterpas, zodat je de beveiligingscamera helemaal recht hangt. Houd rekening met een ideale ophanghoogte van ongeveer drie meter.

©Maikel Dijkhuizen

Het aansluiten van de elektradraadjes op het geïntegreerde kroonsteentje is een precisiewerkje.

Configuratie

Na de montage volgt de configuratie in de Ring - Always Home-app. Je koppelt deze beveiligingscamera van Google binnen een mum van tijd aan een 2,4GHz- of 5GHz-netwerk. Vervolgens downloadt en installeert het apparaat op eigen houtje een firmware-update. Helaas kun je deze beveiligingscamera niet met een bekabeld netwerk verbinden. Zorg op de beoogde locatie dus voor voldoende wifi-dekking. Bij te weinig bandbreedte schakelt deze beveiligingscamera automatisch terug naar een lagere videokwaliteit.

Je geeft tijdens de configuratie optioneel andere gezinsleden toegang tot de camera. Bepaal ook welke slimme meldingen je wilt ontvangen. Na detectie van personen, voertuigen en andere bewegingen stuurt de Floodlight Cam Pro je desgewenst pushnotificaties. Hierbij stel je zelf de gevoeligheid van de bewegingssensor en detectiezone in. Je kunt ook nog gebieden blokkeren, zodat je bijvoorbeeld geen activiteiten in een naburige tuin vastlegt.

©Maikel Dijkhuizen

Neem even de tijd om alle stappen van de uitgebreide configuratie door te nemen.

Opnemen in 4K

De maximale videokwaliteit van 3840 × 2160 pixels betaalt zich uit, want de beelden zijn zeer scherp. Zo'n hoge resolutie is voor bewakingsdoeleinden eigenlijk niet per se nodig, al biedt het wel degelijk voordelen. Na maximaal 10× inzoomen zijn nummerborden namelijk nog goed leesbaar. Met een behoorlijk brede kijkhoek van 140 graden (horizontaal) bewaak je probleemloos een grote tuin of oprijlaan.

In het donker hebben de twee schijnlampen met een totale lichtopbrengst van 2000 lumen veel meerwaarde. Je ziet 's avonds en 's nachts op grote afstand precies wat er bij jouw woning gebeurt. Daarbij fungeert de Floodlight Cam Pro ook nog als veredelde buitenlamp. Voor een beveiligingscamera heeft dit model een luide sirene. Wie weet schrikt dat insluipers af. Dankzij ondersteuning voor tweewegaudio kun je op afstand een gesprek starten.

Je kijkt in de app eenvoudig opnames terug. Met behulp van de kalender en duidelijk vormgegeven tijdlijn bepaal je welk moment je wilt terugzien. Er is ook een slimme zoekfunctie ingebakken, zodat je met specifieke trefwoorden als 'hond', 'pakket' en 'rode auto' relevante opnames kunt vinden. Een nadeel is dat Ring-beveiligingscamera's geen lokale opslag ondersteunen. Wil je opnames van gebeurtenissen opslaan of 24/7 opnemen, dan heb je een betaald Ring Home-abonnement nodig.

©Maikel Dijkhuizen

De Ring Floodlight Cam Pro maakt scherpe opnamen.

Ring Floodlight Cam Pro (2e gen) kopen?

De Ring Floodlight Cam Pro (2e gen) heeft een heleboel voordelen, zoals een scherp beeld, twee felle verstelbare ledlampen, luide sirene en gebruiksvriendelijke app. Daarmee zijn alle ingrediënten aanwezig om op een laagdrempelige manier je tuin of oprit te bewaken. Daarentegen is de adviesprijs van 279,99 euro nogal fors. En daarmee ben je er nog niet, want voor het bewaren van opnames heb je een betaald Ring Home-abonnement nodig. Er bestaan als alternatief (veel) goedkopere floodlight-beveiligingscamera's met lokale opslag, al ondersteunen die veelal geen 4K-beeldkwaliteit.

Lees ook: Bedraad of draadloos: wat is de beste slimme deurbel voor jou?