Leerpad
Bedrijven wereldwijd maken zich steeds meer zorgen over het beschermen van gevoelige informatie, terwijl ze toch de kracht van AI willen benutten. Deze gids biedt een complete oplossing voor het bouwen van veilige, lokale AI-toepassingen met een krachtige combinatie van open-sourcetools.
We gebruiken de Self-hosted AI Starter Kit om snel een lokale AI-omgeving op te zetten. Deze kit start automatisch Ollama, Qdrant, n8n en Postgres. Daarnaast leren we hoe je via het n8n-dashboard een AI-workflow bouwt voor een RAG-chatbot (Retrieval-augmented generation) met behulp van de Harry Potter-dataset.
Of je nu developer, data scientist of een niet-technische professional bent die veilige AI-oplossingen wil implementeren, deze tutorial geeft je de basis om krachtige, zelfgehoste AI-workflows te creëren, terwijl je volledige controle houdt over je gevoelige data.
Wat is Local AI?
Local AI stelt je in staat om AI-systemen en -workflows op je eigen infrastructuur te draaien in plaats van in de cloud, wat meer privacy en kostenefficiëntie biedt.
Als je nieuw bent in het AI-ecosysteem, bekijk dan eerst onze skill track AI Fundamentals om snel bij te leren. Door deze serie cursussen te volgen, krijg je praktische kennis over populaire AI-onderwerpen zoals ChatGPT, large language models, generatieve AI en meer.

Afbeelding door de auteur
Hier is de lijst met tools die we gebruiken om onze lokale AI-toepassingen te bouwen en te draaien:
- Docker: je containerisatieplatform dat alle AI-componenten verpakt in beheersbare, geïsoleerde omgevingen. Hiermee kunnen we alle AI-tools met één commando draaien.
- n8n: een workflow-automatiseringsframework waarmee je AI-workflows bouwt via een drag-and-dropinterface. Je hebt geen programmeerkennis nodig, ideaal voor niet-technische gebruikers.
- Postgres: slaat alle data en logs op en fungeert als geheugenbuffer voor het n8n-framework.
- Qdrant: een vectordatabank en zoekmachine die AI-gegenereerde content doorzoekbaar en beheersbaar maakt.
- Ollama: een AI-modelmanager waarmee je elke open-source large language model lokaal kunt draaien met minimale hardware-eisen.
n8n is ons primaire framework voor het bouwen van de AI-workflow voor de RAG-chatbot. We gebruiken Qdrant als vectorstore en Ollama als AI-modelprovider. Samen creëren deze componenten het RAG-systeem.
Docker installeren
We downloaden en installeren de Docker-desktopapp via de officiële Docker-website. Installeren en starten is vrij eenvoudig.
Leer meer over Docker via de tutorial Docker for Data Science of volg onze Introduction to Docker-cursus.

Bron: Docker: Accelerated Container Application Development
Windows-gebruikers hebben een extra tool nodig om Docker-containers succesvol te draaien: de Windows Subsystem for Linux (WSL). Hiermee kunnen developers een Linux-distributie installeren en Linux-toepassingen direct op Windows gebruiken.
Om WSL op Windows te installeren, typ je het volgende commando in de terminal of PowerShell. Zorg dat je PowerShell als administrator start.
$ wsl --install
Na een geslaagde installatie van WSL start je je systeem opnieuw op. Typ daarna het volgende commando in PowerShell om te controleren of Docker goed werkt.
$ docker run hello-world
Docker heeft de hello-world-image succesvol opgehaald en de container gestart.

Lokale AI-toepassingen installeren en draaien met Docker Compose
In deze gids leren we hoe je Docker Compose gebruikt om AI-services lokaal op te zetten. Deze aanpak laat je Docker-images laden en containers binnen enkele minuten uitrollen, zodat je eenvoudig meerdere AI-services op je eigen infrastructuur kunt draaien en beheren.
Eerst clonen we n8n-io/self-hosted-ai-starter-kit door het volgende commando in de terminal te typen.
$ git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
$ cd self-hosted-ai-starter-kit
De starterkit is de makkelijkste manier om de servers en applicaties op te zetten die nodig zijn om een AI-workflow te bouwen. Vervolgens laden we de Docker-images en draaien we de containers.
$ docker compose --profile cpu up
Als je een NVIDIA-GPU hebt, probeer dan onderstaand commando om de versnelling bij het genereren van antwoorden te gebruiken. Stel ook de NVIDIA-GPU voor Docker in volgens de Ollama Docker-gids.
$ docker compose --profile gpu-nvidia up
Dit duurt enkele minuten: alle Docker-images worden gedownload en daarna worden de Docker-containers één voor één gestart.

