Een streaming-respons is een AI-model dat zijn antwoord in kleine stukjes terugstuurt terwijl het ze schrijft, in plaats van alles vast te houden tot het antwoord af is. Elk stukje is meestal een enkele token en verschijnt op het moment dat het model het maakt.

Zie het als een telefoongesprek tegenover een brief. Bij een brief wacht je tot het hele ding binnen is voordat je een woord kunt lezen. Aan de telefoon hoor je elke zin terwijl de ander praat. Streaming maakt van de AI een telefoongesprek in plaats van een brief, en dat scheelt veel bij een chatbot, waar drie seconden zonder beweging op het scherm al kapot aanvoelt.

Onder de motorkap is het werk hetzelfde. Tijdens inferentie maakt het model de tokens toch al een voor een, dus streaming stuurt elke token gewoon door zodra hij er is in plaats van ze op te sparen. De eerste token kan ruim binnen een seconde verschijnen, ook als het volledige antwoord tien seconden duurt. Het nadeel is dat je deeltekst binnenkrijgt, dus alles wat het complete antwoord nodig heeft, zoals het opslaan als nette gestructureerde data, moet wachten tot de stream klaar is.

Technisch komen de tokens binnen over een langlopende verbinding, vaak server-sent events, en leest je code ze in een lus uit en plakt elk stukje aan het scherm. Dat detail bijt op een paar plekken: een stream kan halverwege afbreken, dus je moet een wegvallende verbinding netjes opvangen, en je kunt geen tokenteller of contentcheck tonen op tekst die nog niet binnen is. Een veelgebruikte aanpak is daarom streamen naar de gebruiker voor het gevoel, terwijl een tweede call zonder streaming op de achtergrond de strikte parsing doet.

Bij TopDevs zetten we streaming aan bij elke chat- of assistentfunctie die we bouwen, want juist dat vroege flikkeren van tekst maakt dat de tool responsief voelt in plaats van bevroren.