Kunstmatige intelligentie (AI) is zo langzamerhand niet meer weg te denken uit onze levens. Of je nu een zoekterm invoert in Google, gebruikmaakt van een tool als Microsoft Copilot of scrollt door social media: overal tref je AI aan. Je kunt er gewoonweg niet meer omheen. Volgens de definitie van Wikipedia is AI: “het nabootsen van menselijke vaardigheden met een computersysteem, zoals: het aanleren, redeneren, anticiperen en plannen om zichzelf automatisch bij te sturen”.

Aangezien AI zo populair is en voorlopig ook niet zal verdwijnen leek het mij leuk om hier eens wat meer te verdiepen. Dat gaat natuurlijk het handigste als je zelf een test-opstelling maakt zodat je alles zelf in de hand hebt en je data privé blijft.

AI maakt gebruik van AI-modellen om zijn ‘werk’ te doen. Een AI-model is het brein achter alles wat kunstmatige intelligentie doet. Het is een algoritme dat is getraind om patronen te herkennen en daar slimme voorspellingen of beslissingen op te baseren. Een AI-model is in de basis een algoritme dat getraind is om specifieke taken uit te voeren op basis van de data die erin is gestopt. Denk hierbij aan het genereren van teksten, het herkennen van afbeeldingen of het voeren van gesprekken in natuurlijke taal. Er zijn heel veel AI-modellen met elk zijn eigen voor- en nadelen.

Om wat ervaring op te doen hiermee ben ik aan de slag gegaan om een test-systeem op te zetten. Ik maak hierbij gebruik van 2 docker containers: Ollama en Open-WebUI. In Ollama kun je het model downloaden wat je wilt gebruiken en met Open-WebUI maak je hier via een web-interface gebruik van.

Ik heb gebruik gemaakt van de informatie van Ollama en Open-WebUI om een ‘docker-compose.yml’ file te maken die er als volgt uit ziet (pas directies naar jouw behoeften aan):

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - 11434:11434
    volumes:
      - /home/henri/openai/ollama:/root/.ollama
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    depends_on:
      - ollama
    ports:
      - 3000:8080
    volumes:
      - /home/henri/openai/open-webui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=
      - TZ=Europe/Amsterdam
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

Je start de containers op met het commando: ‘docker compose up -d. Je controleert of Ollama goed werkt met het commando:

http://localhost:11434

Deze moet, als alles goed is gegaan, het volgende teruggeven:

Ollama is running

Op het gebruik van de container Open-WebUI kom ik later in dit artikel terug.

Ollama

Nu kun je in Ollama met AI-modellen direct aan de slag door commando’s in het model uit te voeren in de docker container zelf (bijvoorbeeeld: ‘docker exec -it ollama ollama list).

Handige commando’s hierbij zijn:

serve Start Ollama op je lokaal systeem
create Maakt een nieuw model op basis van een bestaand model voor aanpassing of training
show Geeft details weer over een specifiek model, zoals de configuratie en releasedatum
run Voert het opgegeven model uit, zodat het klaar is voor interactie
pull Downloadt het opgegeven model naar je systeem
list Geeft een lijst weer van alle gedownloade modellen. Hetzelfde als ollama ls
ps Toont de modellen die momenteel worden uitgevoerd

 

Je installeert bijvoorbeeld een AI-model met het commando ‘docker exec -it ollama ollama pull <model>’ (begin met een klein model zoals ‘qwen3:0.6b’ zodat je niet tegen geheugen grenzen aanloopt). Je hebt hierbij de keuze uit de volgende Ollama AI-Modellen.

Hier zijn enkele voorbeeldmodellen die kunnen worden gedownload:

Model Parameters Grootte Downloaden
Gemma3 1B 815 MB gemma3:1b
Gemma3 4B 3.3 GB gemma3
Gemma3 12B 8.1 GB gemma3:12b
Gemma3 27B 17 GB gemma3:27b
QwB 32B 20 GB qwq
DeepSeek-R1 7B 4.7 GB deepseek-r1
DeepSeek-R1 671B 404 GB deepseek-r1:671b
Llama 4 109B 67 GB llama4:scout
Llama 4 400B 245 GB llama4:maverick
Llama 3.3 70B 43 GB llama3.3
Llama 3.2 3B 2.0 GB llama3.2
Llama 3.2 1B 1.3 GB llama3.2:1b
Llama 3.2 Vision 11B 7.9 GB llama3.2-vision
Llama 3.2 Vision 90B 55 GB llama3.2-vision:90b
Llama 3.1 8B 4.7 GB llama3.1
Llama 3.1 405B 231 GB llama3.1:405b
Phi 4 14B 9.1 GB phi4
Phi 4 Mini 3.8B 2.5 GB phi4-mini
Mistral 7B 4.1 GB mistral
Moondream 1.4B 829 MB moondream
Neural Chat 7B 4.1 GB neural-chat
Starling 7B 4.1 GB starling-lm
Code Llama 7B 3.8 GB codellama
Llama 2 Uncensored 7B 3.8 GB llama2-uncensored
LLaVa 7B 4.5 GB llava
Ganite 8B 4.9 GB granite3.3

 

Opmerking
Je moet minimaal 8 GB RAM beschikbaar hebben om de 7B-modellen te kunnen uitvoeren, 16 GB om de 13B-modellen uit te voeren en 32 GB om de 33B-modellen uit te voeren.

Je kunt met het ‘run’ commando interactief aan de slag.




Handiger is echter om gebruik te maken van een web-interface en hiervoor gaan we Open-WebUI gebruiken. Zie voor meer informatie over Ollama de GIT van Ollama.

Open-WebUI

Open WebUI is een uitbreidbaar, veelzijdig en gebruiksvriendelijk zelfgehost AI-platform dat volledig offline kan worden gebruikt. Het ondersteunt verschillende LLM-runners zoals Ollama en OpenAI-compatibele API’s en het is een krachtige oplossing voor AI-implementatie.

OpenWebUI heeft twee belangrijke functies:

  • Een frontend-interface voor Ollama.
  • Een proxy en beveiligingsfilter voor API-toegang tot Ollama.

Er zijn twee sets API-eindpunten waar je rekening mee moet houden:

  • OpenWebUI Management API.
  • Ollama API (via OpenWebUI geproxied).

Om gebruik te maken van Open-WebUI ga je met je web-browser naar:

http://localhost:3000

Bij de eerste login kun je een Admin account aanmaken.






Vervolgens moet je nog de connectie naar je Ollama goed instellen. Dit doe je bij ‘Settings > Admin Settings > Connection’. Vul deze als volgt in:



Met ‘manage’ kun je hier eventueel ook nog beheer doen over je Ollama modellen:



Tenslotte kun je in hoofd-interface van Open-WebUI je model linksboven kiezen en een vraag stellen:


Conclusie

Ik heb verteld wat AI is en hoe je een test-systeem kunt opstellen. Het voordeel van zelf hosten is dat je data privé blijft. Nu moet ik mij nog verder gaan verdiepen in alle mogelijkheden en instellingen. Ik heb in elk geval een goede basis om verder te gaan experimenteren. Als jij nog goede tips hebt dan hoor ik dat graag in de reacties onderaan dit artikel.