ID.nl logo
Programmeren in Python met ChatGPT - Deel 5
© Limitless Visions - stock.adobe.com
Huis

Programmeren in Python met ChatGPT - Deel 5

In de vorige delen van de workshopreeks over de OpenAI-API hebben we teksten samengevat, vertaald en er informatie uit gehaald. Dat bleef telkens beperkt tot één vraag en één antwoord. In dit laatste deel gaan we een stap verder: je gaat in je eigen Python-programma’s volwaardige conversaties voeren met het taalmodel van ChatGPT.

In dit laatste deel laten we zien dat je in Python een conversatie met ChatGPT kunt voeren.

  • We breiden de basiscode uit met 'messages'
  • We creëren een spelpersonage

Lees ook: Babbelen met bijdehante bots: er is meer dan ChatGPT

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-dl5.txt is beschikbaar via deze webpagina.

Je weet ondertussen hoe je in je Python-programma’s een vraag aan ChatGPT stelt via de OpenAI-API. We hebben dit in de vorige vier delen van deze workshopreeks geïllustreerd met talloze toepassingen. Maar onze programma’s hadden daarbij telkens dezelfde structuur: je stelt een vraag (de prompt), je krijgt een antwoord (de completion) en dan stopt de interactie.

Als je al eens van ChatGPT gebruikgemaakt hebt op de OpenAI-website, weet je dat je er ook volledige conversaties mee kunt voeren. Die mogelijkheid gaan we nu ook in onze eigen Python-programma’s inbouwen. In plaats van een klassieke, beperkte interface met invoer in een vast patroon, creëer je zo een conversationele interface. 

Basiscode

In de vorige delen van deze reeks maakten we altijd gebruik van een basisfunctie get_completion waaraan we een gebruikersprompt en eventueel een systeemprompt gaven, met optioneel ook een model. Die functie stuurde de prompt(s) door aan de OpenAI-API en gaf het antwoord terug.

Om een conversatie te voeren, moet het taalmodel toegang tot de hele context hebben, met de vorige boodschappen die het taalmodel en jij hebben uitgewisseld. Daarom maken we in dit deel een nieuwe hulpfunctie: get_completion_from_messages. Daaraan geef je de hele geschiedenis van boodschappen door. Onze basiscode ziet er dan als volgt uit:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Klik daarom in Visual Studio Code op File / New File en kies Python File. Plaats daarin de voorgaande Python-code. De API-sleutel moet je zelf aanmaken in je account bij OpenAI, net zoals in de vorige delen van deze workshopreeks.

Google Nest Mini

Een apparaat dat ook luistert naar wat jij te zeggen hebt

Rollen

Waaruit bestaan die boodschappen nu? Het argument messages dat we aan de functie get_completion_from_messages moeten doorgeven, is een lijst van Python-dictionary’s, een datastructuur die sleutels en waardes heeft. Elke dictionary in de lijst messages heeft twee sleutels: "role" en "content". De eerste beschrijft de rol van de boodschap in de conversatie en de tweede de inhoud (de tekst).

De OpenAI-API kent drie rollen: system, user en assistant. Een boodschap met de rol system beschrijft een systeemprompt. Zoals we in de vorige delen uitlegden, geeft een systeemprompt algemene instructies aan het taalmodel. Een boodschap met de rol user beschrijft een vraag van de gebruiker. En een boodschap met de rol assistant beschrijft een antwoord van het taalmodel.

Een conversatie met de OpenAI-API kan er dan in Python als volgt uitzien in de vorm van boodschappen met een rol en inhoud:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Voeg deze lijst aan je code toe. Daarna kun je aan de OpenAI-API vragen om de conversatie in deze boodschappen voort te zetten:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Sla dit bestand in Visual Studio Code op met Ctrl+S en geef het een naam. Klik dan op Terminal / New Terminal, waarna er onder je code een nieuw deelvenster opent met een opdrachtprompt. Klik rechts bovenaan 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 antwoord als “Voor het geval dat de cloud gaat regenen!”.

