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.