{"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":"rag-with-ollama-and-qdrant-as-a-universal-search-engine-for-your-own-data","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/en\/2025\/08\/rag-with-ollama-and-qdrant-as-a-universal-search-engine-for-your-own-data\/","title":{"rendered":"RAG with Ollama and Qdrant as a universal search engine for own data"},"content":{"rendered":"<p>In an increasingly confusing world of information, it is becoming more and more important to make your own databases searchable in a targeted manner - not via classic full-text searches, but through semantically relevant answers. This is exactly where the principle of the RAG database comes into play - an AI-supported search solution consisting of two central components:<!--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-508 { --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-508 { --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\">Current topics on artificial intelligence<\/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-508\" 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=\"k\u00fcnstliche intelligenz ohne hype: warum weniger ki-tools oft bessere arbeit bedeuten\" data-id=\"4402\"  data-category=\"apple macos hardware ki-systeme tipps &amp; anleitungen\" data-post_tag=\"denkmodelle erfahrungen k\u00fcnstliche intelligenz llm mac mlx ollama 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\/en\/2026\/01\/artificial-intelligence-without-the-hype-why-fewer-ki-tools-often-mean-better-work\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Artificial intelligence without the hype: why fewer AI tools often mean better work<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Artificial intelligence without the hype\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-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\/en\/2026\/01\/artificial-intelligence-without-the-hype-why-fewer-ki-tools-often-mean-better-work\/\" rel=\"bookmark\">Artificial intelligence without the hype: why fewer AI tools often mean better work<\/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=\"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\/en\/2025\/08\/local-ki-on-the-mac-like-this-installo-create-a-language-model-with-ollama\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Local AI on the Mac: How to install a language model with Ollama<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Local AI installieren with Ollama on the 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\/en\/2025\/08\/local-ki-on-the-mac-like-this-installo-create-a-language-model-with-ollama\/\" rel=\"bookmark\">Local AI on the Mac: How to install a language model with 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=\"cloud-ki als oberlehrer: warum die zukunft des arbeitens bei lokaler ki liegt\" data-id=\"3887\"  data-category=\"apple macos hardware ki-systeme\" data-post_tag=\"datenschutz digitales eigentum k\u00fcnstliche intelligenz llama llm meinungsfreiheit mistral mlx neo4j 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\/en\/2025\/12\/cloud-ki-as-a-top-teacher-why-the-future-of-work-lies-with-local-ki\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Cloud AI as head teacher: why the future of work lies with local AI<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Cloud AI becomes the head teacher\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/cloud-ki-oberlehrer.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/cloud-ki-oberlehrer.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/cloud-ki-oberlehrer-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/cloud-ki-oberlehrer-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/cloud-ki-oberlehrer-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\/en\/2025\/12\/cloud-ki-as-a-top-teacher-why-the-future-of-work-lies-with-local-ki\/\" rel=\"bookmark\">Cloud AI as head teacher: why the future of work lies with local AI<\/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>a vector database (such as Qdrant) in which any content is stored as numerical vectors,<\/li>\n<li>and a language model (e.g. via Ollama) that intelligently combines the respective requests with the appropriate content.<\/li>\n<\/ol>\n<p>Instead of letting the model \u201eguess\u201c, this architecture uses its own sources of knowledge - such as:<\/p>\n<ul>\n<li>self-written documentaries,<\/li>\n<li>Contents of websites,<\/li>\n<li>technical manuals,<\/li>\n<li>Support databases,<\/li>\n<li>FAQ lists,<\/li>\n<li>or any archived text sources (e.g. from old databases).<\/li>\n<\/ul>\n<p>The decisive factor: All these sources can be prepared in advance and \"chunked\" (i.e. broken down into small text units) in order to provide the most relevant text excerpts for a user question later on.<\/p>\n<p>So whether you want to make your own knowledge database, internal documentation or an entire product archive analyzable - with <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> you can do this on your own Mac, without any cloud constraints and with full control over the data.<\/p>\n<h2>What is a RAG database - and why \u201echunking\u201c at all?<\/h2>\n<p>RAG stands for Retrieval-Augmented Generation - in other words: text-generating AI with assisted information retrieval. Instead of training a language model such as GPT, Mistral or LLaMA only on what it already \u201eknows\u201c, it can access additional, proprietary information via a connected knowledge database (usually a so-called vector database).<\/p>\n<p><strong>Example:<\/strong><\/p>\n<blockquote><p>If you ask a language model: \"What is in my 2023 tax return?\", it will have to guess without access to the original data. However, if it has access to a locally stored, vector-based representation of this document, it can retrieve the relevant information and incorporate it into its answer.<\/p><\/blockquote>\n<h3>Why content is \"chunked\"<\/h3>\n<p>Documents, websites or books are usually far too long to be processed or searched in one go. Modern language models also have token limits - i.e. a limited length of text that they can understand at once (often around 4,000-8,000 tokens, with newer models even 32,000 or more).<\/p>\n<p>That is why RAG uses the following trick:<\/p>\n<ol>\n<li>The original text is divided into small sections (chunks).<\/li>\n<li>Each chunk is converted into a vector by a language model (embedding).<\/li>\n<li>These vectors are stored in a database such as Qdrant.<\/li>\n<li>When the user makes a request, the prompt is also translated into a vector - and the most similar chunks are retrieved.<\/li>\n<li>This content is then added to the language model - e.g. via a system prompt or context injection.<\/li>\n<\/ol>\n<p>This creates a system that behaves like a memory - but without classic keywords or full-text search, but purely meaning-based (semantic).<\/p>\n<h2>Requirements and goal<\/h2>\n<p>We are building a local RAG system consisting of:<\/p>\n<ul>\n<li>a local LLM via Ollama<\/li>\n<li>a vector database called Qdrant<\/li>\n<li>a Python script that chunks, vectorizes and inserts texts into the database<\/li>\n<li>Optional: a simple interface or API for querying<\/li>\n<\/ul>\n<p><strong>Target platform: macOS (Intel or Apple Silicon)<\/strong><\/p>\n<p>This is a prerequisite:<\/p>\n<ul>\n<li>macOS 12 or newer (Monterey or higher)<\/li>\n<li>Basic terminal knowledge<\/li>\n<li>Python 3.10 or newer<\/li>\n<li>Optional: Homebrew installiert<\/li>\n<\/ul>\n<h3>Step 1: Ollama 1TP12Animal<\/h3>\n<p>Ollama is a lean tool that allows you to run local language models such as Mistral, LLaMA, Gemma or Codellama on your own computer - even without the Internet.<\/p>\n<p>Installation on the Mac:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl -fsSL https:\/\/ollama.com\/install.sh | sh<\/pre>\n<p>Alternatively, Ollama can also be activated via Homebrew install:<br \/>\nbrew install ollama<\/p>\n<p>After the installation:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama run mistral<\/pre>\n<p>This downloads the Mistral 7B model and starts it locally. Ollama comes with a REST API, which we will use later for vectorization. You can of course also use other models such as Gemma3 (12B), Mistral Small (24B) or other LLMs.<\/p>\n<h3>Step 2: Qdrant 1TP12 animals (local vector database)<\/h3>\n<p>Qdrant is a lightning-fast vector database based on Rust. It is free, open source and easy to start on the Mac - preferably via Docker. If you have not yet installed Docker on your Mac 1TP12, you can download it from the <a href=\"https:\/\/www.docker.com\" target=\"_blank\" rel=\"noopener\"><strong>Docker website<\/strong><\/a> free of charge and install it on your Mac as a normal desktop app installieren. Alternatively, you can also install Docker via Homebrew install if you are already using Homebrew:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">brew install --cask docker<\/pre>\n<p>Then start 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 can then be reached at:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">http:\/\/localhost:6333<\/pre>\n<p>For testing:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl http:\/\/localhost:6333\/collections<\/pre>\n<h3>Step 3: Prepare the Python environment<\/h3>\n<p>We need Python for chunking, embedding and communication with Qdrant.<\/p>\n<p>Preparation:<\/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>If ollama is not recognized as a Python package, use the REST API directly via requests:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install requests<\/pre>\n<h3>Step 4: Chunking and embedding<\/h3>\n<p>Below you will find an example script that splits a text document into chunks, creates embeddings via Ollama and inserts them into 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>Step 5: Queries via semantic search<\/h3>\n<p>You can now send queries to Qdrant as a vector and have the most relevant text sections found:<\/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>You can then pass these chunks to Ollama via a system prompt, for example, and have them formulated as a context-related response.<\/p>\n<h2>Chunking + JSON export to FileMaker and other databases<\/h2>\n<p>In many cases, chunking can already take place in an existing database solution - in FileMaker, for example. This is exactly how it works in my own working environment: the source data - such as website content, support entries or technical articles - is already available in structured form in FileMaker.<\/p>\n<p>This is how the process works:<\/p>\n<ol>\n<li>The texts within FileMaker are divided into sections of e.g. 300-500 characters using their own chunking logic.<\/li>\n<li>Each chunk is given its own ID and, if applicable, metadata (title, category, source, language, etc.).<\/li>\n<li>All chunks are automatically exported as JSON files - e.g. to a specific directory on a network drive or directly to the hard disk of the AI server.<\/li>\n<li>A Python script on the server reads these JSON files and saves them in the Qdrant database.<\/li>\n<\/ol>\n<h3>Example of an exported chunk file (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>The subsequent import script can then be executed automatically or regularly via the terminal - e.g. via a cron job or manual call:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 import_json_chunks.py \/Users\/markus\/Desktop\/chunks\/<\/pre>\n<p>The script reads each JSON chunk, generates the corresponding vector (e.g. via Ollama or SentenceTransformers) and transfers the entry to the Qdrant database.<\/p>\n<p>This method is not only transparent, but can also be combined very well with existing IT structures - especially in companies that already use FileMaker or like to map everything centrally and visually controlled for reasons of process clarity.<\/p>\n<h2>Connect any databases to your local AI<\/h2>\n<p>With Ollama and Qdrant, a complete, high-performance RAG system can be set up on the Mac in a short time:<\/p>\n<ul>\n<li>Local, without cloud or subscription<\/li>\n<li>Expandable, with your own content<\/li>\n<li>Data secure, as nothing leaves the computer<\/li>\n<li>Efficient, as Qdrant remains fast even on large amounts of data<\/li>\n<\/ul>\n<p>If you want to use your AI not just for chatting, but as a real knowledge and memory system, this combination is a must. And it works with little effort - with full control over your own data.<\/p>\n<hr \/>\n<h3>Current survey on the use of local AI systems<\/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=\"83df6564a12e05044557dfdbe6c7b92b\" data-pid=\"3887\" 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=\"15cd1aa293\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"710ccd200936c5bf3d13862b19c3f99f\" 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;\">What do you think of locally running AI software such as MLX or Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"159\" 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 - finally independent of the cloud<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"32\" 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;\">Interesting, but (still) too complicated<\/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;\">I will try it out soon<\/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;\">I don't need it - the cloud is enough for me<\/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;\">I don't know exactly what that's about<\/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;\">Vote<\/a><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>Outlook: What is possible with RAG, Ollama and Qdrant<\/h2>\n<p>The setup described in this article forms the technical basis for a new way of dealing with knowledge - local, controlled and flexibly expandable. But the journey by no means ends there. Once you have understood the interplay of chunking, embedding, semantic search and language models, you will quickly realize how versatile this architecture is in practice.<\/p>\n<h3>1. connection to own databases<\/h3>\n<p>Whether FileMaker, MySQL, PostgreSQL or MongoDB - any content can be regularly extracted, chunked and automatically inserted into the vector database using targeted queries. This turns a classic database into a semantically searchable source of knowledge. Especially in support systems, product archives or digital libraries, this opens up completely new access options for employees or customers.<\/p>\n<h3>2. automatic import of web pages, PDFs or documents<\/h3>\n<p>Content does not have to be transferred manually. With tools such as BeautifulSoup, readability, pdfplumber or docx2txt, entire websites, PDF manuals or Word documents can be automatically imported, converted into text form and prepared for chunking. For example, technical wikis, customer portals or online documentation can be regularly updated and fed into the RAG database.<\/p>\n<h3>3. long-term knowledge building through structuring<\/h3>\n<p>In contrast to a classic AI application, which starts from scratch with every question, a RAG setup allows the step-by-step expansion and curation of the underlying knowledge. The targeted selection and preparation of chunks creates a semantic memory of its own, which becomes more valuable with each entry.<\/p>\n<h3>4. connection with knowledge graphs (Neo4j)<\/h3>\n<p>If you want to go one step further, you can not only store the information semantically, but also link it logically. With Neo4j, a graph database, relationships between terms, people, topics or categories can be visualized and specifically queried. This turns a collection of texts into a structured knowledge graph that can be used by both humans and AI - e.g. to visualize causal chains, temporal sequences or thematic clusters.<\/p>\n<h3>5. use in your own tools, apps or chatbots<\/h3>\n<p>Once set up, the RAG logic can be integrated into almost any application: as a semantic search function in an internal web app, as an intelligent input aid in a CRM system or as a chatbot with its own expertise on the company website. By using local APIs (e.g. Ollama REST and Qdrant gRPC), all components remain flexible and expandable - even beyond traditional company boundaries.<\/p>\n<p>Those who have the courage to familiarize themselves with these tools create the basis for independent, local AI systems with real utility value - in the spirit of control, sovereignty and technical clarity.<\/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-509 { --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-509 { --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\">Current topics around 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-509\" 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=\"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\/en\/2025\/09\/why-erp-software-alone-is-not-enough-and-how-to-really-understand-processes\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Why ERP software alone is not enough - and how to really understand processes<\/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: Understanding operating processes before digitalization\" 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\/en\/2025\/09\/why-erp-software-alone-is-not-enough-and-how-to-really-understand-processes\/\" rel=\"bookmark\">Why ERP software alone is not enough - and how to really understand processes<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/en\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2025-09-04T06:27:50+00:00\">September 4, 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\/en\/2014\/06\/gfm-dental-constancy-test-for-diagnostic-monitors-of-digital-rontgen-devices\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gFM-Dental: Constancy test for diagnostic monitors of digital X-ray devices<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"630\" height=\"444\" class=\"attachment-full size-full\" alt=\"Main menu of 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\/en\/2014\/06\/gfm-dental-constancy-test-for-diagnostic-monitors-of-digital-rontgen-devices\/\" rel=\"bookmark\">gFM-Dental: Constancy test for diagnostic monitors of digital X-ray devices<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/en\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2014-06-10T11:31:55+00:00\">June 10, 2014<\/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=\"reichweite ist kein eigentum &#8211; warum sichtbarkeit heute nicht mehr ausreicht\" data-id=\"3994\"  data-category=\"allgemein filemaker &amp; erp gesellschaft kunst &amp; kultur\" data-post_tag=\"datenlogik datenschutz denkmodelle digitales eigentum erp-software\">\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\/en\/2025\/12\/reach-is-not-ownership-why-visibility-is-no-longer-enough-today\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Reach is not ownership - Why visibility is no longer enough today<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Reach vs. ownership\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/reichweite-vs-eigentum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/reichweite-vs-eigentum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/reichweite-vs-eigentum-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/reichweite-vs-eigentum-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/reichweite-vs-eigentum-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\/en\/2025\/12\/reach-is-not-ownership-why-visibility-is-no-longer-enough-today\/\" rel=\"bookmark\">Reach is not ownership - Why visibility is no longer enough today<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/en\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2025-12-13T14:47:28+00:00\">December 13, 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=\"digitales eigentum erkl\u00e4rt &#8211; so entstehen nachhaltige online-verm\u00f6genswerte\" data-id=\"4766\"  data-category=\"allgemein b\u00fccher featured gesellschaft ki-systeme\" data-post_tag=\"buch datenbanken denkmodelle digitales eigentum erp-software k\u00fcnstliche intelligenz prozesse publishing\">\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\/en\/2026\/02\/digital-property-explained-how-sustainable-online-assets-are-created\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Digital ownership explained - How sustainable online assets are created<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"What is digital property\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-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\/en\/2026\/02\/digital-property-explained-how-sustainable-online-assets-are-created\/\" rel=\"bookmark\">Digital ownership explained - How sustainable online assets are created<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/en\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2026-02-06T06:32:35+00:00\">February 6, 2026<\/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>Frequently asked questions about RAG with Ollama + Qdrant<\/h2>\n<h3>1. what is a RAG database - and what is it good for?<\/h3>\n<p>A RAG database (Retrieval Augmented Generation) combines a vector database with a language model. It makes it possible to make your own content - e.g. documentation or websites - semantically searchable so that AI models can specifically access relevant sections of your own database.<\/p>\n<h3>2. what does \"chunking\" mean in this context?<\/h3>\n<p>Chunking means breaking down long texts into smaller, meaningfully coherent sections (chunks) - usually between 200 and 500 characters. This allows individual text sections to be saved efficiently in the vector database and retrieved later when questions arise.<\/p>\n<h3>3. why can't you simply save entire texts in Qdrant?<\/h3>\n<p>Because AI models and vector searches work with limited text lengths. Large documents would \"hide\" important content or make it inaccurate. Chunking increases accuracy because specific sections are compared instead of complete texts.<\/p>\n<h3>4. can I use content from any source?<\/h3>\n<p>Yes, as long as you have the texts in an editable form (e.g. as plain text, HTML, Markdown, PDF, FileMaker entries, etc.), you can prepare them, chunk them and integrate them into Qdrant. Mixed sources are also possible.<\/p>\n<h3>5. do I have to be able to program to build such a system?<\/h3>\n<p>Basic knowledge of Terminal and Python is helpful, but not essential. Many steps (e.g. chunking in FileMaker, JSON export) can be implemented visually and automatically. The Qdrant import script can be easily customized.<\/p>\n<h3>6. can I also manage several documents or categories?<\/h3>\n<p>Yes, each chunk can contain metadata - e.g. title, source, language or category. These can be taken into account during the search in order to filter results more specifically.<\/p>\n<h3>7 Which models are suitable for embedding generation?<\/h3>\n<p>You can either use a local model via Ollama (e.g. mistral, llama2, gemma) or a separate embedding model such as all-MiniLM from sentence-transformers. It is important that the model generates embedding output as vectors.<\/p>\n<h3>8. how do I start Qdrant on the Mac?<\/h3>\n<p>The easiest way is via Docker command:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 -v qdrant_storage:\/qdrant\/storage qdrant\/qdrant<\/pre>\n<p>Qdrant then runs under http:\/\/localhost:6333<\/p>\n<h3>9. how large can my data volumes be?<\/h3>\n<p>Qdrant is very performant and can easily manage tens or hundreds of thousands of chunks. The main limitation is RAM and storage space, not the number.<\/p>\n<h3>10. does this also work with FileMaker?<\/h3>\n<p>Yes, you can do all the chunking and JSON export directly in FileMaker. The chunks are exported as individual JSON files, which are then imported into Qdrant via a Python script - completely independently of the original system.<\/p>\n<h3>11. can I also run this on another server instead of Mac?<\/h3>\n<p>Absolutely. The setup also works on Linux servers, Raspberry Pi, or in the cloud (if desired). Docker makes it platform-independent. For productive use, a server with more RAM and GPU support is usually recommended.<\/p>\n<h3>12. how do I combine the vector search with Ollama?<\/h3>\n<p>You first create a vector for a user question via Ollama (Embedding API), use it to search for the most relevant chunks in Qdrant and give these to the language model as context. Ollama then processes the question + context-relevant information and generates a well-founded answer.<\/p>\n<p>Image (c) geralt @ pixabay<\/p>","protected":false},"excerpt":{"rendered":"<p>In an increasingly confusing world of information, it is becoming more and more important to make your own databases searchable in a targeted manner - not via classic full-text searches, but through semantically relevant answers. This is exactly where the principle of the RAG database comes into play - an AI-supported search solution consisting of two central components:<\/p>","protected":false},"author":1,"featured_media":2768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":865,"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\/en\/wp-json\/wp\/v2\/posts\/2764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/comments?post=2764"}],"version-history":[{"count":14,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/posts\/2764\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/posts\/2764\/revisions\/3401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/media\/2768"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/media?parent=2764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/categories?post=2764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/en\/wp-json\/wp\/v2\/tags?post=2764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}