Met deze kennis over de rollen weet je nu ook waarom er in de laatste regel van de functie get_completion_from_messages (en de functie get_completion die we in de eerdere workshops gebruikten) response.choices[0].message["content"] staat. Het stukje message["content"] geeft de tekst van het antwoord van het taalmodel terug. Als je message["role"] in die functie zou tonen, zou je "assistant" te zien krijgen.

Aan ChatGPT is geen originele komiek verloren gegaan.

Wat onthoudt de chatbot?

Je hebt gezien dat elke conversatie die je met het taalmodel voert, bestaat uit een lijst van boodschappen. Het taalmodel houdt rekening met alle informatie die in deze boodschappen te vinden is. Vertel je bijvoorbeeld in één boodschap je naam, dan kun je daar in een van de boodschappen erna naar vragen en kan het taalmodel daar perfect op antwoorden. Vervang de lijst messages uit het vorige voorbeeld maar eens door deze lijst en voer het programma uit:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

De conversatie is eenvoudig. Het taalmodel krijgt de instructie dat het een vriendelijke chatbot is. Daarna stelt de gebruiker zich voor en vraagt het taalmodel wat het kan doen. De gebruiker vraagt dan wat zijn naam is.

Als je dit programma uitvoert, zul je zien dat het taalmodel de naam heeft onthouden. Je krijgt dan immers een antwoord als: “Je naam is Koen. Dat heb je net verteld! Is er nog iets specifieks waar je meer over wilt weten?”

In een andere conversatie waarin je je naam niet vertelt, zal de chatmodel niet op de vraag kunnen antwoorden wat je naam is. Deze conversatie bijvoorbeeld:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Dan krijg je als antwoord iets als: “Sorry, maar ik ben een chatbot en heb geen toegang tot persoonlijke informatie. Ik ken je naam niet.”

Het is belangrijk om te weten dat elke conversatie die je met het taalmodel voert volledig losstaat van de andere. Dat je eerder je naam verteld hebt in de andere conversatie, is geen informatie die in de nieuwe conversatie beschikbaar is. Het taalmodel kent alleen de algemene informatie waarop het is getraind en de lijst met boodschappen die je eraan doorgeeft. 

Conversaties voeren

Hierboven hebben we de boodschappen in de programmacode gezet. Maar we willen de gebruiker zelf invoer laten geven. Hoe doen we dat? Met nog een extra hulpfunctie, die de lijst met boodschappen opbouwt en telkens nieuwe invoer vraagt en de uitvoer toont. Dat doen we door de basiscode uit te breiden met:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Als je dit programma uitvoert, kun je een vraag intypen en met een druk op Enter doorsturen. De functie converse voegt je vraag als prompt toe aan de lijst met boodschappen in de variabele context. Ook het antwoord van het taalmodel voegt de functie aan de lijst toe en dat antwoord wordt getoond. We blijven in een oneindige lus (met while True) de functie oproepen, waarbij de context telkens wordt uitgebreid met je vraag en het antwoord. Daardoor onthoudt het taalmodel de voorgaande boodschappen en kunnen we een echte conversatie voeren.

Het taalmodel onthoudt zaken die je in eerdere boodschappen hebt verteld.

Conversationele interface

We hebben nu in wezen een eenvoudige interface voor ChatGPT gebouwd in een terminalvenster. Maar we willen hier een conversationele interface van maken om op een gebruiksvriendelijke manier invoer voor een groter programma te verkrijgen. Als voorbeeld nemen we een computerspel, waarbij je in het begin je spelpersonage moet ontwerpen.

Pak een momentje van ontspanning

Met je favoriete spelpersonage