Alle Docker-services draaien. De gestopte Docker-containers zijn gebruikt om het Llama 3.2-model te downloaden en de n8n-backupworkflow te importeren.

We kunnen zelfs de status van het draaien van de dockercontainer controleren door het volgende commando in de terminal te typen.
$ docker compose ps
De starterkit bevatte het script om het Llama 3.2-model te downloaden. Voor een volwaardige RAG-chatbot hebben we echter ook het embeddingmodel nodig. We gaan naar de Ollama Docker-container, klikken op het tabblad “Exec” en typen het volgende commando om het “nomic-embed-text”-model te downloaden.
$ ollama pull nomic-embed-text
Zoals je ziet, kunnen we met een Docker-container interacteren alsof het een afzonderlijke virtuele machine is.

Open de n8n-dashboard-URL http://localhost:5678/ in je browser om een n8n-gebruikersaccount met e-mail en wachtwoord aan te maken. Klik daarna op de homeknop op de hoofddashboardpagina en open de Demo-workflow.
De demo is een eenvoudige LLM-workflow die de invoer van de gebruiker neemt en een reactie genereert.

Om de workflow te draaien, klik je op de Chat-knop en begin je je vraag te typen. Binnen enkele seconden wordt er een antwoord gegenereerd.
Let op: we gebruiken een klein taalmodel met GPU-versnelling, dus een antwoord duurt doorgaans slechts zo'n 2 seconden.

De AI-workflow maken met een n8n-dashboard
In dit project bouwen we een RAG (Retrieval-Augmented Generation)-chatbot die data uit de Harry Potter-films gebruikt om contextbewuste en nauwkeurige antwoorden te geven. Dit project is een no-codeoplossing: je zoekt simpelweg de nodige workflowcomponenten op en verbindt ze om een AI-workflow te creëren.
n8n is een no-codeplatform vergelijkbaar met LangChain. Volg de tutorial RAG with Llama 3.1 8B, Ollama, and Langchain voor een overzicht van hoe je een vergelijkbare AI-workflow maakt met LangChain.
1. De chattrigger toevoegen
Klik op de knop “Add the first step” in het midden van het dashboard, zoek naar “Chat Trigger” en voeg deze toe.

Zorg dat je “Allow File Uploads” hebt ingeschakeld.

2. De Qdrant-vectorstore toevoegen
Je kunt een andere component toevoegen, “Qdrant Vector Store”, door op de plusknop (+) op de “Chat Trigger”-component te klikken en ernaar te zoeken.
Wijzig de operation mode naar “Insert Documents”, zet de Qdrant-collectie op “By ID” en typ als ID “Harry_Potter”.

Als we de optie verlaten, zien we dat de chattrigger is verbonden met onze vectorstore.

3. Het embeddingmodel koppelen aan de vectorstore
Klik op de plusknop onder de Qdrant-vectorstore met het label “Embedding”. Je komt in het modelbeheer-menu, waar je “Embeddings Ollama” selecteert en het model wijzigt naar “nomic-embed-text:latest”.

4. De documentloader koppelen aan de vectorstore
Klik op de plusknop onder de Qdrant-vectorstore met “Document” en kies “Default Data Loader” in het menu. Wijzig het type data naar “Binary”.

Voeg vervolgens een token splitter toe met een chunk size van 500 en een chunk overlap van 50 aan de documentloader.

Zo zou onze workflow er uiteindelijk uit moeten zien. Deze workflow neemt CSV-bestanden van de gebruiker, zet ze om naar tekst, zet de tekst vervolgens om naar embeddings en slaat die op in de vectorstore.

5. De Qdrant-vectorstore testen
Klik op de Chat-knop onderaan het dashboard. Als het chatvenster opent, klik dan op de bestandsknop zoals hieronder getoond.

