Tokenisatie uitgelegd: hoe een LLM tekst in stukjes hakt
Wanneer je een prompt naar een Large Language Model (LLM) zoals Claude of DeepSeek stuurt, leest dit model geen letters of woorden zoals wij dat doen. Het model zet de tekst eerst om in tokens. Maar wat zijn tokens precies, en waarom zijn ze zo belangrijk als je AI-applicaties bouwt?
Wat is een token?
Een token is de basiseenheid van gegevens die een LLM verwerkt. Je kunt het zien als een stukje van een woord of een tekenreeks. Korte, veelvoorkomende woorden vormen vaak exact één token, terwijl langere of complexe woorden in meerdere tokens worden opgeknipt door de tokenizer. Nadat de tekst is opgeknipt, krijgt elk token een uniek getal (een ID). De LLM voert zijn wiskundige berekeningen vervolgens uit met deze getallen, niet met de tekst zelf.
Waarom tokens belangrijk zijn: Kosten en Context
Als je webapplicaties bouwt en AI-modellen via een API aanroept, zijn tokens zowel je betaalmiddel als je technische limiet:
- Kosten: API-providers berekenen prijzen per 1 miljoen input- en output-tokens. Elke keer dat je data verstuurt en ontvangt, kost dit geld. Zeker bij geavanceerde systemen zoals Retrieval-Augmented Generation (RAG), waarbij je grote brokken achtergrondinformatie naar de API meestuurt, lopen de tokenaantallen — en dus de kosten — snel op.
- Context Window: Elk model heeft een maximaal geheugen per API-aanroep, de zogenaamde context window. Een model met een window van 128.000 tokens kan ruwweg honderden pagina's aan tekst onthouden in één sessie. Zodra je over deze limiet heen gaat, weigert de API de prompt of moet informatie worden weggelaten.
Tokenisatie in het Nederlands: Een verborgen nadeel?
De meeste tokenizers zijn primair getraind op enorme hoeveelheden Engelse tekst. Daardoor zijn ze erg efficiënt in het Engels: 1 token staat daar gelijk aan ongeveer 0,75 woord. In het Nederlands is dit helaas minder gunstig. Onze taal bevat veel specifieke samenstellingen en patronen die de tokenizer niet als één geheel herkent.
Voorbeeld: Het Engelse woord "apple" is 1 token. Het Nederlandse woord "gezelligheid" wordt door veel tokenizers opgeknipt in wel 3 tot 4 tokens (bijvoorbeeld: "ge" - "zellig" - "heid"). Dit betekent dat een Nederlandstalige prompt vaak meer tokens verbruikt dan een exacte Engelse vertaling, wat direct invloed heeft op je API-kosten en de beschikbare ruimte in je context window. Bekijk onze benchmark voor token-efficiëntie om te zien welke LLM's het meest kostenefficiënt presteren met de Nederlandse taal.
Oefening: Tokens schatten
Hoeveel tokens denk je dat een gemiddelde Nederlandse tekst verbruikt? Gebruik deze snelle vuistregel voor je eigen applicaties:
- Neem een stuk test-tekst van 100 Nederlandse woorden.
- Vermenigvuldig het aantal woorden met 1,5 tot 1,7 (de gemiddelde ratio voor Nederlands bij veel modellen, in tegenstelling tot de factor 1,3 voor Engels).
- Je geschatte tokengebruik is in dit geval ongeveer 150 tot 170 tokens per 100 woorden.
Tip: Wil je het exact weten? Gebruik de officiële tokenizer-tool van de API-provider (zoals tiktoken) binnen je Python- of Node.js backend om het exacte aantal te berekenen voordat je de request verstuurt.