Een spelpersonage bestaat uit enkele eigenschappen, zoals naam, vaardigheid, uitrusting en ras. Het spel zou je dat allemaal in een formulier kunnen laten invullen, maar waarom niet in een conversatie? Dat gaan we in de rest van dit artikel programmeren. Als eerste stap moeten we dus een uitgebreide systeemprompt creëren die de conversatie kadert:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Ja, de systeemprompt moet echt zo lang zijn. Als we niet expliciet zeggen wat de chatbot wel en niet mag doen, krijgen we uiteindelijk niet wat we willen: een JSON-string met de eigenschappen van het personage. 

Doet je programma niet wat het moet doen? Zodra je een taalmodel in je programma integreert, ben je afhankelijk van de grillen van het taalmodel. Het is een zwarte doos, waarvan je niet weet hoe het exact werkt en wat het doet. Dat contrasteert heel sterk met de ijzeren logica van een programmeertaal als Python. Het is dus goed mogelijk dat het programma van dit artikel niet doet wat je wilt, omdat je een net iets andere invoer geeft dan verwacht of omdat OpenAI ondertussen zijn taalmodel een update heeft gegeven die zich anders gedraagt. Je zult dus waarschijnlijk continu je programma moeten testen en de systeemprompt moeten finetunen, zodat het gewenste gedrag behouden blijft. Dat is het nadeel van de flexibiliteit van een taalmodel in je programma’s te integreren.

JSON

Een groot deel van onze systeemprompt bestaat uit instructies om de uiteindelijke keuzes van de gebruiker in de vorm van JSON (JavaScript Object Notation) te geven. Waarom is dat zo belangrijk? Omdat we de rest van ons programma alleen met gestructureerde gegevens kunnen laten omgaan, niet met tekst.

Dus als de gebruiker in een conversatie met onze assistent een speler met de naam Born heeft gekozen, die een orkenschurk is met een boog, dan moet ons programma dit uiteindelijk in de volgende vorm kunnen inlezen:

Converseren naar een doel

Het doel van onze conversatie is dus dat we uiteindelijk een JSON-string als hierboven krijgen, zodat het programma verder kan en we het spel kunnen spelen. We kunnen onze conversatie dus laten stoppen wanneer de uitvoer van de assistent een geldige JSON-string is.

Om JSON in Python te gebruiken, importeer je eerst de gelijknamige bibliotheek helemaal in het begin van het programma:

import json

Daarna komt onze basiscode en de systeemprompt met de uitgebreide instructies van hierboven, en daarna creëren we de volgende functie converse:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

Deze functie vraagt dus invoer van de gebruiker, voegt die aan de context toe en stelt de vraag aan de OpenAI-API. Het antwoord van de assistent voegen we aan de context toe.

Daarna probeert de functie om het antwoord van de assistent als een JSON-object in te laden. Lukt dat, dan geeft de functie dit JSON-object terug. Lukt dat niet, dan geeft Python de foutmelding json.decoder.JSONDecodeError terug en reageren we daarop door gewoon het antwoord van de assistent te tonen. Het is dan immers niet het laatste antwoord met de gestructureerde data in JSON-vorm, maar een vraag. In dat geval geeft de functie None terug, omdat de data nog niet volledig zijn.

Gestructureerde data

Hoe maken we nu van die functie converse gebruik? Dat doen we met de volgende code:

De code kun je bekijken in het bestand gptcode-dl5.txt, te downloaden via .

We initialiseren eerst de variabele properties door ze de waarde None te geven. Dan tonen we de eerste boodschap van de assistent, waarin we de gebruiker naar de naam van het spelpersonage vragen.

Daarna roepen we de hele tijd de functie converse met de context aan, zolang de waarde die deze functie teruggeeft None is. Zoals we in die functie gezien hebben, geeft ze een JSON-string terug als de assistent JSON-data teruggeeft en anders None. Als de assistent de instructies correct volgt (zie het kader “Doet je programma niet wat het moet doen?”), stopt de conversatie dus wanneer de data volledig zijn.

