{"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-s-ollama-a-qdrant-jako-univerzalni-vyhledavac-vlastnich-dat","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/cs\/2025\/08\/rag-s-ollama-a-qdrant-jako-univerzalni-vyhledavac-vlastnich-dat\/","title":{"rendered":"RAG s Ollama a Qdrant jako univerz\u00e1ln\u00ed vyhled\u00e1va\u010d vlastn\u00edch dat"},"content":{"rendered":"<p>Ve st\u00e1le nep\u0159ehledn\u011bj\u0161\u00edm sv\u011bt\u011b informac\u00ed je st\u00e1le d\u016fle\u017eit\u011bj\u0161\u00ed, aby bylo mo\u017en\u00e9 c\u00edlen\u011b vyhled\u00e1vat ve vlastn\u00edch datab\u00e1z\u00edch - nikoli prost\u0159ednictv\u00edm klasick\u00e9ho fulltextov\u00e9ho vyhled\u00e1v\u00e1n\u00ed, ale prost\u0159ednictv\u00edm s\u00e9manticky relevantn\u00edch odpov\u011bd\u00ed. Pr\u00e1v\u011b zde vstupuje do hry princip datab\u00e1ze RAG - \u0159e\u0161en\u00ed pro vyhled\u00e1v\u00e1n\u00ed s podporou um\u011bl\u00e9 inteligence, kter\u00e9 se skl\u00e1d\u00e1 ze dvou \u00fast\u0159edn\u00edch komponent:<!--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-32 { --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-32 { --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\">Aktu\u00e1ln\u00ed t\u00e9mata um\u011bl\u00e9 inteligence<\/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-32\" 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=\"wie man heute schon ki-spezialisten ausbilden kann &#8211; chancen f\u00fcr unternehmen und azubis\" data-id=\"3120\"  data-category=\"allgemein b\u00fccher ki-systeme tipps &amp; anleitungen\" data-post_tag=\"buch datenbanken datenlogik denkmodelle k\u00fcnstliche intelligenz llm 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\/cs\/2025\/10\/jak-dnes-skolit-specialisty-na-ki-prilezitosti-pro-firmy-a-stazisty\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Jak lze dnes \u0161kolit odborn\u00edky na um\u011blou inteligenci - p\u0159\u00edle\u017eitosti pro firmy a st\u00e1\u017eisty<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"\u0160kolen\u00ed specialist\u016f na um\u011blou inteligenci\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-spezialist-ausbildung.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-spezialist-ausbildung.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-spezialist-ausbildung-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-spezialist-ausbildung-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-spezialist-ausbildung-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\/cs\/2025\/10\/jak-dnes-skolit-specialisty-na-ki-prilezitosti-pro-firmy-a-stazisty\/\" rel=\"bookmark\">Jak lze dnes \u0161kolit odborn\u00edky na um\u011blou inteligenci - p\u0159\u00edle\u017eitosti pro firmy a st\u00e1\u017eisty<\/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=\"wie tiere zeit wahrnehmen &#8211; und was das f\u00fcr die zukunft der ki bedeutet\" data-id=\"4918\"  data-category=\"allgemein gesellschaft ki-systeme\" data-post_tag=\"denkmodelle erfahrungen k\u00fcnstliche intelligenz llm portrait 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\/cs\/2026\/02\/jak-zvirata-vnimaji-cas-a-co-to-znamena-pro-budoucnost-ki\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Jak zv\u00ed\u0159ata vn\u00edmaj\u00ed \u010das - a co to znamen\u00e1 pro budoucnost um\u011bl\u00e9 inteligence<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Zv\u00ed\u0159ata, um\u011bl\u00e1 inteligence a vn\u00edm\u00e1n\u00ed \u010dasu\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Tiere-KI-Zeitwahrnehmung.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Tiere-KI-Zeitwahrnehmung.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Tiere-KI-Zeitwahrnehmung-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Tiere-KI-Zeitwahrnehmung-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Tiere-KI-Zeitwahrnehmung-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\/cs\/2026\/02\/jak-zvirata-vnimaji-cas-a-co-to-znamena-pro-budoucnost-ki\/\" rel=\"bookmark\">Jak zv\u00ed\u0159ata vn\u00edmaj\u00ed \u010das - a co to znamen\u00e1 pro budoucnost um\u011bl\u00e9 inteligence<\/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=\"mlx auf apple silicon als lokale ki im vergleich mit ollama &#038; co.\" data-id=\"2857\"  data-category=\"apple macos ki-systeme\" data-post_tag=\"datenschutz k\u00fcnstliche intelligenz llama llm mistral mlx 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\/cs\/2025\/09\/mlx-na-jablecnem-kremiku-jako-mistni-ki-ve-srovnani-s-ollama-co\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">MLX na Apple Silicon jako m\u00edstn\u00ed AI ve srovn\u00e1n\u00ed s Ollama &amp; Co.<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"576\" class=\"attachment-full size-full\" alt=\"M\u00edstn\u00ed um\u011bl\u00e1 inteligence na Macu s MLX\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/mlx-lokale-ki-apple-silicon.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/mlx-lokale-ki-apple-silicon.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/mlx-lokale-ki-apple-silicon-300x169.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/mlx-lokale-ki-apple-silicon-768x432.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/mlx-lokale-ki-apple-silicon-18x10.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 56%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/cs\/2025\/09\/mlx-na-jablecnem-kremiku-jako-mistni-ki-ve-srovnani-s-ollama-co\/\" rel=\"bookmark\">MLX na Apple Silicon jako m\u00edstn\u00ed AI ve srovn\u00e1n\u00ed s Ollama &amp; Co.<\/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>vektorovou datab\u00e1zi (nap\u0159\u00edklad Qdrant), ve kter\u00e9 je ve\u0161ker\u00fd obsah ulo\u017een jako \u010d\u00edseln\u00e9 vektory,<\/li>\n<li>a jazykov\u00fd model (nap\u0159. prost\u0159ednictv\u00edm Ollama), kter\u00fd inteligentn\u011b kombinuje p\u0159\u00edslu\u0161n\u00e9 po\u017eadavky s p\u0159\u00edslu\u0161n\u00fdm obsahem.<\/li>\n<\/ol>\n<p>Nam\u00edsto toho, aby model \u201eh\u00e1dal\u201c, vyu\u017e\u00edv\u00e1 tato architektura sv\u00e9 vlastn\u00ed zdroje znalost\u00ed - nap\u0159.:<\/p>\n<ul>\n<li>vlastn\u00ed dokument\u00e1rn\u00ed filmy,<\/li>\n<li>Obsah webov\u00fdch str\u00e1nek,<\/li>\n<li>technick\u00e9 p\u0159\u00edru\u010dky,<\/li>\n<li>Podp\u016frn\u00e9 datab\u00e1ze,<\/li>\n<li>Seznamy \u010dasto kladen\u00fdch ot\u00e1zek,<\/li>\n<li>nebo archivovan\u00e9 textov\u00e9 zdroje (nap\u0159. ze star\u00fdch datab\u00e1z\u00ed).<\/li>\n<\/ul>\n<p>Rozhoduj\u00edc\u00ed faktor: V\u0161echny tyto zdroje lze p\u0159edem p\u0159ipravit a \"rozd\u011blit\" (tj. rozd\u011blit na mal\u00e9 textov\u00e9 jednotky), aby bylo mo\u017en\u00e9 pozd\u011bji poskytnout nejrelevantn\u011bj\u0161\u00ed \u00faryvky textu pro ot\u00e1zku u\u017eivatele.<\/p>\n<p>A\u0165 u\u017e tedy chcete analyzovat vlastn\u00ed znalostn\u00ed datab\u00e1zi, intern\u00ed dokumentaci nebo cel\u00fd archiv produkt\u016f, s pomoc\u00ed n\u00e1stroje <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> m\u016f\u017eete to d\u011blat na vlastn\u00edm Macu, bez jak\u00fdchkoli cloudov\u00fdch omezen\u00ed a s plnou kontrolou nad daty.<\/p>\n<h2>Co je to datab\u00e1ze RAG - a pro\u010d v\u016fbec \u201echunking\u201c?<\/h2>\n<p>Zkratka RAG znamen\u00e1 Retrieval-Augmented Generation - jin\u00fdmi slovy: um\u011bl\u00e1 inteligence generuj\u00edc\u00ed text s asistenc\u00ed p\u0159i vyhled\u00e1v\u00e1n\u00ed informac\u00ed. M\u00edsto toho, aby jazykov\u00fd model, jako je GPT, Mistral nebo LLaMA, tr\u00e9noval pouze na tom, co ji\u017e \u201ezn\u00e1\u201c, m\u016f\u017ee p\u0159istupovat k dal\u0161\u00edm vlastn\u00edm informac\u00edm prost\u0159ednictv\u00edm p\u0159ipojen\u00e9 znalostn\u00ed datab\u00e1ze (obvykle tzv. vektorov\u00e9 datab\u00e1ze).<\/p>\n<p><strong>P\u0159\u00edklad:<\/strong><\/p>\n<blockquote><p>Pokud se jazykov\u00e9ho modelu zept\u00e1te: \"Co je v m\u00e9m da\u0148ov\u00e9m p\u0159izn\u00e1n\u00ed za rok 2023?\", bude muset bez p\u0159\u00edstupu k p\u016fvodn\u00edm dat\u016fm h\u00e1dat. Pokud v\u0161ak m\u00e1 p\u0159\u00edstup k lok\u00e1ln\u011b ulo\u017een\u00e9 vektorov\u00e9 reprezentaci tohoto dokumentu, m\u016f\u017ee p\u0159\u00edslu\u0161n\u00e9 informace z\u00edskat a zahrnout je do sv\u00e9 odpov\u011bdi.<\/p><\/blockquote>\n<h3>Pro\u010d je obsah \"rozd\u011blen na \u010d\u00e1sti\"<\/h3>\n<p>Dokumenty, webov\u00e9 str\u00e1nky nebo knihy jsou obvykle p\u0159\u00edli\u0161 dlouh\u00e9 na to, aby se daly zpracovat nebo prohledat najednou. Modern\u00ed jazykov\u00e9 modely maj\u00ed tak\u00e9 limity token\u016f - tj. omezenou d\u00e9lku textu, kter\u00e9mu mohou najednou porozum\u011bt (\u010dasto kolem 4 000-8 000 token\u016f, u nov\u011bj\u0161\u00edch model\u016f dokonce 32 000 a v\u00edce).<\/p>\n<p>Proto RAG pou\u017e\u00edv\u00e1 n\u00e1sleduj\u00edc\u00ed trik:<\/p>\n<ol>\n<li>P\u016fvodn\u00ed text je rozd\u011blen na mal\u00e9 \u010d\u00e1sti (chunks).<\/li>\n<li>Ka\u017ed\u00fd kus je p\u0159eveden na vektor pomoc\u00ed jazykov\u00e9ho modelu (embedding).<\/li>\n<li>Tyto vektory jsou ulo\u017eeny v datab\u00e1zi, jako je nap\u0159\u00edklad Qdrant.<\/li>\n<li>Kdy\u017e u\u017eivatel zad\u00e1 po\u017eadavek, v\u00fdzva se tak\u00e9 p\u0159evede na vektor - a vyhledaj\u00ed se nejpodobn\u011bj\u0161\u00ed kousky.<\/li>\n<li>Tento obsah je pak p\u0159id\u00e1n do jazykov\u00e9ho modelu - nap\u0159. prost\u0159ednictv\u00edm syst\u00e9mov\u00e9 v\u00fdzvy nebo kontextov\u00e9 injekce.<\/li>\n<\/ol>\n<p>Vznik\u00e1 tak syst\u00e9m, kter\u00fd se chov\u00e1 jako pam\u011b\u0165 - ov\u0161em bez klasick\u00fdch kl\u00ed\u010dov\u00fdch slov nebo fulltextov\u00e9ho vyhled\u00e1v\u00e1n\u00ed, ale \u010dist\u011b v\u00fdznamov\u011b (s\u00e9manticky).<\/p>\n<h2>Po\u017eadavky a c\u00edl<\/h2>\n<p>Budujeme m\u00edstn\u00ed syst\u00e9m RAG, kter\u00fd se skl\u00e1d\u00e1 z:<\/p>\n<ul>\n<li>m\u00edstn\u00ed LLM p\u0159es Ollama<\/li>\n<li>vektorovou datab\u00e1zi Qdrant<\/li>\n<li>skript v jazyce Python, kter\u00fd rozd\u011bluje, vektorizuje a vkl\u00e1d\u00e1 texty do datab\u00e1ze.<\/li>\n<li>Voliteln\u011b: jednoduch\u00e9 rozhran\u00ed nebo rozhran\u00ed API pro dotazov\u00e1n\u00ed<\/li>\n<\/ul>\n<p><strong>C\u00edlov\u00e1 platforma: macOS (Intel nebo Apple Silicon)<\/strong><\/p>\n<p>To je p\u0159edpokladem:<\/p>\n<ul>\n<li>macOS 12 nebo nov\u011bj\u0161\u00ed (Monterey nebo vy\u0161\u0161\u00ed)<\/li>\n<li>Z\u00e1kladn\u00ed znalosti termin\u00e1lu<\/li>\n<li>Python 3.10 nebo nov\u011bj\u0161\u00ed<\/li>\n<li>Voliteln\u00e9: Homebrew installiert<\/li>\n<\/ul>\n<h3>Krok 1: Ollama 1TP12Animal<\/h3>\n<p>Ollama je \u0161t\u00edhl\u00fd n\u00e1stroj pro spou\u0161t\u011bn\u00ed lok\u00e1ln\u00edch jazykov\u00fdch model\u016f, jako jsou Mistral, LLaMA, Gemma nebo Codellama, na vlastn\u00edm po\u010d\u00edta\u010di - i bez internetu.<\/p>\n<p>Instalace v po\u010d\u00edta\u010di Mac:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl -fsSL https:\/\/ollama.com\/install.sh | sh<\/pre>\n<p>Alternativn\u011b lze Ollama p\u0159i\u0159adit tak\u00e9 prost\u0159ednictv\u00edm Homebrew install:<br \/>\nbrew install ollama<\/p>\n<p>Po instalaci:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama run mistral<\/pre>\n<p>St\u00e1hne se model Mistral 7B a spust\u00ed se lok\u00e1ln\u011b. Ollama je dod\u00e1v\u00e1n s rozhran\u00edm REST API, kter\u00e9 pozd\u011bji pou\u017eijeme pro vektorizaci. M\u016f\u017eete samoz\u0159ejm\u011b pou\u017e\u00edt i jin\u00e9 modely, nap\u0159\u00edklad Gemma3 (12B), Mistral Small (24B) nebo jin\u00e9 LLM.<\/p>\n<h3>Krok 2: Qdrant 1TP12 zv\u00ed\u0159ata (m\u00edstn\u00ed datab\u00e1ze vektor\u016f)<\/h3>\n<p>Qdrant je bleskurychl\u00e1 vektorov\u00e1 datab\u00e1ze zalo\u017een\u00e1 na architektu\u0159e Rust. Je zdarma, m\u00e1 otev\u0159en\u00fd zdrojov\u00fd k\u00f3d a lze ji snadno spustit na Macu - nejl\u00e9pe pomoc\u00ed Dockeru. Pokud je\u0161t\u011b nem\u00e1te na sv\u00e9m Macu 1TP12 nainstalovan\u00fd Docker, m\u016f\u017eete si ho st\u00e1hnout ze str\u00e1nky <a href=\"https:\/\/www.docker.com\" target=\"_blank\" rel=\"noopener\"><strong>Webov\u00e9 str\u00e1nky spole\u010dnosti Docker<\/strong><\/a> zdarma a spustit ji na Macu jako b\u011b\u017enou desktopovou aplikaci installieren. Alternativn\u011b m\u016f\u017eete tak\u00e9 nainstalovat Docker p\u0159es Homebrew install, pokud ji\u017e pou\u017e\u00edv\u00e1te Homebrew:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">brew install --cask docker<\/pre>\n<p>Pot\u00e9 spus\u0165te Qdrant prost\u0159ednictv\u00edm n\u00e1stroje 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 je pak k dispozici na adrese<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">http:\/\/localhost:6333<\/pre>\n<p>Pro testov\u00e1n\u00ed:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl http:\/\/localhost:6333\/collections<\/pre>\n<h3>Krok 3: P\u0159\u00edprava prost\u0159ed\u00ed Pythonu<\/h3>\n<p>Pot\u0159ebujeme Python pro chunking, embedding a komunikaci s Qdrantem.<\/p>\n<p>P\u0159\u00edprava:<\/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>Pokud nen\u00ed ollama rozpozn\u00e1n jako bal\u00ed\u010dek Pythonu, pou\u017eijte rozhran\u00ed REST API p\u0159\u00edmo prost\u0159ednictv\u00edm po\u017eadavk\u016f:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install requests<\/pre>\n<h3>Krok 4: Rozd\u011blen\u00ed na \u010d\u00e1sti a vlo\u017een\u00ed<\/h3>\n<p>N\u00ed\u017ee naleznete p\u0159\u00edklad skriptu, kter\u00fd rozd\u011bl\u00ed textov\u00fd dokument na \u010d\u00e1sti, vytvo\u0159\u00ed vlo\u017een\u00ed pomoc\u00ed Ollama a vlo\u017e\u00ed je do Qdrantu:<\/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>Krok 5: Dotazy prost\u0159ednictv\u00edm s\u00e9mantick\u00e9ho vyhled\u00e1v\u00e1n\u00ed<\/h3>\n<p>Nyn\u00ed m\u016f\u017eete do Qdrantu pos\u00edlat dotazy jako vektor a nechat jej vyhledat nejrelevantn\u011bj\u0161\u00ed \u010d\u00e1sti textu:<\/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>Tyto kousky pak m\u016f\u017eete p\u0159edat Ollama nap\u0159\u00edklad prost\u0159ednictv\u00edm syst\u00e9mov\u00e9 v\u00fdzvy a nechat je formulovat jako odpov\u011b\u010f souvisej\u00edc\u00ed s kontextem.<\/p>\n<h2>Chunking + export JSON do FileMaker a dal\u0161\u00edch datab\u00e1z\u00ed<\/h2>\n<p>V mnoha p\u0159\u00edpadech m\u016f\u017ee chunking prob\u00edhat ji\u017e ve st\u00e1vaj\u00edc\u00edm datab\u00e1zov\u00e9m \u0159e\u0161en\u00ed - nap\u0159\u00edklad v FileMaker. P\u0159esn\u011b tak to funguje v m\u00e9m vlastn\u00edm pracovn\u00edm prost\u0159ed\u00ed: zdrojov\u00e1 data - nap\u0159\u00edklad obsah webov\u00fdch str\u00e1nek, z\u00e1znamy podpory nebo technick\u00e9 \u010dl\u00e1nky - jsou ji\u017e k dispozici ve strukturovan\u00e9 podob\u011b v FileMaker.<\/p>\n<p>Tento proces funguje takto:<\/p>\n<ol>\n<li>Texty jsou v r\u00e1mci FileMaker rozd\u011bleny na \u00faseky o d\u00e9lce nap\u0159. 300-500 znak\u016f pomoc\u00ed vlastn\u00ed logiky chunkingu.<\/li>\n<li>Ka\u017ed\u00e9 \u010d\u00e1sti je p\u0159i\u0159azeno vlastn\u00ed ID a p\u0159\u00edpadn\u011b metadata (n\u00e1zev, kategorie, zdroj, jazyk atd.).<\/li>\n<li>V\u0161echny chunky jsou automaticky exportov\u00e1ny jako soubory JSON - nap\u0159. do ur\u010dit\u00e9ho adres\u00e1\u0159e na s\u00ed\u0165ov\u00e9m disku nebo p\u0159\u00edmo na pevn\u00fd disk serveru AI.<\/li>\n<li>Skript v jazyce Python na serveru na\u010dte tyto soubory JSON a ulo\u017e\u00ed je do datab\u00e1ze Qdrant.<\/li>\n<\/ol>\n<h3>P\u0159\u00edklad exportovan\u00e9ho souboru chunk (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>N\u00e1sledn\u00fd importn\u00ed skript pak lze spou\u0161t\u011bt automaticky nebo pravideln\u011b prost\u0159ednictv\u00edm termin\u00e1lu - nap\u0159. pomoc\u00ed \u00falohy cron nebo ru\u010dn\u00edho vol\u00e1n\u00ed:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 import_json_chunks.py \/Users\/markus\/Desktop\/chunks\/<\/pre>\n<p>Skript p\u0159e\u010dte ka\u017ed\u00fd kus JSON, vygeneruje odpov\u00eddaj\u00edc\u00ed vektor (nap\u0159. pomoc\u00ed Ollama nebo SentenceTransformers) a p\u0159enese z\u00e1znam do datab\u00e1ze Qdrant.<\/p>\n<p>Tato metoda je nejen transparentn\u00ed, ale lze ji tak\u00e9 velmi dob\u0159e kombinovat se st\u00e1vaj\u00edc\u00edmi strukturami IT - zejm\u00e9na ve firm\u00e1ch, kter\u00e9 ji\u017e pou\u017e\u00edvaj\u00ed FileMaker nebo maj\u00ed r\u00e1dy z d\u016fvodu p\u0159ehlednosti proces\u016f v\u0161e mapovat centr\u00e1ln\u011b a vizu\u00e1ln\u011b \u0159\u00eddit.<\/p>\n<h2>P\u0159ipojen\u00ed v\u0161ech datab\u00e1z\u00ed k m\u00edstn\u00ed UI<\/h2>\n<p>Pomoc\u00ed Ollama a Qdrant lze na Macu v kr\u00e1tk\u00e9 dob\u011b vytvo\u0159it kompletn\u00ed, vysoce v\u00fdkonn\u00fd syst\u00e9m RAG:<\/p>\n<ul>\n<li>M\u00edstn\u00ed, bez cloudu nebo p\u0159edplatn\u00e9ho<\/li>\n<li>Roz\u0161i\u0159iteln\u00e9 o vlastn\u00ed obsah<\/li>\n<li>Data jsou v bezpe\u010d\u00ed, proto\u017ee nic neopou\u0161t\u00ed po\u010d\u00edta\u010d<\/li>\n<li>Efektivn\u00ed, proto\u017ee Qdrant z\u016fst\u00e1v\u00e1 rychl\u00fd i p\u0159i velk\u00e9m mno\u017estv\u00ed dat.<\/li>\n<\/ul>\n<p>Pokud chcete um\u011blou inteligenci pou\u017e\u00edvat nejen k chatov\u00e1n\u00ed, ale jako skute\u010dn\u00fd znalostn\u00ed a pam\u011b\u0165ov\u00fd syst\u00e9m, je tato kombinace nutnost\u00ed. A funguje bez v\u011bt\u0161\u00edho \u00fasil\u00ed - s plnou kontrolou nad vlastn\u00edmi daty.<\/p>\n<hr \/>\n<h3>Aktu\u00e1ln\u00ed pr\u016fzkum pou\u017e\u00edv\u00e1n\u00ed m\u00edstn\u00edch syst\u00e9m\u016f um\u011bl\u00e9 inteligence<\/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=\"8e4d7cf6563a333a676a8a06b447ab66\" data-pid=\"2857\" 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=\"9794b3b792\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"a5cf1330b72d686514c99bd99fadd081\" 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;\">Co si mysl\u00edte o lok\u00e1ln\u011b provozovan\u00e9m softwaru AI, jako je MLX nebo Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"148\" 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;\">D\u016fmysln\u00e9 - kone\u010dn\u011b nez\u00e1visl\u00e9 na cloudu<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"29\" 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;\">Zaj\u00edmav\u00e9, ale (st\u00e1le) p\u0159\u00edli\u0161 slo\u017eit\u00e9<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"47\" data-type=\"text\" data-vn=\"29\" 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;\">Brzy to vyzkou\u0161\u00edm<\/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;\">Nepot\u0159ebuji ho - cloud mi sta\u010d\u00ed.<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"49\" 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[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;\">Nev\u00edm p\u0159esn\u011b, o \u010dem to je.<\/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;\">Hlasujte na<\/a><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"cs\"\/><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>V\u00fdhled: Co je mo\u017en\u00e9 s RAG, Ollama a Qdrant<\/h2>\n<p>Nastaven\u00ed popsan\u00e9 v tomto \u010dl\u00e1nku tvo\u0159\u00ed technick\u00fd z\u00e1klad pro nov\u00fd zp\u016fsob nakl\u00e1d\u00e1n\u00ed se znalostmi - lok\u00e1ln\u00ed, kontrolovan\u00fd a flexibiln\u011b roz\u0161i\u0159iteln\u00fd. T\u00edm v\u0161ak cesta v \u017e\u00e1dn\u00e9m p\u0159\u00edpad\u011b nekon\u010d\u00ed. Jakmile pochop\u00edte souhru mezi chunkingem, embeddingem, s\u00e9mantick\u00fdm vyhled\u00e1v\u00e1n\u00edm a jazykov\u00fdmi modely, rychle si uv\u011bdom\u00edte, jak univerz\u00e1ln\u00ed je tato architektura v praxi.<\/p>\n<h3>1. p\u0159ipojen\u00ed k vlastn\u00edm datab\u00e1z\u00edm<\/h3>\n<p>A\u0165 u\u017e se jedn\u00e1 o FileMaker, MySQL, PostgreSQL nebo MongoDB - jak\u00fdkoli obsah lze pravideln\u011b extrahovat, rozd\u011blit na \u010d\u00e1sti a automaticky vlo\u017eit do datab\u00e1ze vektor\u016f pomoc\u00ed c\u00edlen\u00fdch dotaz\u016f. T\u00edm se klasick\u00e1 datab\u00e1ze zm\u011bn\u00ed na s\u00e9manticky prohled\u00e1vateln\u00fd zdroj znalost\u00ed. Zejm\u00e9na v podp\u016frn\u00fdch syst\u00e9mech, produktov\u00fdch archivech nebo digit\u00e1ln\u00edch knihovn\u00e1ch se tak otev\u00edraj\u00ed zcela nov\u00e9 mo\u017enosti p\u0159\u00edstupu pro zam\u011bstnance nebo z\u00e1kazn\u00edky.<\/p>\n<h3>2. automatick\u00fd import webov\u00fdch str\u00e1nek, soubor\u016f PDF nebo dokument\u016f<\/h3>\n<p>Obsah nen\u00ed nutn\u00e9 p\u0159en\u00e1\u0161et ru\u010dn\u011b. Pomoc\u00ed n\u00e1stroj\u016f, jako jsou BeautifulSoup, readability, pdfplumber nebo docx2txt, lze automaticky importovat cel\u00e9 webov\u00e9 str\u00e1nky, p\u0159\u00edru\u010dky PDF nebo dokumenty Word, p\u0159ev\u00e9st je do textov\u00e9 podoby a p\u0159ipravit pro chunking. Nap\u0159\u00edklad technick\u00e9 wiki, z\u00e1kaznick\u00e9 port\u00e1ly nebo online dokumentaci lze pravideln\u011b aktualizovat a vkl\u00e1dat do datab\u00e1ze RAG.<\/p>\n<h3>3. dlouhodob\u00e9 budov\u00e1n\u00ed znalost\u00ed prost\u0159ednictv\u00edm strukturov\u00e1n\u00ed<\/h3>\n<p>Na rozd\u00edl od klasick\u00e9 aplikace um\u011bl\u00e9 inteligence, kter\u00e1 s ka\u017edou ot\u00e1zkou za\u010d\u00edn\u00e1 od nuly, umo\u017e\u0148uje nastaven\u00ed RAG postupn\u00e9 roz\u0161i\u0159ov\u00e1n\u00ed a kur\u00e1torstv\u00ed z\u00e1kladn\u00edch znalost\u00ed. C\u00edlen\u00fd v\u00fdb\u011br a p\u0159\u00edprava \u010d\u00e1st\u00ed vytv\u00e1\u0159\u00ed vlastn\u00ed s\u00e9mantickou pam\u011b\u0165, kter\u00e1 se s ka\u017ed\u00fdm dal\u0161\u00edm zad\u00e1n\u00edm st\u00e1v\u00e1 hodnotn\u011bj\u0161\u00ed.<\/p>\n<h3>4. propojen\u00ed se znalostn\u00edmi grafy (Neo4j)<\/h3>\n<p>Pokud chcete j\u00edt je\u0161t\u011b o krok d\u00e1l, m\u016f\u017eete informace nejen s\u00e9manticky ukl\u00e1dat, ale tak\u00e9 je logicky propojit. Pomoc\u00ed grafov\u00e9 datab\u00e1ze Neo4j lze vizualizovat vztahy mezi pojmy, osobami, t\u00e9maty nebo kategoriemi a c\u00edlen\u011b se na n\u011b dotazovat. T\u00edm se soubor text\u016f zm\u011bn\u00ed ve strukturovan\u00fd znalostn\u00ed graf, kter\u00fd mohou vyu\u017e\u00edvat jak lid\u00e9, tak um\u011bl\u00e1 inteligence - nap\u0159. k vizualizaci kauz\u00e1ln\u00edch \u0159et\u011bzc\u016f, \u010dasov\u00fdch posloupnost\u00ed nebo tematick\u00fdch shluk\u016f.<\/p>\n<h3>5. pou\u017eit\u00ed ve vlastn\u00edch n\u00e1stroj\u00edch, aplikac\u00edch nebo chatbotech<\/h3>\n<p>Po nastaven\u00ed lze logiku RAG integrovat do t\u00e9m\u011b\u0159 jak\u00e9koli aplikace: jako funkci s\u00e9mantick\u00e9ho vyhled\u00e1v\u00e1n\u00ed v intern\u00ed webov\u00e9 aplikaci, jako inteligentn\u00ed vstupn\u00ed pom\u016fcku v syst\u00e9mu CRM nebo jako chatbota s vlastn\u00edmi odborn\u00fdmi znalostmi na webov\u00fdch str\u00e1nk\u00e1ch spole\u010dnosti. D\u00edky vyu\u017eit\u00ed lok\u00e1ln\u00edch rozhran\u00ed API (nap\u0159. Ollama REST a Qdrant gRPC) z\u016fst\u00e1vaj\u00ed v\u0161echny komponenty flexibiln\u00ed a roz\u0161i\u0159iteln\u00e9 - a to i za tradi\u010dn\u00ed hranice spole\u010dnosti.<\/p>\n<p>Ti, kte\u0159\u00ed maj\u00ed odvahu se s t\u011bmito n\u00e1stroji sezn\u00e1mit, vytv\u00e1\u0159ej\u00ed z\u00e1klad nez\u00e1visl\u00fdch lok\u00e1ln\u00edch syst\u00e9m\u016f um\u011bl\u00e9 inteligence se skute\u010dnou u\u017eitnou hodnotou - v duchu kontroly, suverenity a technick\u00e9 \u010distoty.<\/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-33 { --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-33 { --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\">Aktu\u00e1ln\u00ed t\u00e9mata t\u00fdkaj\u00edc\u00ed se softwaru ERP<\/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-33\" 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=\"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\/cs\/2026\/02\/digitalni-majetek-vysvetlil-jak-se-vytvareji-udrzitelne-online-aktiva\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Vysv\u011btlen\u00ed digit\u00e1ln\u00edho vlastnictv\u00ed - Jak se vytv\u00e1\u0159ej\u00ed udr\u017eiteln\u00e9 online aktiva<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Co je digit\u00e1ln\u00ed vlastnictv\u00ed\" 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\/cs\/2026\/02\/digitalni-majetek-vysvetlil-jak-se-vytvareji-udrzitelne-online-aktiva\/\" rel=\"bookmark\">Vysv\u011btlen\u00ed digit\u00e1ln\u00edho vlastnictv\u00ed - Jak se vytv\u00e1\u0159ej\u00ed udr\u017eiteln\u00e9 online aktiva<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/cs\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2026-02-06T06:32:35+00:00\">6. \u00fanora 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=\"forum zur gfm-business erp-software und claris filemaker\" data-id=\"2393\"  data-category=\"filemaker &amp; erp\" data-post_tag=\"erp-software filemaker 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\/cs\/2023\/10\/forum-o-softwaru-gfm-business-erp-a-claris-filemaker\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">F\u00f3rum pro software gFM-Business ERP a Claris FileMaker<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"808\" class=\"attachment-full size-full\" alt=\"Software ERP a FileMaker F\u00f3rum\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-300x237.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-768x606.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-15x12.jpg 15w\" \/><\/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\/cs\/2023\/10\/forum-o-softwaru-gfm-business-erp-a-claris-filemaker\/\" rel=\"bookmark\">F\u00f3rum pro software gFM-Business ERP a Claris FileMaker<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/cs\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2023-10-11T15:43:43+00:00\">11. \u0159\u00edjna 2023<\/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=\"gofilemaker.de hat einen neuen internetauftritt\" data-id=\"2347\"  data-category=\"filemaker &amp; erp\" data-post_tag=\"erp-software filemaker 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\/cs\/2022\/04\/gofilemaker-de-ma-nove-webove-stranky\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gofilemaker.de m\u00e1 nov\u00e9 webov\u00e9 str\u00e1nky<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"2560\" height=\"2020\" class=\"attachment-full size-full\" alt=\"gofilemaker.de P\u0159\u00edtomnost na internetu\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-scaled.jpg\" data-dpt-sizes=\"(max-width: 2560px) 100vw, 2560px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-scaled.jpg 2560w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-300x237.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-1024x808.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-768x606.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-1536x1212.jpg 1536w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-2048x1616.jpg 2048w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gofilemaker_de_2022-15x12.jpg 15w\" \/><\/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\/cs\/2022\/04\/gofilemaker-de-ma-nove-webove-stranky\/\" rel=\"bookmark\">gofilemaker.de m\u00e1 nov\u00e9 webov\u00e9 str\u00e1nky<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/cs\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2022-04-05T08:34:41+00:00\">5. dubna 2022<\/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-business und die zukunft des erp: lokale intelligenz statt cloud-abh\u00e4ngigkeit\" data-id=\"2956\"  data-category=\"apple iphone &amp; ipad apple macos filemaker &amp; erp ki-systeme\" data-post_tag=\"datenschutz digitales eigentum erp-software filemaker gfm-business k\u00fcnstliche intelligenz llm neo4j qdrant 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\/cs\/2025\/09\/gfm-business-a-budoucnost-erp-lokalni-inteligence-misto-zavislosti-na-cloudu\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gFM-Business a budoucnost ERP: lok\u00e1ln\u00ed inteligence m\u00edsto z\u00e1vislosti na cloudu<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"gFM-Business a AI + znalostn\u00ed graf\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-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\/cs\/2025\/09\/gfm-business-a-budoucnost-erp-lokalni-inteligence-misto-zavislosti-na-cloudu\/\" rel=\"bookmark\">gFM-Business a budoucnost ERP: lok\u00e1ln\u00ed inteligence m\u00edsto z\u00e1vislosti na cloudu<\/a><\/h3><div class=\"dpt-meta1 dpt-meta\"><div class=\"dpt-author\"><a href=\"https:\/\/www.markus-schall.de\/cs\/author\/admin\/\"><span>Markus Schall<\/span><\/a><\/div> - <div class=\"dpt-date\"><time datetime=\"2025-09-26T06:41:39+00:00\">26. z\u00e1\u0159\u00ed 2025<\/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>\u010casto kladen\u00e9 dotazy t\u00fdkaj\u00edc\u00ed se RAG s Ollama + Qdrant<\/h2>\n<h3>1. co je datab\u00e1ze RAG a k \u010demu je dobr\u00e1?<\/h3>\n<p>Datab\u00e1ze RAG (Retrieval Augmented Generation) kombinuje vektorovou datab\u00e1zi s jazykov\u00fdm modelem. Umo\u017e\u0148uje s\u00e9manticky prohled\u00e1vat vlastn\u00ed obsah - nap\u0159. dokumentaci nebo webov\u00e9 str\u00e1nky - tak, aby modely um\u011bl\u00e9 inteligence mohly c\u00edlen\u011b p\u0159istupovat k p\u0159\u00edslu\u0161n\u00fdm \u010d\u00e1stem vlastn\u00ed datab\u00e1ze.<\/p>\n<h3>2 Co v tomto kontextu znamen\u00e1 \"chunking\"?<\/h3>\n<p>Chunking znamen\u00e1 rozd\u011blen\u00ed dlouh\u00fdch text\u016f na men\u0161\u00ed, smyslupln\u011b ucelen\u00e9 \u010d\u00e1sti (chunks) - obvykle v rozsahu 200 a\u017e 500 znak\u016f. To umo\u017e\u0148uje efektivn\u011b ukl\u00e1dat jednotliv\u00e9 \u00faseky textu do datab\u00e1ze vektor\u016f a pozd\u011bji je vyhledat, kdy\u017e se objev\u00ed ot\u00e1zky.<\/p>\n<h3>3. pro\u010d nelze jednodu\u0161e ulo\u017eit cel\u00e9 texty v Qdrantu?<\/h3>\n<p>Proto\u017ee modely AI a vektorov\u00e9 vyhled\u00e1v\u00e1n\u00ed pracuj\u00ed s omezenou d\u00e9lkou textu. Velk\u00e9 dokumenty by \"skryly\" d\u016fle\u017eit\u00fd obsah nebo by jej u\u010dinily nep\u0159esn\u00fdm. Chunking zvy\u0161uje p\u0159esnost, proto\u017ee se porovn\u00e1vaj\u00ed konkr\u00e9tn\u00ed \u00faseky nam\u00edsto cel\u00fdch text\u016f.<\/p>\n<h3>4. mohu pou\u017e\u00edt obsah z jak\u00e9hokoli zdroje?<\/h3>\n<p>Ano, pokud m\u00e1te texty v editovateln\u00e9 podob\u011b (nap\u0159. jako prost\u00fd text, HTML, Markdown, PDF, z\u00e1znamy FileMaker atd.), m\u016f\u017eete je p\u0159ipravit, rozd\u011blit a integrovat do Qdrantu. Mo\u017en\u00e9 jsou i sm\u00ed\u0161en\u00e9 zdroje.<\/p>\n<h3>5. mus\u00edm um\u011bt programovat, abych mohl takov\u00fd syst\u00e9m vytvo\u0159it?<\/h3>\n<p>Z\u00e1kladn\u00ed znalost termin\u00e1lu a jazyka Python je u\u017eite\u010dn\u00e1, ale nen\u00ed nezbytn\u00e1. Mnoho krok\u016f (nap\u0159. chunking v FileMaker, export JSON) lze realizovat vizu\u00e1ln\u011b a automaticky. Importn\u00ed skript Qdrant lze snadno p\u0159izp\u016fsobit.<\/p>\n<h3>6. mohu spravovat i n\u011bkolik dokument\u016f nebo kategori\u00ed?<\/h3>\n<p>Ano, ka\u017ed\u00fd odd\u00edl m\u016f\u017ee obsahovat metadata - nap\u0159. n\u00e1zev, zdroj, jazyk nebo kategorii. Tyto \u00fadaje lze p\u0159i vyhled\u00e1v\u00e1n\u00ed zohlednit, aby bylo mo\u017en\u00e9 p\u0159esn\u011bji filtrovat v\u00fdsledky.<\/p>\n<h3>7 Kter\u00e9 modely jsou vhodn\u00e9 pro generov\u00e1n\u00ed embeddingu?<\/h3>\n<p>M\u016f\u017eete pou\u017e\u00edt bu\u010f lok\u00e1ln\u00ed model p\u0159es Ollama (nap\u0159. mistral, llama2, gemma), nebo samostatn\u00fd model pro vkl\u00e1d\u00e1n\u00ed, jako je all-MiniLM z v\u011btn\u00fdch transform\u00e1tor\u016f. D\u016fle\u017eit\u00e9 je, aby model generoval v\u00fdstupy vkl\u00e1d\u00e1n\u00ed jako vektory.<\/p>\n<h3>8. jak spust\u00edm Qdrant na Macu?<\/h3>\n<p>Nejjednodu\u0161\u0161\u00ed zp\u016fsob je pomoc\u00ed p\u0159\u00edkazu 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 pak b\u011b\u017e\u00ed pod http:\/\/localhost:6333<\/p>\n<h3>9. jak velk\u00e9 mohou b\u00fdt m\u00e9 datov\u00e9 objemy?<\/h3>\n<p>Qdrant je velmi v\u00fdkonn\u00fd a snadno zvl\u00e1dne des\u00edtky nebo stovky tis\u00edc kus\u016f. Hlavn\u00edm omezen\u00edm je pam\u011b\u0165 RAM a \u00falo\u017en\u00fd prostor, nikoli jejich po\u010det.<\/p>\n<h3>10. funguje to tak\u00e9 s FileMaker?<\/h3>\n<p>Ano, ve\u0161ker\u00e9 chunkov\u00e1n\u00ed a export JSON m\u016f\u017eete prov\u00e1d\u011bt p\u0159\u00edmo v FileMaker. Chunky se exportuj\u00ed jako jednotliv\u00e9 soubory JSON, kter\u00e9 se pak importuj\u00ed do Qdrantu pomoc\u00ed skriptu Python - zcela nez\u00e1visle na p\u016fvodn\u00edm syst\u00e9mu.<\/p>\n<h3>11. mohu to tak\u00e9 spustit na jin\u00e9m serveru m\u00edsto Macu?<\/h3>\n<p>Rozhodn\u011b. Nastaven\u00ed funguje tak\u00e9 na serverech s Linuxem, Raspberry Pi nebo v cloudu (pokud chcete). D\u00edky n\u00e1stroji Docker je nez\u00e1visl\u00fd na platform\u011b. Pro produktivn\u00ed pou\u017eit\u00ed se obvykle doporu\u010duje server s v\u011bt\u0161\u00ed pam\u011bt\u00ed RAM a podporou GPU.<\/p>\n<h3>12. jak mohu kombinovat vyhled\u00e1v\u00e1n\u00ed vektor\u016f s Ollama?<\/h3>\n<p>Nejprve vytvo\u0159\u00edte vektor pro u\u017eivatelskou ot\u00e1zku prost\u0159ednictv\u00edm rozhran\u00ed Ollama (Embedding API), pou\u017eijete jej k vyhled\u00e1n\u00ed nejrelevantn\u011bj\u0161\u00edch \u010d\u00e1st\u00ed v Qdrant a p\u0159ed\u00e1te je jazykov\u00e9mu modelu jako kontext. Ollama pot\u00e9 zpracuje ot\u00e1zku + kontextov\u011b relevantn\u00ed informace a vygeneruje fundovanou odpov\u011b\u010f.<\/p>\n<p>Obr\u00e1zek (c) geralt @ pixabay<\/p>","protected":false},"excerpt":{"rendered":"<p>Ve st\u00e1le nep\u0159ehledn\u011bj\u0161\u00edm sv\u011bt\u011b informac\u00ed je st\u00e1le d\u016fle\u017eit\u011bj\u0161\u00ed, aby bylo mo\u017en\u00e9 c\u00edlen\u011b vyhled\u00e1vat ve vlastn\u00edch datab\u00e1z\u00edch - nikoli prost\u0159ednictv\u00edm klasick\u00e9ho fulltextov\u00e9ho vyhled\u00e1v\u00e1n\u00ed, ale prost\u0159ednictv\u00edm s\u00e9manticky relevantn\u00edch odpov\u011bd\u00ed. Pr\u00e1v\u011b zde vstupuje do hry princip datab\u00e1ze RAG - \u0159e\u0161en\u00ed pro vyhled\u00e1v\u00e1n\u00ed s podporou um\u011bl\u00e9 inteligence, kter\u00e9 se skl\u00e1d\u00e1 ze dvou \u00fast\u0159edn\u00edch komponent:<\/p>","protected":false},"author":1,"featured_media":2768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":798,"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\/cs\/wp-json\/wp\/v2\/posts\/2764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/comments?post=2764"}],"version-history":[{"count":14,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts\/2764\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts\/2764\/revisions\/3401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/media\/2768"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/media?parent=2764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/categories?post=2764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/tags?post=2764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}