In deze workflow laden we alle CSV-bestanden uit de Harry Potter Movies-dataset. Maar om onze workflow te testen, laden we eerst slechts één CSV-bestand genaamd 'spell' op basis van een gebruikersvraag.

Je kunt naar de Qdrant-server gaan via de URL http://localhost:6333/dashboard en controleren of het bestand wel of niet in de vectorstore is geladen.

Voeg nu de rest van de bestanden toe aan de vectorstore.

6. De AI-agent toevoegen
We verbinden de chattrigger met de vectorstore, koppelen die aan de AI-agent en wijzigen het type agent naar “Conversation Agent”.

7. Het chatmodel koppelen aan de AI-agent
Klik op de knop “Chat Model” onder AI-agent en selecteer het Ollama Chat-model in het menu. Wijzig daarna de modelnaam naar “Llama3.2:latest”.

8. De vectorstoretool koppelen aan de AI-agent
Klik op de knop “Tool” onder de AI-agent en selecteer de vectorstoretool in het menu. Geef de tool een naam en een beschrijving.

9. De Qdrant-retriever koppelen aan de vectorstoretool
We moeten componenten toevoegen aan de vectorstoretool. Eerst voegen we Qdrant toe als vectorstore en zetten we de collection ID op "Harry_Potter." Deze vectorstore benadert de Harry Potter-collectie tijdens de similarity search. Wijzig daarnaast de operation mode naar "Retrieved Documents."

10. Het chatmodel koppelen aan de vectorstoretool
De vectorstoretool heeft ook een LLM nodig. We koppelen het Ollama-chatmodel en wijzigen het model naar “llama3.2:latest”.

11. Het embeddingmodel koppelen aan de Qdrant-retriever
In de laatste stap leveren we de retrieval-vectorstore het embeddingmodel. Hierdoor kan de gebruikersvraag worden omgezet in een embedding en vervolgens weer worden omgezet naar tekst voor de LLM om te verwerken.
Zorg dat je het juiste embeddingmodel voor je vectorstore opgeeft.

Zo zou de AI-workflow eruit moeten zien.

12. De AI-workflow testen
Klik op de chatknop om vragen te stellen over het Harry Potter-universum.
Prompt: “What is the most secret place in Hogwarts?”

Prompt: “What is the most powerful spell?”

Onze AI-workflow is snel en werkt soepel. Deze no-code aanpak is vrij eenvoudig uit te voeren. n8n laat gebruikers hun applicaties ook delen, zodat iedereen er via een link toegang toe heeft, net als bij ChatGPT.
Conclusie
n8n is een perfecte tool voor LLM/AI-projecten, vooral voor niet-technische gebruikers. Soms hoeven we de workflow niet eens vanaf nul te maken. Het enige wat we hoeven te doen, is vergelijkbare projecten zoeken op de n8n-website, de JSON-code kopiëren en in ons n8n-dashboard plakken. Zo simpel is het.

Bron: Discover 900+ Automation Workflows from the n8n's Community
In deze tutorial leerden we over Local AI en hoe je met de self-hosted AI starterkit verschillende AI-services bouwt en uitrolt. Vervolgens startten we het n8n-dashboard en maakten we onze eigen AI-workflow met Qdrant, embeddingmodellen, vectorstoretools, LLM's en documentloaders. Workflows maken en uitvoeren is met n8n behoorlijk eenvoudig. Ben je nieuw met AI-tools en wil je meer weten over no-code AI-oplossingen, bekijk dan onze andere resources:
Als gecertificeerd data scientist haal ik met passie het maximale uit de nieuwste technologie om innovatieve machinelearning-toepassingen te bouwen. Met een sterke achtergrond in spraakherkenning, data-analyse en -rapportage, MLOps, conversationele AI en NLP heb ik mijn vaardigheden aangescherpt in het ontwikkelen van intelligente systemen die echt impact maken. Naast mijn technische expertise ben ik ook een sterke communicator met een talent om complexe concepten terug te brengen tot heldere, beknopte taal. Daardoor ben ik uitgegroeid tot een veelgelezen blogger over data science, waar ik mijn inzichten en ervaringen deel met een groeiende community van data-professionals. Op dit moment richt ik me op contentcreatie en redactie, waarbij ik met large language models werk aan krachtige en aansprekende content die zowel bedrijven als individuen helpt het beste uit hun data te halen.