Op dat moment wordt de code na het while-blok uitgevoerd. We kunnen nu de eigenschappen van het spelpersonage op een gestructureerde manier uit het JSON-object properties halen. We tonen ze hier één voor één. Uiteraard zou je nog wat controles moeten uitvoeren, zodat er geen ongeldige waardes in staan wanneer het taalmodel niet goed werkt. Maar dat is een oefening voor de lezer!

Onze spelassistent weet dat we met ‘human’ een mens bedoelen en met ‘staf’ een toverstaf, maar negeert in dit geval ons verbod om begeleidende tekst bij de JSON-string te geven.

Lees ook:

▼ Volgende artikel
Dit zijn de winnaars van Kieskeurig Best Reviewed van het Jaar 2025
Huis

Dit zijn de winnaars van Kieskeurig Best Reviewed van het Jaar 2025

Benieuwd wat afgelopen jaar de échte uitblinkers op het gebied van consumentenelektronica waren? Kieskeurig.nl reikt voor het eerst de Best Reviewed van het Jaar-awards uit. Deze 64 producten scoorden consistent de hoogste cijfers bij echte gebruikers. Bekijk hieronder de complete lijst met winnaars en ontdek welke producten de ultieme publieksprijs verdienen én de beste koop zijn voor jou.

Als je op zoek bent naar een nieuwe televisie of stofzuiger, wil je eigenlijk maar één ding weten: ga ik spijt van deze aankoop krijgen of niet? Al jaren helpen de maandelijkse Best Reviewed-labels op Kieskeurig.nl je om die keuze te maken: die predicaten zijn namelijk gebaseerd op de ervaringen van gebruikers die het product al in huis hebben.

Dit jaar doen we daar nog een schepje bovenop. We introduceren namelijk een gloednieuwe onderscheiding voor de absolute uitblinkers die niet slechts even, maar het hele jaar door favoriet waren: de Best Reviewed van het Jaar-award.

Het winnen van deze prijs is het bewijs dat een product een vaste waarde is gebleken waar consumenten het hele jaar (2025 in dit geval) blind op hebben kunnen bouwen. Het is daarmee de ultieme publieksprijs, want er komt geen vakjury aan te pas. De enige jury die telt, is de eindgebruiker die zijn ongezouten mening heeft achtergelaten op Kieskeurig.nl.

©AK | ID.nl

De winnaars

We hebben de balans over het afgelopen jaar opgemaakt en dat heeft geresulteerd in een prachtige lijst met winnaars. In totaal zijn er 64 producten in de prijzen gevallen, variërend van televisies en koelkasten tot de nieuwste gadgets. Stuk voor stuk zijn dit apparaten die de hoogste beoordelingen kregen en die de verwachtingen van de koper echt hebben waargemaakt. Ben je benieuwd welke producten zich de allereerste Best Reviewed van het Jaar mogen noemen en daarmee de veiligste keuze zijn voor jouw volgende aankoop? Bekijk hieronder het volledige overzicht van alle winnaars per categorie.

Audio & beeld

Autoradio: Kenwood DMX5020BTS

Draadloze speaker: JBL Grip

Koptelefoon: Sony WH-1000XM6

Televisie: LG OLED55C56LB

Computer, gaming & telefonie

Computermuis: Trust Fyda

Gamingaccessoires: Trust GXT 721 Ruya Pro

Laptop: Acer Aspire 14 AI A14-52M-56CK

Router: TP-Link Deco BE25

Smartphone: Google Pixel 10 Pro

Smartwatch: Huawei WATCH GT6

Software: NordVPN Plus Premium Vpn Services

Toetsenbord: Trust GXT 871 Zora

Keukenapparatuur klein

Blender: Philips HR2670

Eierkoker: Philips HD9137

Frituurpan: Tefal Easy Fry XL Surface FW4018

Grill: Tefal OptiGrill Elite XL GC760D

Handmixer: Philips HR3781

IJsmachine: Tefal Dolci IG602A

Keukenmachine: Kenwood Go KZM35GY

Pastamachine: Philips HR2665

Rijstkoker: Philips HD3080

Staafmixer: Philips HR2531

