{"id":2764,"date":"2025-08-31T15:10:51","date_gmt":"2025-08-31T15:10:51","guid":{"rendered":"https:\/\/www.markus-schall.de\/?p=2764"},"modified":"2025-11-24T09:17:41","modified_gmt":"2025-11-24T09:17:41","slug":"vod-met-ollama-en-qdrant-als-universele-zoekmachine-voor-eigen-gegevens","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/nl\/2025\/08\/vod-met-ollama-en-qdrant-als-universele-zoekmachine-voor-eigen-gegevens\/","title":{"rendered":"RAG met Ollama en Qdrant als universele zoekmachine voor eigen gegevens"},"content":{"rendered":"<p>In een steeds onoverzichtelijker wordende wereld van informatie wordt het steeds belangrijker om je eigen databases gericht doorzoekbaar te maken - niet via klassieke full-text zoekopdrachten, maar via semantisch relevante antwoorden. Dit is precies waar het principe van de RAG database om de hoek komt kijken - een AI-ondersteunde zoekoplossing die bestaat uit twee centrale componenten:<!--more--><\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-786 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-small-grid-column: 33.33%;--dpt-large-grid-column: 33.3333333333%;--dpt-h-gutter: 10px;--dpt-v-gutter: 10px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-786 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\"dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Actuele onderwerpen over kunstmatige intelligentie<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-786\" class=\"dpt-wrapper dpt-grid1 multi-col dpt-mason-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"lokale ki auf dem mac: so installieren sie ein sprachmodell mit ollama\" data-id=\"2442\"  data-category=\"ki-systeme tipps &amp; anleitungen\" data-post_tag=\"datenschutz k\u00fcnstliche intelligenz llama llm mac mistral ollama sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2025\/08\/lokale-ki-op-de-mac-als-volgt-1tp12een-taalmodel-maken-met-ollama\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Lokale AI op de Mac: Hoe installiere een taalmodel met Ollama<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Lokale AI installieren met Ollama op de Mac\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2025\/08\/lokale-ki-op-de-mac-als-volgt-1tp12een-taalmodel-maken-met-ollama\/\" rel=\"bookmark\">Lokale AI op de Mac: Hoe installiere een taalmodel met Ollama<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"die neuen eu-zensurgesetze: was chatcontrol, dsa, emfa und der ai act bedeuten\" data-id=\"3586\"  data-category=\"allgemein gesellschaft ki-systeme\" data-post_tag=\"datenschutz digitales eigentum eu-gesetze europa k\u00fcnstliche intelligenz llm meinungsfreiheit spieltheorie sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2025\/11\/de-nieuwe-censuurwetten-van-de-eu-wat-chatcontrol-dsa-emfa-en-de-ai-act-betekenen\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">De nieuwe EU-censuurwetten: Wat Chatcontrol, DSA, EMFA en de AI-wet betekenen<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"EU-censuurwetten\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2025\/11\/de-nieuwe-censuurwetten-van-de-eu-wat-chatcontrol-dsa-emfa-en-de-ai-act-betekenen\/\" rel=\"bookmark\">De nieuwe EU-censuurwetten: Wat Chatcontrol, DSA, EMFA en de AI-wet betekenen<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"k\u00fcnstliche intelligenz: welche jobs in gefahr sind, und wie wir uns jetzt wappnen k\u00f6nnen\" data-id=\"2940\"  data-category=\"allgemein b\u00fccher gesellschaft ki-systeme\" data-post_tag=\"buch k\u00fcnstliche intelligenz llama llm mistral mlx ollama ratgeber sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2025\/09\/kunstmatige-intelligentie-welke-banen-in-gevaar-zijn-en-hoe-we-ons-nu-kunnen-wapenen\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Kunstmatige intelligentie: welke banen staan op de tocht en hoe kunnen we ons nu wapenen?<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Welke banen zullen in de toekomst verdwijnen door AI\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2025\/09\/kunstmatige-intelligentie-welke-banen-in-gevaar-zijn-en-hoe-we-ons-nu-kunnen-wapenen\/\" rel=\"bookmark\">Kunstmatige intelligentie: welke banen staan op de tocht en hoe kunnen we ons nu wapenen?<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<ol>\n<li>een vectordatabase (zoals Qdrant) waarin alle inhoud is opgeslagen als numerieke vectoren,<\/li>\n<li>en een taalmodel (bijv. via Ollama) dat de respectieve verzoeken op intelligente wijze combineert met de juiste inhoud.<\/li>\n<\/ol>\n<p>In plaats van het model te laten \u201eraden\u201c, gebruikt deze architectuur zijn eigen kennisbronnen - bijvoorbeeld:<\/p>\n<ul>\n<li>zelfgeschreven documentaires,<\/li>\n<li>Inhoud van websites,<\/li>\n<li>technische handleidingen,<\/li>\n<li>Ondersteunende databases,<\/li>\n<li>FAQ lijsten,<\/li>\n<li>of gearchiveerde tekstbronnen (bijvoorbeeld uit oude databases).<\/li>\n<\/ul>\n<p>De beslissende factor: Al deze bronnen kunnen van tevoren worden voorbereid en \"gechunked\" (d.w.z. opgedeeld in kleine teksteenheden) om later de meest relevante tekstfragmenten voor een gebruikersvraag te kunnen leveren.<\/p>\n<p>Dus of je nu je eigen kennisdatabase, interne documentatie of een heel productarchief analyseerbaar wilt maken - met <a href=\"https:\/\/ollama.com\" target=\"_blank\" rel=\"noopener\"><strong>Ollama<\/strong><\/a> + <a href=\"https:\/\/qdrant.tech\" target=\"_blank\" rel=\"noopener\"><strong>Qdrant<\/strong><\/a> kun je dit op je eigen Mac doen, zonder cloudbeperkingen en met volledige controle over de gegevens.<\/p>\n<h2>Wat is een RAG-database en waarom \u201echunking\u201c?<\/h2>\n<p>RAG staat voor Retrieval-Augmented Generation - met andere woorden: tekst-genererende AI met ondersteuning voor het ophalen van informatie. In plaats van een taalmodel zoals GPT, Mistral of LLaMA alleen te trainen op wat het al \u201eweet\u201c, kan het zelf toegang krijgen tot aanvullende informatie via een gekoppelde kennisdatabase (meestal een zogenaamde vectordatabase).<\/p>\n<p><strong>Voorbeeld:<\/strong><\/p>\n<blockquote><p>Als je een taalmodel vraagt: \"Wat staat er in mijn belastingaangifte van 2023?\", zal het moeten gokken zonder toegang tot de oorspronkelijke gegevens. Als het echter toegang heeft tot een lokaal opgeslagen, vectorgebaseerde representatie van dit document, kan het de relevante informatie ophalen en opnemen in zijn antwoord.<\/p><\/blockquote>\n<h3>Waarom inhoud wordt \"gechunked<\/h3>\n<p>Documenten, websites of boeken zijn meestal veel te lang om in \u00e9\u00e9n keer te verwerken of te doorzoeken. Moderne taalmodellen hebben ook tokenlimieten - d.w.z. een beperkte lengte van tekst die ze in \u00e9\u00e9n keer kunnen begrijpen (vaak rond de 4.000-8.000 tokens, met nieuwere modellen zelfs 32.000 of meer).<\/p>\n<p>Daarom gebruikt RAG de volgende truc:<\/p>\n<ol>\n<li>De oorspronkelijke tekst is verdeeld in kleine delen (chunks).<\/li>\n<li>Elke chunk wordt door een taalmodel omgezet in een vector (inbedding).<\/li>\n<li>Deze vectoren worden opgeslagen in een database zoals Qdrant.<\/li>\n<li>Wanneer de gebruiker een verzoek doet, wordt de prompt ook vertaald naar een vector - en worden de meest gelijkende chunks opgehaald.<\/li>\n<li>Deze inhoud wordt dan toegevoegd aan het taalmodel, bijvoorbeeld via een systeemprompt of contextinjectie.<\/li>\n<\/ol>\n<p>Dit cre\u00ebert een systeem dat zich gedraagt als een geheugen - maar zonder klassieke trefwoorden of full-text zoeken, maar puur op betekenis (semantiek) gebaseerd.<\/p>\n<h2>Vereisten en doel<\/h2>\n<p>We bouwen aan een lokaal RAG-systeem dat bestaat uit:<\/p>\n<ul>\n<li>een lokale LLM via Ollama<\/li>\n<li>een vectorgegevensbank met de naam Qdrant<\/li>\n<li>een Python-script dat teksten in stukken hakt, vectoriseert en in de database invoegt<\/li>\n<li>Optioneel: een eenvoudige interface of API voor query's<\/li>\n<\/ul>\n<p><strong>Doelplatform: macOS (Intel of Apple Silicon)<\/strong><\/p>\n<p>Dit is een vereiste:<\/p>\n<ul>\n<li>macOS 12 of nieuwer (Monterey of hoger)<\/li>\n<li>Basiskennis van terminals<\/li>\n<li>Python 3.10 of nieuwer<\/li>\n<li>Optioneel: Homebrew installiert<\/li>\n<\/ul>\n<h3>Stap 1: Ollama 1TP12Dier<\/h3>\n<p>Ollama is een slank hulpmiddel voor het uitvoeren van lokale taalmodellen zoals Mistral, LLaMA, Gemma of Codellama op uw eigen computer - zelfs zonder internet.<\/p>\n<p>Installatie op de Mac:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl -fsSL https:\/\/ollama.com\/install.sh | sh<\/pre>\n<p>Als alternatief kan Ollama ook toegewezen worden via Homebrew install:<br \/>\nbrew install ollama<\/p>\n<p>Na de installatie:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama run mistral<\/pre>\n<p>Dit downloadt het Mistral 7B model en start het lokaal. Ollama wordt geleverd met een REST API, die we later zullen gebruiken voor vectorisatie. Je kunt natuurlijk ook andere modellen gebruiken, zoals Gemma3 (12B), Mistral Small (24B) of andere LLM's.<\/p>\n<h3>Stap 2: Qdrant 1TP12 dieren (lokale vectordatabase)<\/h3>\n<p>Qdrant is een bliksemsnelle vectordatabase gebaseerd op Rust. Het is gratis, open source en eenvoudig te starten op de Mac - bij voorkeur via Docker. Als je Docker nog niet hebt ge\u00efnstalleerd op je Mac 1TP12, kun je het downloaden van de <a href=\"https:\/\/www.docker.com\" target=\"_blank\" rel=\"noopener\"><strong>Docker-website<\/strong><\/a> gratis en draai het op je Mac als een normaal desktopprogramma installieren. Je kunt Docker ook installeren via Homebrew install als je Homebrew al gebruikt:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">brew install --cask docker<\/pre>\n<p>Start dan Qdrant via Docker:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 -v qdrant_storage:\/qdrant\/storage qdrant\/qdrant<\/pre>\n<p>Qdrant kan dan worden bereikt op<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">http:\/\/localhost:6333<\/pre>\n<p>Om te testen:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl http:\/\/localhost:6333\/collections<\/pre>\n<h3>Stap 3: De Python-omgeving voorbereiden<\/h3>\n<p>We hebben Python nodig voor chunking, inbedding en communicatie met Qdrant.<\/p>\n<p>Voorbereiding:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 -m venv rag-env\r\nsource rag-env\/bin\/activate\r\npip install qdrant-client sentence-transformers ollama numpy<\/pre>\n<p>Als ollama niet wordt herkend als Python-pakket, gebruik dan de REST API rechtstreeks via aanvragen:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install requests<\/pre>\n<h3>Stap 4: Chunking en inbedding<\/h3>\n<p>Hieronder vind je een voorbeeldscript dat een tekstdocument opsplitst in chunks, embeddings aanmaakt via Ollama en ze invoegt in Qdrant:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">import requests\r\nfrom qdrant_client import QdrantClient\r\nfrom qdrant_client.models import PointStruct\r\nimport uuid\r\n\r\n# Konfiguration\r\nCHUNK_SIZE = 500 # Zeichen\r\nCOLLECTION_NAME = \"mein_rag_wissen\"\r\n\r\n# Text vorbereiten\r\nwith open(\"mein_text.txt\", \"r\") as f:\r\ntext = f.read()\r\n\r\nchunks = [text[i:i+CHUNK_SIZE] for i in range(0, len(text), CHUNK_SIZE)]\r\n\r\n# Qdrant vorbereiten\r\nclient = QdrantClient(\"localhost\", port=6333)\r\n\r\n# Neue Collection anlegen (falls noch nicht vorhanden)\r\nclient.recreate_collection(\r\ncollection_name=COLLECTION_NAME,\r\nvectors_config={\"size\": 4096, \"distance\": \"Cosine\"}\r\n)\r\n\r\ndef get_embedding_ollama(text):\r\nresponse = requests.post(\r\n\"http:\/\/localhost:11434\/api\/embeddings\",\r\njson={\"model\": \"mistral\", \"prompt\": text}\r\n)\r\nreturn response.json()[\"embedding\"]\r\n\r\n# Embeddings erzeugen und in Qdrant speichern\r\npoints = []\r\nfor i, chunk in enumerate(chunks):\r\nvector = get_embedding_ollama(chunk)\r\npoints.append(PointStruct(\r\nid=str(uuid.uuid4()),\r\nvector=vector,\r\npayload={\"text\": chunk}\r\n))\r\n\r\nclient.upsert(collection_name=COLLECTION_NAME, points=points)\r\nprint(f\"{len(points)} Chunks erfolgreich eingef\u00fcgt.\")<\/pre>\n<h3>Stap 5: Query's via semantisch zoeken<\/h3>\n<p>Je kunt nu zoekopdrachten als een vector naar Qdrant sturen en het de meest relevante tekstsecties laten vinden:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">query = \"Wie funktioniert ein RAG-System?\"\r\nquery_vector = get_embedding_ollama(query)\r\n\r\nresults = client.search(\r\ncollection_name=COLLECTION_NAME,\r\nquery_vector=query_vector,\r\nlimit=3\r\n)\r\n\r\nfor r in results:\r\nprint(r.payload[\"text\"])<\/pre>\n<p>Je kunt deze chunks dan bijvoorbeeld via een systeemprompt doorgeven aan Ollama en ze laten formuleren als een contextgerelateerd antwoord.<\/p>\n<h2>Chunking + JSON-export naar FileMaker en andere databases<\/h2>\n<p>In veel gevallen kan chunking al plaatsvinden in een bestaande databaseoplossing - bijvoorbeeld in FileMaker. Dit is precies hoe het werkt in mijn eigen werkomgeving: de brongegevens - zoals website-inhoud, supportitems of technische artikelen - zijn al in gestructureerde vorm beschikbaar in FileMaker.<\/p>\n<p>Zo werkt het proces:<\/p>\n<ol>\n<li>De teksten worden verdeeld in secties van bijvoorbeeld 300-500 tekens binnen FileMaker met behulp van zijn eigen chunking logica.<\/li>\n<li>Elke chunk krijgt zijn eigen ID en, indien van toepassing, metadata (titel, categorie, bron, taal, enz.).<\/li>\n<li>Alle chunks worden automatisch ge\u00ebxporteerd als JSON-bestanden - bijvoorbeeld naar een specifieke map op een netwerkschijf of rechtstreeks naar de harde schijf van de AI-server.<\/li>\n<li>Een Python script op de server leest deze JSON bestanden en slaat ze op in de Qdrant database.<\/li>\n<\/ol>\n<h3>Voorbeeld van een ge\u00ebxporteerd chunk-bestand (chunk_00017.json)<\/h3>\n<pre class=\"notranslate\" data-no-translation=\"\">{\r\n\"id\": \"00017\",\r\n\"text\": \"Dies ist ein einzelner Textabschnitt mit ca. 400 Zeichen, der aus einer gr\u00f6\u00dferen Quelle stammt. Er wurde in FileMaker vorbereitet und enth\u00e4lt alle relevanten Inhalte, die f\u00fcr eine semantische Suche ben\u00f6tigt werden.\",\r\n\"metadata\": {\r\n\"source\": \"support_center\",\r\n\"category\": \"Fehlermeldung\",\r\n\"language\": \"de\",\r\n\"title\": \"Drucker wird nicht erkannt\"\r\n}\r\n}<\/pre>\n<p>Het daaropvolgende importscript kan dan automatisch of regelmatig via de terminal worden uitgevoerd - bijvoorbeeld via een crontaak of handmatige oproep:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 import_json_chunks.py \/Users\/markus\/Desktop\/chunks\/<\/pre>\n<p>Het script leest elke JSON chunk, genereert de bijbehorende vector (bijv. via Ollama of SentenceTransformers) en stuurt de invoer naar de Qdrant database.<\/p>\n<p>Deze methode is niet alleen transparant, maar kan ook heel goed worden gecombineerd met bestaande IT-structuren - vooral in bedrijven die al FileMaker gebruiken of alles graag centraal en visueel gecontroleerd in kaart brengen om redenen van proceshelderheid.<\/p>\n<h2>Verbind databases met je lokale AI<\/h2>\n<p>Met Ollama en Qdrant kan in korte tijd een compleet, krachtig RAG-systeem worden opgezet op de Mac:<\/p>\n<ul>\n<li>Lokaal, zonder cloud of abonnement<\/li>\n<li>Uitbreidbaar, met je eigen inhoud<\/li>\n<li>Beveiligde gegevens, omdat niets de computer verlaat<\/li>\n<li>Effici\u00ebnt, want Qdrant blijft snel, zelfs op grote hoeveelheden gegevens<\/li>\n<\/ul>\n<p>Als je je AI niet alleen wilt gebruiken om te chatten, maar ook als een echt kennis- en geheugensysteem, dan is deze combinatie een must. En het werkt met weinig moeite - met volledige controle over je eigen gegevens.<\/p>\n<hr \/>\n<h3>Huidig onderzoek naar het gebruik van lokale AI-systemen<\/h3>\n<div class='bootstrap-yop yop-poll-mc'>\n\t\t\t\t\t\t\t<div class=\"basic-yop-poll-container\" style=\"background-color:#ffffff; border:0px; border-style:solid; border-color:#000000; border-radius:5px; padding:0px 5px;\" data-id=\"9\" data-temp=\"basic-pretty\" data-skin=\"square\" data-cscheme=\"blue\" data-cap=\"0\" data-access=\"guest\" data-tid=\"\" data-uid=\"ca1686e814094842b1a4e678c640b63b\" data-pid=\"2940\" data-resdet=\"votes-number,percentages\" data-show-results-to=\"guest\" data-show-results-moment=\"after-vote\" data-show-results-only=\"false\" data-show-message=\"true\" data-show-results-as=\"bar\" data-sort-results-by=\"as-defined\" data-sort-results-rule=\"asc\"data-is-ended=\"0\" data-percentages-decimals=\"2\" data-gdpr=\"no\" data-gdpr-sol=\"consent\" data-css=\".basic-yop-poll-container[data-uid] .basic-vote {\t\t\t\t\t\t\t\t\ttext-align: center;\t\t\t\t\t\t\t\t}\" data-counter=\"0\" data-load-with=\"1\" data-notification-section=\"top\"><div class=\"row\"><div class=\"col-md-12\"><div class=\"basic-inner\"><div class=\"basic-message hide\" style=\"border-left: 10px solid #008000; padding: 0px 10px;\" data-error=\"#ff0000\" data-success=\"#008000\"><p class=\"basic-message-text\" style=\"color:#000000; font-size:14px; font-weight:normal;\"><\/p><\/div><div class=\"basic-overlay hide\"><div class=\"basic-vote-options\"><\/div><div class=\"basic-preloader\"><div class=\"basic-windows8\"><div class=\"basic-wBall basic-wBall_1\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_2\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_3\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_4\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_5\"><div class=\"basic-wInnerBall\"><\/div><\/div><\/div><\/div><\/div><form class=\"basic-form\" action=\"\"><input type=\"hidden\" name=\"_token\" value=\"874ef021f6\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"3ded3b994e4691f4c519f2655281ab07\" data-type=\"question\" data-question-type=\"text\" data-required=\"yes\" data-allow-multiple=\"no\" data-min=\"1\" data-max=\"7\" data-display=\"vertical\" data-colnum=\"\" data-display-others=\"no\" data-others-color=\"\" data-others=\"\" data-others-max-chars=\"0\"><div class=\"basic-question-title\"><h5 style=\"color:#000000; font-size:16px; font-weight:normal; text-align:left;\">Wat vind je van lokaal draaiende AI-software zoals MLX of Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"153\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[45]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[45]\" name=\"answer[9]\" value=\"45\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Ingenious - eindelijk onafhankelijk van de cloud<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"31\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[46]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[46]\" name=\"answer[9]\" value=\"46\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Interessant, maar (nog) te ingewikkeld<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"47\" data-type=\"text\" data-vn=\"31\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[47]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[47]\" name=\"answer[9]\" value=\"47\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Ik zal het binnenkort uitproberen<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"48\" data-type=\"text\" data-vn=\"5\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[48]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[48]\" name=\"answer[9]\" value=\"48\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Ik heb het niet nodig - cloud is genoeg voor mij<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"49\" data-type=\"text\" data-vn=\"6\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[49]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[49]\" name=\"answer[9]\" value=\"49\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Ik weet niet precies waar dat over gaat<\/span><\/label><\/div><\/li><\/ul><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"basic-vote\"><a href=\"#\" class=\"button basic-vote-button\" role=\"button\" style=\"background:#027bb8; border:0px; border-style: solid; border-color:#000000; border-radius:5px; padding:10px 10px; color:#ffffff; font-size:14px; font-weight:normal;\">Stem<\/a><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"nl\"\/><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>Outlook: Wat is er mogelijk met RAG, Ollama en Qdrant?<\/h2>\n<p>De in dit artikel beschreven opzet vormt de technische basis voor een nieuwe manier van omgaan met kennis - lokaal, gecontroleerd en flexibel uitbreidbaar. Maar de reis eindigt hier zeker niet. Als je eenmaal het samenspel van chunking, embedding, semantisch zoeken en taalmodellen begrijpt, zul je snel beseffen hoe veelzijdig deze architectuur in de praktijk is.<\/p>\n<h3>1. verbinding met eigen databases<\/h3>\n<p>Of het nu gaat om FileMaker, MySQL, PostgreSQL of MongoDB - alle inhoud kan regelmatig worden ge\u00ebxtraheerd, gechunked en automatisch in de vectordatabase worden ingevoegd met behulp van gerichte query's. Dit verandert een klassieke database in een semantisch doorzoekbare kennisbron. Vooral in ondersteunende systemen, productarchieven of digitale bibliotheken opent dit volledig nieuwe toegangsmogelijkheden voor medewerkers of klanten.<\/p>\n<h3>2. automatisch importeren van webpagina's, PDF's of documenten<\/h3>\n<p>Content hoeft niet handmatig te worden overgezet. Met tools zoals BeautifulSoup, readability, pdfplumber of docx2txt kunnen hele websites, PDF-handleidingen of Word-documenten automatisch worden ge\u00efmporteerd, omgezet in tekstvorm en voorbereid voor chunking. Technische wiki's, klantenportalen of online documentatie kunnen bijvoorbeeld regelmatig worden bijgewerkt en in de RAG database worden ingevoerd.<\/p>\n<h3>3. kennisopbouw op lange termijn door structurering<\/h3>\n<p>In tegenstelling tot een klassieke AI-toepassing, die bij elke vraag vanaf nul begint, maakt een RAG-opzet het mogelijk om de onderliggende kennis stapsgewijs uit te breiden en te cureren. De gerichte selectie en voorbereiding van chunks cre\u00ebert een eigen semantisch geheugen, dat met elke invoer waardevoller wordt.<\/p>\n<h3>4. verbinding met kennisgrafieken (Neo4j)<\/h3>\n<p>Als je nog een stap verder wilt gaan, kun je de informatie niet alleen semantisch opslaan, maar ook logisch aan elkaar koppelen. Met Neo4j, een grafiekdatabase, kunnen relaties tussen termen, personen, onderwerpen of categorie\u00ebn worden gevisualiseerd en gericht worden bevraagd. Dit verandert een verzameling teksten in een gestructureerde kennisgrafiek die zowel door mensen als AI kan worden gebruikt - bijvoorbeeld om causale ketens, temporele sequenties of thematische clusters te visualiseren.<\/p>\n<h3>5. gebruiken in je eigen tools, apps of chatbots<\/h3>\n<p>Eenmaal opgezet kan de RAG-logica worden ge\u00efntegreerd in vrijwel elke toepassing: als semantische zoekfunctie in een interne webapp, als intelligente invoerhulp in een CRM-systeem of als chatbot met eigen expertise op de bedrijfswebsite. Door gebruik te maken van lokale API's (bijv. Ollama REST en Qdrant gRPC) blijven alle componenten flexibel en uitbreidbaar - zelfs buiten de traditionele bedrijfsgrenzen.<\/p>\n<p>Degenen die de moed hebben om zich deze tools eigen te maken, leggen de basis voor onafhankelijke, lokale AI-systemen met echte gebruikswaarde - in de geest van controle, soevereiniteit en technische duidelijkheid.<\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-787 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 10px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-787 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\"dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Actuele onderwerpen rond ERP-software<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-787\" class=\"dpt-wrapper dpt-mag1 land1 dpt-cropped dpt-flex-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"wie k\u00fcnstliche intelligenz die softwareentwicklung und filemaker ver\u00e4ndert\" data-id=\"6029\"  data-category=\"apple iphone &amp; ipad apple macos filemaker &amp; erp ki-systeme\" data-post_tag=\"datenbanken datenlogik denkmodelle erp-software filemaker gfm-business k\u00fcnstliche intelligenz llm prozesse sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2026\/05\/hoe-kunstmatige-intelligentie-softwareontwikkeling-en-filemaker-verandert\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Hoe kunstmatige intelligentie de ontwikkeling van software verandert en FileMaker<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"682\" class=\"attachment-full size-full\" alt=\"AI-evolutie in de ontwikkeling van FileMaker databases\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2026\/05\/hoe-kunstmatige-intelligentie-softwareontwikkeling-en-filemaker-verandert\/\" rel=\"bookmark\">Hoe kunstmatige intelligentie de ontwikkeling van software verandert en FileMaker<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/nl\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2026-05-11T13:34:15+00:00\">11. mei 2026<\/time><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"warum eine erp-software allein nicht reicht &#8211; und wie man prozesse wirklich versteht\" data-id=\"2791\"  data-category=\"filemaker &amp; erp tipps &amp; anleitungen\" data-post_tag=\"buch datenbanken datenlogik denkmodelle erfahrungen erp-software prozesse\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2025\/09\/waarom-erp-software-alleen-niet-genoeg-is-en-hoe-je-processen-echt-begrijpt\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Waarom ERP-software alleen niet genoeg is - en hoe je processen echt begrijpt<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1280\" height=\"724\" class=\"attachment-full size-full\" alt=\"ERP-software: inzicht in bedrijfsprocessen v\u00f3\u00f3r digitalisering\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen.jpg\" data-dpt-sizes=\"(max-width: 1280px) 100vw, 1280px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen.jpg 1280w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen-300x170.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen-1024x579.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen-768x434.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-betriebsprozesse-verstehen-18x10.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2025\/09\/waarom-erp-software-alleen-niet-genoeg-is-en-hoe-je-processen-echt-begrijpt\/\" rel=\"bookmark\">Waarom ERP-software alleen niet genoeg is - en hoe je processen echt begrijpt<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/nl\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2025-09-04T06:27:50+00:00\">4 september 2025<\/time><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"digitale abh\u00e4ngigkeit: wie wir unsere selbstbestimmung an die cloud verloren haben\" data-id=\"2986\"  data-category=\"apple iphone &amp; ipad apple macos filemaker &amp; erp gesellschaft ki-systeme tipps &amp; anleitungen\" data-post_tag=\"apple datenlogik datenschutz digitales eigentum erfahrungen erp-software gfm-business\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2025\/10\/digitale-afhankelijkheid-hoe-we-onze-zelfbeschikking-verloren-aan-de-cloud\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Digitale afhankelijkheid: hoe we onze zelfbeschikking zijn kwijtgeraakt aan de cloud<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Digitale afhankelijkheid met cloudsystemen\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-abhaengigkeit-cloud.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-abhaengigkeit-cloud.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-abhaengigkeit-cloud-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-abhaengigkeit-cloud-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-abhaengigkeit-cloud-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2025\/10\/digitale-afhankelijkheid-hoe-we-onze-zelfbeschikking-verloren-aan-de-cloud\/\" rel=\"bookmark\">Digitale afhankelijkheid: hoe we onze zelfbeschikking zijn kwijtgeraakt aan de cloud<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/nl\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2025-10-03T05:19:14+00:00\">3 oktober 2025<\/time><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"gfm-dental: konstanzpr\u00fcfung f\u00fcr befundmonitore digitaler r\u00f6ntgenger\u00e4te\" data-id=\"1839\"  data-category=\"apple macos filemaker &amp; erp\" data-post_tag=\"apple erp-software filemaker\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/nl\/2014\/06\/gfm-tandconstantietest-voor-diagnostische-monitoren-van-digitale-rontgenapparaten\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gFM-Dental: Constantietest voor diagnostische monitoren van digitale r\u00f6ntgenapparaten<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"630\" height=\"444\" class=\"attachment-full size-full\" alt=\"Hoofdmenu van gFM-Dental\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/hauptmenue_630.jpg\" data-dpt-sizes=\"(max-width: 630px) 100vw, 630px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/hauptmenue_630.jpg 630w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/hauptmenue_630-300x211.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/hauptmenue_630-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/nl\/2014\/06\/gfm-tandconstantietest-voor-diagnostische-monitoren-van-digitale-rontgenapparaten\/\" rel=\"bookmark\">gFM-Dental: Constantietest voor diagnostische monitoren van digitale r\u00f6ntgenapparaten<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/nl\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2014-06-10T11:31:55+00:00\">10 juni 2014<\/time><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<h2>Veelgestelde vragen over RAG met Ollama + Qdrant<\/h2>\n<h3>1. Wat is een RAG-database en waar is die goed voor?<\/h3>\n<p>Een RAG-database (Retrieval Augmented Generation) combineert een vectordatabase met een taalmodel. Het maakt het mogelijk om je eigen inhoud - bijvoorbeeld documentatie of websites - semantisch doorzoekbaar te maken, zodat AI-modellen specifiek toegang hebben tot relevante delen van je eigen database.<\/p>\n<h3>2 Wat betekent \"chunking\" in deze context?<\/h3>\n<p>Chunking betekent het opsplitsen van lange teksten in kleinere, betekenisvolle samenhangende delen (chunks) - meestal tussen 200 en 500 tekens. Hierdoor kunnen individuele tekstgedeelten effici\u00ebnt worden opgeslagen in de vectordatabase en later worden opgehaald als er vragen rijzen.<\/p>\n<h3>3. waarom kun je niet gewoon hele teksten opslaan in Qdrant?<\/h3>\n<p>Omdat AI-modellen en vectorzoekopdrachten werken met beperkte tekstlengtes. Grote documenten zouden belangrijke inhoud \"verbergen\" of onnauwkeurig maken. Chunking verhoogt de nauwkeurigheid omdat specifieke secties worden vergeleken in plaats van complete teksten.<\/p>\n<h3>4. Kan ik inhoud van elke bron gebruiken?<\/h3>\n<p>Ja, zolang je de teksten in een bewerkbare vorm hebt (bv. als platte tekst, HTML, Markdown, PDF, FileMaker entries, enz.), kan je ze voorbereiden, chunken en integreren in Qdrant. Gemengde bronnen zijn ook mogelijk.<\/p>\n<h3>5. Moet ik kunnen programmeren om zo'n systeem te bouwen?<\/h3>\n<p>Basiskennis van Terminal en Python is nuttig, maar niet essentieel. Veel stappen (bv. chunking in FileMaker, JSON export) kunnen visueel en automatisch uitgevoerd worden. Het Qdrant importscript kan gemakkelijk aangepast worden.<\/p>\n<h3>6. Kan ik ook meerdere documenten of categorie\u00ebn beheren?<\/h3>\n<p>Ja, elke chunk kan metadata bevatten - bijv. titel, bron, taal of categorie. Hiermee kan rekening worden gehouden tijdens het zoeken om de resultaten specifieker te filteren.<\/p>\n<h3>7 Welke modellen zijn geschikt voor het genereren van inbedding?<\/h3>\n<p>Je kunt een lokaal model gebruiken via Ollama (bijvoorbeeld mistral, llama2, gemma) of een apart inbeddingsmodel zoals all-MiniLM van sentence-transformers. Het is belangrijk dat het model insluitingsuitvoer genereert als vectoren.<\/p>\n<h3>8. Hoe start ik Qdrant op de Mac?<\/h3>\n<p>De eenvoudigste manier is via het Docker-commando:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 -v qdrant_storage:\/qdrant\/storage qdrant\/qdrant<\/pre>\n<p>Qdrant draait dan onder http:\/\/localhost:6333<\/p>\n<h3>9. Hoe groot kunnen mijn gegevensvolumes zijn?<\/h3>\n<p>Qdrant is zeer performant en kan gemakkelijk tienduizenden of honderdduizenden chunks beheren. De belangrijkste beperking is RAM en opslagruimte, niet het aantal.<\/p>\n<h3>10. Werkt dit ook met FileMaker?<\/h3>\n<p>Ja, je kunt alle chunking en JSON export rechtstreeks in FileMaker doen. De chunks worden ge\u00ebxporteerd als individuele JSON-bestanden, die vervolgens worden ge\u00efmporteerd in Qdrant via een Python-script - volledig onafhankelijk van het originele systeem.<\/p>\n<h3>11. Kan ik dit ook op een andere server draaien in plaats van op de Mac?<\/h3>\n<p>Absoluut. De opstelling werkt ook op Linux-servers, Raspberry Pi of in de cloud (indien gewenst). Docker maakt het platformonafhankelijk. Voor productief gebruik wordt meestal een server met meer RAM en GPU-ondersteuning aanbevolen.<\/p>\n<h3>12. Hoe combineer ik de vectorzoekopdracht met Ollama?<\/h3>\n<p>Je maakt eerst een vector voor een gebruikersvraag via Ollama (Embedding API), zoekt daarmee de meest relevante chunks in Qdrant en geeft die als context mee aan het taalmodel. Ollama verwerkt vervolgens de vraag + context-relevante informatie en genereert een gefundeerd antwoord.<\/p>\n<p>Afbeelding (c) geralt @ pixabay<\/p>","protected":false},"excerpt":{"rendered":"<p>In een steeds onoverzichtelijker wordende wereld van informatie wordt het steeds belangrijker om je eigen databases gericht doorzoekbaar te maken - niet via klassieke full-text zoekopdrachten, maar via semantisch relevante antwoorden. Dit is precies waar het principe van de RAG database om de hoek komt kijken - een AI-ondersteunde zoekoplossing die bestaat uit twee centrale componenten:<\/p>","protected":false},"author":1,"featured_media":2768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":855,"footnotes":""},"categories":[431,3],"tags":[440,452,471,435,433,437,432,450,451],"class_list":["post-2764","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ki-systeme","category-filemaker","tag-datenbanken","tag-docker","tag-kuenstliche-intelligenz","tag-llama","tag-llm","tag-mistral","tag-ollama","tag-qdrant","tag-vektordatenbank"],"_links":{"self":[{"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/posts\/2764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/comments?post=2764"}],"version-history":[{"count":14,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/posts\/2764\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/posts\/2764\/revisions\/3401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/media\/2768"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/media?parent=2764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/categories?post=2764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/nl\/wp-json\/wp\/v2\/tags?post=2764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}