Q_LLM — een taalmodel in pure Java, van nul opgebouwd
=====================================================

Dit is de volledige broncode bij Deel II van het boek "Van neuron tot
taalmodel": een GGUF-lader, een BPE-tokenizer, een forward pass met
KV-cache en de snelle Vector API-kernen. Geen Maven, geen Gradle, geen
enkele externe bibliotheek — één JDK (versie 22 of nieuwer) volstaat.

Beginnen
--------
1. Lees src/LEESMIJ.md — daar staat per mijlpaal wat elk bestand doet
   en hoe je het toetst.
2. De zelftests draaien zonder model:

     java src/GgufTest.java
     java --add-modules jdk.incubator.vector src/ForwardTest.java

3. Voor het echte werk heb je een Qwen2-modelbestand nodig. Gebruik je
   ollama, dan staat het er al (zie "Een model vinden" in de LEESMIJ);
   anders volstaat een GGUF van Qwen2.5-0.5B-Instruct.

     java --add-modules jdk.incubator.vector src/Forward.java <model.gguf> \
          --chat --n 200 "What is the capital of France?"

De vlag --add-modules jdk.incubator.vector hoort bij alles wat de
forward pass raakt: de snelle kernen gebruiken de (incubator-)Vector API.

De map benchmark/ bevat de losstaande roofline-meting uit het
plan-hoofdstuk van het boek.

Licentie
--------
MIT — zie LICENSE.txt. Kort gezegd: vrij te gebruiken, te wijzigen en
te verspreiden, ook commercieel, zolang de licentietekst met de
naamsvermelding meereist. Zonder enige garantie.

Momentopname van 17 augustus 2026, behorend bij het boek
"Van neuron tot taalmodel" van Willy Poelmans.