Tosti-ijzer: Philips HD2331/90

Wafelijzer: Philips HD2332


Huishouden & wonen

Bijverwarming: Philips CX3120

Elektrische deken: Beurer HK 48 Cosy

Kledingstomer: Tefal AeroSteam DT9814

Luchtbevochtiger: Philips HU5710

Luchtontvochtiger: Philips DE5305

Luchtreiniger: Philips  PureProtect Quiet 2200-serie AC2221

Robotstofzuiger: Rowenta X-Plorer Serie 135+ RR91D5

Stofzuiger: Rowenta X-Force Flex 15.60 RH99F1

Stoomgenerator: Tefal Pro Express Eco GV9E21

Strijkijzer: Tefal Freemove Power FV6675E0

Vloerreiniger: Rowenta X-Clean 10 GZ7035

Wasdroger: Hisense DH5S102BW

Wasmachine: LG F4WX809Y

Wastafelkraan: GROHE Start Wastafelkraan

Keukenapparatuur groot

Afzuigkap: ETNA AB791ZT

Fornuis: ETNA FIV560RVS

Inbouwkoelkast: Liebherr IRD 3900-22

Inbouwmagnetron: ETNA CM250TI

Inbouwoven: ETNA CM250MZ

Inbouwvaatwasser: ETNA VW544N

Inbouwvriezer: Liebherr IFND 3924-22

Koelkast: ETNA KCV282NRVS

Kookplaat: ETNA KIV354RVS

Magnetron: ETNA ECM153WIT

Vaatwasser: ETNA VWV144ZWA

Vriezer: Liebherr FNE 5207-22

Koffie & thee

Espressomachine: Krups Sensation Milk M50 EA9129

Koffiemolen: WMF Lumero Espresso

Melkopschuimer: Inventum MK350

Kookgerei

Keukenaccessoires: Philips Airfryer XXL HD9957/00 Bakset

Pan: Tefal Ingenio So Light 16-delig

Persoonlijke verzorging

Elektrische tandenborstel: Laifen Wave

Föhn: Remington D6077

Krul- en stijltang: Shark Glam 5-in-1 HD6051SEU

Massageapparaat: Beurer MG 89 CompactPower

Scheerapparaat: BaByliss X-Blade Super-X Metal Series OT991E

Smarthome

Beveiligingscamera: Trust IPCAM-2700

Slimme deurbel: TP-Link Tapo D210

Sport & vrije tijd

Loopband: Moovv SmartStep Pro v3 

Huisdieren

Dierbenodigdheden: POOPY NANO 2

▼ Volgende artikel
Waar voor je geld: 5 Amerikaanse koelkasten met energielabel C tot E
© ID.nl
Huis

Waar voor je geld: 5 Amerikaanse koelkasten met energielabel C tot E

Bij ID.nl zijn we gek op producten voor een mooie prijs of die iets extra's of bijzonders te bieden hebben. Daarom gaan we een paar keer per week voor jullie op zoek naar leuke deals. Dit keer: Amerikaanse koelkasten met een energielabel van C tot E, en voor een mooie prijs.

Samsung RS68A884CSL

Deze Samsung is een van de zuinigere keuzes in dit segment met een energielabel C. Met een totale inhoud van 635 liter heb je een enorme hoeveelheid ruimte tot je beschikking. De wanden zijn dankzij de SpaceMax-technologie dunner dan gebruikelijk, waardoor je aan de binnenkant meer liters overhoudt zonder dat de koelkast aan de buitenkant groter is. Het koelgedeelte (409 liter) en vriesgedeelte (226 liter) worden gekoeld door twee aparte systemen, waardoor geurtjes niet over en weer gaan en de luchtvochtigheid op peil blijft. Je sluit dit model aan op de waterleiding voor koud water en ijsblokjes, dus je hoeft geen reservoirs bij te vullen.

In het vriesgedeelte vind je hierdoor een ruime indeling met vier legplateaus en twee transparante lades onderin. Doordat de ijsmachine in de deur is verwerkt, lever je geen ruimte in op de legplanken zelf. Dit zorgt ervoor dat je de volledige diepte van de planken kunt benutten voor pizzadozen of grote verpakkingen. De vriezer wordt gekoeld door een apart systeem, waardoor er geen geuroverdracht plaatsvindt vanuit het koelgedeelte.

Totale inhoud:
635 liter (409L koel / 226L vries)
Afmetingen (hxbxd): 178 x 91,2 x 71,6 cm
Geluidsniveau: 36 dB
Dispenser: Ja (waterleiding)
No Frost: Ja
Energielabel: C

Energielabels: hoe zit het ook al weer?

Door die nieuwe indeling lijkt de energieklasse van veel koelkasten lager dan voorheen. Een model dat vroeger bijvoorbeeld als A+++ werd bestempeld, krijgt nu bijvoorbeeld een B- of C-label. Dat betekent niet dat het apparaat meer stroom verbruikt dan vroeger. De meetmethode en de eisen achter het label zijn simpelweg aangescherpt en kunnen beter worden vergeleken met modernere apparaten.Begin 2024 zijn de regels opnieuw aangepast.

Sinds maart van dat jaar mogen fabrikanten geen nieuwe koelkasten en vriezers met energielabel F of G meer introduceren. Vanaf de zomer van 2024 geldt dat verbod ook voor de verkoop in winkels. Met deze maatregelen wil de Europese Unie fabrikanten aanzetten om energiezuinigere koel- en vriesapparatuur te ontwikkelen. De hier besproken Amerikaanse koelkasten hebben een energielabel variërend van C tot E.

LG GSLV70PZTD

Met energielabel D doet deze LG het netjes qua verbruik. Het is een klassiek side-by-side model waarbij het vriesvak aan de linkerkant zit en het koelvak rechts. De totale capaciteit is 635 liter, verdeeld over 416 liter koelen en 219 liter vriezen. Een handige eigenschap is de speciale koeling in de deur, waardoor producten die je in de deurvakken zet sneller koud worden en beter op temperatuur blijven. Ook dit model vereist een vaste wateraansluiting voor de dispenser aan de voorzijde. De Inverter Linear Compressor zorgt ervoor dat de temperatuur constant blijft en het geluidsniveau beperkt blijft tot 35 decibel.

De indeling van deze LG is gericht op overzicht en gemak. Aan de linkerkant bevindt zich het vriesgedeelte, dat is uitgerust met vier glazen legplateaus en twee vrieslades voor losse producten. Daarnaast heb je in de deur van de vriezer nog twee extra opbergvakken, handig voor kleinere items die je snel wilt kunnen pakken. De Inverter Linear Compressor zorgt voor een constante temperatuur, wat ijsvorming op de producten tegengaat. Voor het ijs en koude water sluit je dit apparaat aan op een vaste wateraansluiting, waarbij het UVnano-systeem de uitgang van de dispenser automatisch reinigt.

Totale inhoud:
635 liter (416L koel / 219L vries)
Afmetingen (hxbxd): 179 x 91,3 x 73,5 cm
Geluidsniveau: 35 dB
Dispenser: Ja (waterleiding)
No Frost: Ja
Energielabel: D

Haier HSR3918ENPG

Als je geen behoefte hebt aan een water- of ijsdispenser in de deur, is deze Haier een interessante optie. Doordat de dispenser ontbreekt, heb je aan de binnenkant van de vriesdeur meer bruikbare ruimte. De totale inhoud is met 528 liter iets compacter dan de modellen van Samsung en LG, maar voor de meeste gezinnen nog steeds ruim voldoende. De vriezer heeft een inhoud van 191 liter en de koelkast 337 liter. De Multi Air Flow-techniek zorgt ervoor dat de koude lucht gelijkmatig door de hele koelkast wordt verspreid. Met energielabel E valt hij in de middenmoot wat betreft zuinigheid voor moderne Amerikaanse koelkasten.

Omdat deze Haier geen water- of ijsdispenser heeft, is de binnenkant van de vriesdeur volledig beschikbaar voor opslag. Je vindt hier drie ruime deurvakken waar je flessen of potjes in kwijt kunt. Het vriescompartiment zelf bestaat uit vijf niveaus met legplateaus en twee lades aan de onderzijde. Doordat de dispenser ontbreekt, heb je over de gehele breedte van het vriesvak evenveel diepte tot je beschikking. De Multi Air Flow-techniek verspreidt de koude lucht gelijkmatig, zodat het op elk plateau even koud is. Deze koelkast heeft een E-label.

Totale inhoud:
528 liter (337L koel / 191L vries)
Afmetingen (hxbxd): 177,5 x 90,8 x 64,7 cm
Geluidsniveau: 38 dB
Dispenser: Nee
No Frost: Ja
Energielabel: E

LG GSXV90MCDE

Dit model onderscheidt zich direct door het glazen paneel in de rechterdeur. Als je hier twee keer op klopt, wordt het glas transparant en kun je zien wat er in het voorste compartiment staat zonder de deur te openen. Dit voorkomt dat je koude lucht verliest. De koelkast heeft een totale inhoud van 635 liter en beschikt over een dispenser voor water, ijsblokjes en crushed ice. Hiervoor is een vaste wateraansluiting nodig. In de dispenser zit een UV-lampje dat de uitgang van het water automatisch reinigt. Qua energieverbruik valt dit model in klasse E.

Dit model biedt in het vriesgedeelte een bijzondere extra: de Craft Ice-maker. Naast gewone ijsblokjes en crushed ice maakt dit systeem langzaam smeltende ijsballen. De ijsmachine is in de deur geïntegreerd, waardoor je in het vriesvak zelf meer plankruimte overhoudt. Je beschikt over vier legplateaus en twee transparante lades. De metalen afwerking aan de achterwand (Metal Fresh) helpt om de kou vast te houden en geeft het interieur een strakke uitstraling. Uiteraard is ook dit model volledig No Frost, dus handmatig ontdooien is niet nodig.

Totale inhoud:
635 liter (416L koel / 219L vries)
Afmetingen (hxbxd): 179 x 91,3 x 73,5 cm
Geluidsniveau: 36 dB
Dispenser: Ja (waterleiding) + Craft Ice
No Frost: Ja
Energielabel: E

Hisense RS694N4TFE

Zoek je de luxe van koud water en ijsblokjes maar heb je geen waterleiding in de buurt van je koelkast? Deze Hisense lost dat op met een ingebouwd waterreservoir van 4,5 liter dat je handmatig bijvult. Het model heeft een strakke afwerking en biedt in totaal 562 liter inhoud, waarvan 371 liter voor de koeling en 191 liter voor de vriezer. Met energielabel E is het een prima optie gezien de grootte van dit model. De No-Frost technologie zorgt er bovendien voor dat je het vriesgedeelte nooit handmatig hoeft te ontdooien, wat ook weer gunstig is voor het energieverbruik op de lange termijn.

De vriezer van deze Hisense bevindt zich aan de linkerzijde en heeft een nettocapaciteit van 191 liter. De indeling bestaat uit vier legplateaus en twee lades, aangevuld met drie deurvakken. Omdat dit model een ingebouwd watertankje in de koelkastdeur heeft in plaats van een vaste wateraansluiting, ben je flexibeler in waar je het apparaat in de keuken plaatst. De vriescapaciteit is groot genoeg om 11 kilo per 24 uur in te vriezen en bij stroomuitval blijven je producten tot 6 uur bevroren.

Totale inhoud:
562 liter (371L koel / 191L vries)
Afmetingen (hxbxd): 178,6 x 91 x 68,9 cm
Geluidsniveau: 42 dB
Dispenser: Ja (waterreservoir 4,5L)
No Frost: Ja
Energielabel: E