{"id":5306,"date":"2026-03-30T05:55:15","date_gmt":"2026-03-30T05:55:15","guid":{"rendered":"https:\/\/www.markus-schall.de\/?p=5306"},"modified":"2026-04-17T14:30:59","modified_gmt":"2026-04-17T14:30:59","slug":"od-exportu-dat-chatgpt-do-vlastnich-znalosti-ki-krok-za-krokem-s-ollama-a-qdrant","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/cs\/2026\/03\/od-exportu-dat-chatgpt-do-vlastnich-znalosti-ki-krok-za-krokem-s-ollama-a-qdrant\/","title":{"rendered":"Od exportu dat ChatGPT k vlastn\u00ed znalostn\u00ed AI: krok za krokem s Ollama a Qdrant"},"content":{"rendered":"<p>V prvn\u00ed \u010d\u00e1sti t\u00e9to s\u00e9rie \u010dl\u00e1nk\u016f jsme si uk\u00e1zali, \u017ee export dat ChatGPT je mnohem v\u00edc ne\u017e jen technick\u00e1 funkce. Va\u0161e exportovan\u00e1 data obsahuj\u00ed soubor my\u0161lenek, n\u00e1pad\u016f, anal\u00fdz a konverzac\u00ed, kter\u00e9 se nahromadily za dlouhou dobu. Dokud jsou v\u0161ak tato data ulo\u017eena pouze jako archiv na va\u0161em pevn\u00e9m disku, z\u016fst\u00e1vaj\u00ed pouze archivem. Z\u00e1sadn\u00edm krokem je, aby tyto informace byly op\u011bt pou\u017eiteln\u00e9. Pr\u00e1v\u011b zde za\u010d\u00edn\u00e1 v\u00fdvoj osobn\u00ed znalostn\u00ed um\u011bl\u00e9 inteligence.<\/p>\n<p>My\u0161lenka je vlastn\u011b p\u0159ekvapiv\u011b jednoduch\u00e1: um\u011bl\u00e1 inteligence by m\u011bla pracovat nejen s obecn\u00fdmi znalostmi, ale tak\u00e9 by m\u011bla m\u00edt p\u0159\u00edstup k va\u0161im vlastn\u00edm dat\u016fm. M\u011bla by b\u00fdt schopna prohledat p\u0159edchoz\u00ed konverzace, naj\u00edt vhodn\u00fd obsah a za\u010dlenit jej do nov\u00fdch odpov\u011bd\u00ed. T\u00edm se z oby\u010dejn\u00e9 um\u011bl\u00e9 inteligence stane jak\u00e1si digit\u00e1ln\u00ed pam\u011b\u0165. Toto je druh\u00e1 \u010d\u00e1st s\u00e9rie \u010dl\u00e1nk\u016f, kter\u00e1 se nyn\u00ed zab\u00fdv\u00e1 praktickou str\u00e1nkou v\u011bci.<!--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-77 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-77 { --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\">Soci\u00e1ln\u00ed ot\u00e1zky sou\u010dasnosti<\/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-77\" 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=\"was bedeutet der spannungsfall in deutschland &#8211; und welche folgen h\u00e4tte er konkret?\" data-id=\"2997\"  data-category=\"allgemein b\u00fccher gesellschaft tipps &amp; anleitungen\" data-post_tag=\"buch deutschland geopolitik gesundheit krisen pers\u00f6nlichkeitsentwicklung ratgeber sicherheitspolitik\">\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\/co-znamena-pokles-napeti-v-nemecku-a-jake-konkretni-dusledky-by-to-melo\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Co znamen\u00e1 pokles nap\u011bt\u00ed v N\u011bmecku - a jak\u00e9 by to m\u011blo konkr\u00e9tn\u00ed d\u016fsledky?<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Nap\u00ednac\u00ed sk\u0159\u00ed\u0148 - N\u011bmecko-2025\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-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\/10\/co-znamena-pokles-napeti-v-nemecku-a-jake-konkretni-dusledky-by-to-melo\/\" rel=\"bookmark\">Co znamen\u00e1 pokles nap\u011bt\u00ed v N\u011bmecku - a jak\u00e9 by to m\u011blo konkr\u00e9tn\u00ed d\u016fsledky?<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"die stille gefahr von wearables: wenn bequemlichkeit zur \u00dcberwachung wird\" data-id=\"3560\"  data-category=\"allgemein apple iphone &amp; ipad gesellschaft gesundheit hardware\" data-post_tag=\"apple datenschutz gesundheit ratgeber\">\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\/11\/tiche-nebezpeci-nositelnych-zarizeni-kdy-se-z-pohodli-stava-dohled\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Tich\u00e9 nebezpe\u010d\u00ed nositeln\u00fdch za\u0159\u00edzen\u00ed: kdy\u017e se z pohodl\u00ed stane sledov\u00e1n\u00ed<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Nositeln\u00e1 elektronika, chytr\u00e9 hodinky, sluch\u00e1tka do u\u0161\u00ed\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/wearables-smartwatch-daten.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/wearables-smartwatch-daten.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wearables-smartwatch-daten-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wearables-smartwatch-daten-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wearables-smartwatch-daten-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\/11\/tiche-nebezpeci-nositelnych-zarizeni-kdy-se-z-pohodli-stava-dohled\/\" rel=\"bookmark\">Tich\u00e9 nebezpe\u010d\u00ed nositeln\u00fdch za\u0159\u00edzen\u00ed: kdy\u017e se z pohodl\u00ed stane sledov\u00e1n\u00ed<\/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=\"stress ist keine naturgewalt &#8211; wie man sich freir\u00e4ume zur\u00fcckholt, schritt f\u00fcr schritt\" data-id=\"3152\"  data-category=\"allgemein gesellschaft gesundheit tipps &amp; anleitungen\" data-post_tag=\"cmd erfahrungen gesundheit krisen pers\u00f6nlichkeitsentwicklung prozesse ratgeber\">\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\/stres-neni-prirodni-sila-jak-ziskat-zpet-svou-svobodu-krok-za-krokem\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Stres nen\u00ed p\u0159\u00edrodn\u00ed s\u00edla - Jak z\u00edskat zp\u011bt svou svobodu krok za krokem<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Stres nen\u00ed p\u0159\u00edrodn\u00ed s\u00edla\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/stress-naturgewalt-titel.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/stress-naturgewalt-titel.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/stress-naturgewalt-titel-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/stress-naturgewalt-titel-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/stress-naturgewalt-titel-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\/10\/stres-neni-prirodni-sila-jak-ziskat-zpet-svou-svobodu-krok-za-krokem\/\" rel=\"bookmark\">Stres nen\u00ed p\u0159\u00edrodn\u00ed s\u00edla - Jak z\u00edskat zp\u011bt svou svobodu krok za krokem<\/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=\"propaganda: geschichte, methoden, moderne formen und wie man sie erkennt\" data-id=\"4229\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"denkmodelle energiepolitik europa geopolitik krisen meinungsfreiheit pers\u00f6nlichkeitsentwicklung sicherheitspolitik spieltheorie\">\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\/01\/metody-propagandy-historie-moderni-formy-a-jak-je-rozpoznat\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Propaganda: historie, metody, modern\u00ed formy a jak je rozpoznat<\/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 to propaganda?\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Propaganda-titel.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Propaganda-titel.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Propaganda-titel-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Propaganda-titel-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Propaganda-titel-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\/01\/metody-propagandy-historie-moderni-formy-a-jak-je-rozpoznat\/\" rel=\"bookmark\">Propaganda: historie, metody, modern\u00ed formy a jak je rozpoznat<\/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<h2>1. \u010d\u00e1st seri\u00e1lu: Podce\u0148ovan\u00fd poklad v exportu dat ChatGPT<\/h2>\n<p>Zat\u00edmco v t\u00e9to druh\u00e9 \u010d\u00e1sti se budeme zab\u00fdvat praktickou str\u00e1nkou v\u011bci, stoj\u00ed za to pod\u00edvat se na to. <a href=\"https:\/\/www.markus-schall.de\/cs\/2026\/03\/export-dat-chatgpt-vysvetluje-jak-se-vase-chaty-ki-stavaji-osobnim-znalostnim-systemem\/\"><strong>prvn\u00ed \u010dl\u00e1nek t\u00e9to s\u00e9rie<\/strong><\/a>. Zab\u00fdv\u00e1 se z\u00e1kladn\u00ed ot\u00e1zkou, pro\u010d je export dat ChatGPT v\u016fbec tak zaj\u00edmav\u00fd - a pro\u010d mnoho u\u017eivatel\u016f st\u00e1le podce\u0148uje jeho potenci\u00e1l. \u010cl\u00e1nek ukazuje, jak\u00e1 data jsou vlastn\u011b v exportu obsa\u017eena, jak je lze vyu\u017e\u00edt k vytvo\u0159en\u00ed osobn\u00edho znalostn\u00edho archivu a pro\u010d tento krok tvo\u0159\u00ed z\u00e1klad pro vlastn\u00ed UI s pam\u011bt\u00ed. Pokud chcete pochopit, pro\u010d v\u016fbec tento pipeline vytv\u00e1\u0159\u00edme a jakou strategickou hodnotu m\u00e1 va\u0161e vlastn\u00ed historie chatu, m\u011bli byste za\u010d\u00edt 1. \u010d\u00e1st\u00ed.<\/p>\n<p>Ne\u017e se v n\u00e1sleduj\u00edc\u00ed kapitole pust\u00edme do vlastn\u00ed implementace, pod\u00edvejme se nejprve, jak je takov\u00fd syst\u00e9m v z\u00e1sad\u011b strukturov\u00e1n.<\/p>\n<hr \/>\n<h2>Z\u00e1kladn\u00ed my\u0161lenka syst\u00e9mu RAG<\/h2>\n<p>Technick\u00fdm z\u00e1kladem na\u0161eho syst\u00e9mu je koncept, kter\u00fd se dnes ve sv\u011bt\u011b um\u011bl\u00e9 inteligence hojn\u011b pou\u017e\u00edv\u00e1: RAG neboli Retrieval Augmented Generation. Za t\u00edmto pojmem se skr\u00fdv\u00e1 velmi praktick\u00fd princip.<\/p>\n<p>Obvykle jazykov\u00fd model odpov\u00edd\u00e1 na ot\u00e1zky v\u00fdhradn\u011b na z\u00e1klad\u011b znalost\u00ed, kter\u00e9 se nau\u010dil b\u011bhem sv\u00e9ho tr\u00e9ninku. P\u0159esto\u017ee jsou tyto znalosti rozs\u00e1hl\u00e9, maj\u00ed dv\u011b rozhoduj\u00edc\u00ed omezen\u00ed:<\/p>\n<ul>\n<li>Za prv\u00e9, model nezn\u00e1 \u017e\u00e1dn\u00e9 individu\u00e1ln\u00ed informace o va\u0161ich vlastn\u00edch projektech nebo my\u0161lenk\u00e1ch.<\/li>\n<li>Za druh\u00e9, nem\u00e1 p\u0159\u00edstup k nov\u00fdm dat\u016fm vytvo\u0159en\u00fdm po tr\u00e9ninku.<\/li>\n<\/ul>\n<p>Pr\u00e1v\u011b zde p\u0159ich\u00e1z\u00ed na \u0159adu syst\u00e9m RAG. Nam\u00edsto p\u0159\u00edm\u00e9ho generov\u00e1n\u00ed odpov\u011bdi se nejprve stane n\u011bco jin\u00e9ho: syst\u00e9m vyhled\u00e1 v datab\u00e1zi obsah, kter\u00fd odpov\u00edd\u00e1 polo\u017een\u00e9 ot\u00e1zce. Tento obsah je pak p\u0159enesen do jazykov\u00e9ho modelu jako kontext. Teprve pot\u00e9 um\u011bl\u00e1 inteligence formuluje odpov\u011b\u010f. Zjednodu\u0161en\u011b \u0159e\u010deno, proces vypad\u00e1 n\u00e1sledovn\u011b:<\/p>\n<ol>\n<li>Polo\u017e\u00edte ot\u00e1zku \u2192<\/li>\n<li>syst\u00e9m prohled\u00e1v\u00e1 datab\u00e1zi znalost\u00ed \u2192<\/li>\n<li>je nalezen relevantn\u00ed obsah \u2192<\/li>\n<li>Tento obsah se p\u0159en\u00e1\u0161\u00ed do UI jako kontext \u2192<\/li>\n<li>UI vygeneruje odpov\u011b\u010f.<\/li>\n<\/ol>\n<p>Rozhoduj\u00edc\u00ed v\u00fdhoda je z\u0159ejm\u00e1: um\u011bl\u00e1 inteligence m\u016f\u017ee vyu\u017e\u00edvat informace, kter\u00e9 nebyly sou\u010d\u00e1st\u00ed jej\u00edho p\u016fvodn\u00edho tr\u00e9ninku.<\/p>\n<p>A pr\u00e1v\u011b tady vstupuj\u00ed do hry va\u0161e \u00fadaje z ChatGPT. Pokud tyto konverzace integrujeme do znalostn\u00ed datab\u00e1ze, m\u016f\u017ee k nim um\u011bl\u00e1 inteligence p\u0159istupovat pozd\u011bji. M\u016f\u017ee naj\u00edt p\u0159edchoz\u00ed n\u00e1pady, pou\u017e\u00edt argumenty ze star\u00fdch dialog\u016f nebo zohlednit anal\u00fdzy z minul\u00fdch konverzac\u00ed. Syst\u00e9m si tedy za\u010dne \u201epamatovat\u201c va\u0161e vlastn\u00ed my\u0161lenky.<\/p>\n<h3>Stavebn\u00ed kameny na\u0161eho syst\u00e9mu<\/h3>\n<p>Aby to fungovalo, pot\u0159ebujeme n\u011bkolik komponent, kter\u00e9 budou spolupracovat. Na\u0161t\u011bst\u00ed je dnes technick\u00e1 infrastruktura pro tyto \u00fa\u010dely mnohem sn\u00e1ze dostupn\u00e1 ne\u017e p\u0159ed n\u011bkolika lety. V j\u00e1dru se n\u00e1\u0161 syst\u00e9m skl\u00e1d\u00e1 ze \u010dty\u0159 \u00fast\u0159edn\u00edch komponent.<\/p>\n<ol>\n<li>Prvn\u00edm stavebn\u00edm prvkem je <strong>Export dat ChatGPT<\/strong>. Zde se nach\u00e1zej\u00ed na\u0161e nezpracovan\u00e1 data. Obsahuj\u00ed v\u0161echny konverzace, kter\u00e9 jsme s um\u011blou inteligenc\u00ed d\u0159\u00edve vedli.<\/li>\n<li>Druh\u00fdm stavebn\u00edm prvkem je <strong>Model vkl\u00e1d\u00e1n\u00ed<\/strong>. Tento model p\u0159ev\u00e1d\u00ed text na matematick\u00e9 vektory. To umo\u017e\u0148uje porovn\u00e1vat texty podle jejich v\u00fdznamu.<\/li>\n<li>T\u0159et\u00edm stavebn\u00edm prvkem je <strong>Datab\u00e1ze vektor\u016f<\/strong>. V na\u0161em p\u0159\u00edpad\u011b pou\u017e\u00edv\u00e1me Qdrant. Tato datab\u00e1ze uchov\u00e1v\u00e1 matematick\u00e9 reprezentace text\u016f a umo\u017e\u0148uje rychl\u00e9 s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed.<\/li>\n<li>\u010ctvrt\u00fdm stavebn\u00edm prvkem je <strong>m\u00edstn\u00ed jazykov\u00fd model<\/strong>, kter\u00fd b\u011b\u017e\u00ed p\u0159es Ollama. Tento model bude pozd\u011bji formulovat skute\u010dn\u00e9 odpov\u011bdi.<\/li>\n<\/ol>\n<p>Tyto \u010dty\u0159i slo\u017eky spolu \u00fazce spolupracuj\u00ed.<\/p>\n<ol>\n<li>Export dat poskytuje obsah.<\/li>\n<li>Model vkl\u00e1d\u00e1n\u00ed je \u010din\u00ed strojov\u011b \u010diteln\u00fdmi.<\/li>\n<li>Vektorov\u00e1 datab\u00e1ze je ukl\u00e1d\u00e1 a vyhled\u00e1v\u00e1.<\/li>\n<li>Jazykov\u00fd model nakonec generuje srozumiteln\u00e9 odpov\u011bdi.<\/li>\n<\/ol>\n<p>Spole\u010dn\u011b tvo\u0159\u00ed z\u00e1klad osobn\u00ed znalostn\u00ed UI.<\/p>\n<h3>P\u0159ehled toku dat<\/h3>\n<p>Aby syst\u00e9m fungoval, mus\u00ed data proj\u00edt n\u011bkolika kroky. Prvn\u00edm krokem je export dat ChatGPT, kter\u00fd jsme ji\u017e vytvo\u0159ili v prvn\u00edm \u010dl\u00e1nku. Konverzace, kter\u00e9 obsahuje, jsou nejprve extrahov\u00e1ny ze soubor\u016f JSON. Tyto texty je pak t\u0159eba p\u0159ipravit. Rozs\u00e1hl\u00e9 historie konverzac\u00ed se rozd\u011bl\u00ed na men\u0161\u00ed \u00faseky, tzv. kusy textu. D\u00edky tomu je n\u00e1sledn\u00e9 vyhled\u00e1v\u00e1n\u00ed mnohem efektivn\u011bj\u0161\u00ed.<\/p>\n<p>V dal\u0161\u00edm kroku z t\u011bchto textov\u00fdch \u00fasek\u016f vytvo\u0159\u00edme vlo\u017een\u00e9 texty. Ka\u017ed\u00fd text je pops\u00e1n matematicky. Text\u016fm s podobn\u00fdm v\u00fdznamem jsou p\u0159i\u0159azeny podobn\u00e9 vektory. Tyto vektory pak ulo\u017e\u00edme do na\u0161\u00ed vektorov\u00e9 datab\u00e1ze Qdrant.<\/p>\n<p>To znamen\u00e1, \u017ee nejd\u016fle\u017eit\u011bj\u0161\u00ed \u010d\u00e1st infrastruktury ji\u017e existuje. Kdy\u017e je ot\u00e1zka polo\u017eena pozd\u011bji, stane se n\u00e1sleduj\u00edc\u00ed:<\/p>\n<ol>\n<li>Ot\u00e1zka je rovn\u011b\u017e p\u0159evedena na vektor.<\/li>\n<li>Datab\u00e1ze vyhled\u00e1v\u00e1 texty s podobn\u00fdm v\u00fdznamem.<\/li>\n<li>Tyto textov\u00e9 pas\u00e1\u017ee se p\u0159en\u00e1\u0161ej\u00ed do jazykov\u00e9ho modelu jako kontext.<\/li>\n<li>Model na z\u00e1klad\u011b t\u011bchto informac\u00ed formuluje odpov\u011b\u010f.<\/li>\n<\/ol>\n<p>Tento proces zaji\u0161\u0165uje, \u017ee um\u011bl\u00e1 inteligence vyu\u017e\u00edv\u00e1 nejen obecn\u00e9 znalosti, ale m\u00e1 p\u0159\u00edstup i k va\u0161im vlastn\u00edm dat\u016fm.<\/p>\n<h3>Co bude nakonec mo\u017en\u00e9<\/h3>\n<p>Po nastaven\u00ed syst\u00e9mu se pr\u00e1ce s um\u011blou inteligenc\u00ed v\u00fdrazn\u011b zm\u011bn\u00ed. U\u017e nepracujete jen s obecn\u00fdm jazykov\u00fdm modelem, ale s um\u011blou inteligenc\u00ed, kter\u00e1 m\u00e1 p\u0159\u00edstup k va\u0161im vlastn\u00edm dat\u016fm. To otev\u00edr\u00e1 zcela nov\u00e9 mo\u017enosti. M\u016f\u017eete nap\u0159\u00edklad kl\u00e1st ot\u00e1zky, jako nap\u0159:<\/p>\n<blockquote><p><em>\u201eMluvil jsem n\u011bkdy o tomto t\u00e9matu s UI?\u201c<\/em><br \/>\n<em>\u201eJak\u00e9 p\u0159edstavy jsem m\u011bl o tomto projektu p\u0159edt\u00edm?\u201c<\/em><br \/>\n<em>\u201eJak\u00e9 argumenty jsem uvedl v p\u0159edchoz\u00edch rozhovorech?\u201c<\/em><\/p><\/blockquote>\n<p>Um\u011bl\u00e1 inteligence pak prohled\u00e1 va\u0161e vlastn\u00ed konverzace a najde vhodn\u00fd obsah. Nam\u00edsto obecn\u00e9 odpov\u011bdi m\u016f\u017ee odk\u00e1zat na p\u0159edchoz\u00ed my\u0161lenky, shrnout star\u00e9 anal\u00fdzy nebo rozpoznat souvislosti mezi r\u016fzn\u00fdmi konverzacemi.<\/p>\n<p>Jin\u00fdmi slovy, um\u011bl\u00e1 inteligence za\u010dne pracovat s va\u0161\u00edm vlastn\u00edm archivem znalost\u00ed. Z jednoduch\u00e9ho chatovac\u00edho n\u00e1stroje se tak stane syst\u00e9m, kter\u00fd m\u016f\u017ee dlouhodob\u011b podporovat va\u0161e my\u0161len\u00ed. A pr\u00e1v\u011b tento syst\u00e9m budeme v n\u011bkolika n\u00e1sleduj\u00edc\u00edch kapitol\u00e1ch krok za krokem budovat. V n\u00e1sleduj\u00edc\u00ed \u010d\u00e1sti za\u010dneme s praktickou prac\u00ed a nejprve se bl\u00ed\u017ee pod\u00edv\u00e1me na export dat ChatGPT. Ne\u017e toti\u017e za\u010dneme budovat znalostn\u00ed datab\u00e1zi, mus\u00edme pochopit, jak jsou na\u0161e data vlastn\u011b strukturov\u00e1na.<\/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=\"190ef2866be56ae6492ec6f60a1760c6\" data-pid=\"4229\" 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=\"f4ed7179ae\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"7795e5c0d8c654d05733fcbdd395ea64\" 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=\"149\" 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=\"31\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[46]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[46]\" name=\"answer[9]\" value=\"46\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">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>P\u0159\u00edprava: Porozum\u011bn\u00ed exportu dat ChatGPT<\/h2>\n<p>V prvn\u00edm \u010dl\u00e1nku t\u00e9to s\u00e9rie jsme ji\u017e vytvo\u0159ili export dat ChatGPT a st\u00e1hli jej jako soubor ZIP. Na prvn\u00ed pohled se tento soubor m\u016f\u017ee zd\u00e1t pon\u011bkud nen\u00e1padn\u00fd - archiv s n\u011bkolika technick\u00fdmi soubory, kter\u00fd zpo\u010d\u00e1tku vypad\u00e1 sp\u00ed\u0161e jako z\u00e1loha ne\u017e jako hodnotn\u00fd soubor dat. Tento archiv v\u0161ak obsahuje z\u00e1klad cel\u00e9ho na\u0161eho znalostn\u00edho syst\u00e9mu.<\/p>\n<p>Ne\u017e za\u010dneme tato data na\u010d\u00edtat do datab\u00e1ze nebo je p\u0159ipojovat k UI, mus\u00edme nejprve pochopit, jak je export strukturov\u00e1n. Proto\u017ee pouze pokud v\u00edme, jak\u00e9 informace obsahuje a jak jsou strukturov\u00e1ny, m\u016f\u017eeme je pozd\u011bji smyslupln\u011b zpracovat. V t\u00e9to kapitole se proto pod\u00edv\u00e1me na to, jak je export dat strukturov\u00e1n, kter\u00e9 soubory jsou skute\u010dn\u011b d\u016fle\u017eit\u00e9 a jak m\u016f\u017eeme tento technick\u00fd archiv prom\u011bnit v u\u017eite\u010dn\u00fd z\u00e1klad pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m UI.<\/p>\n<h3>Rozbalen\u00ed souboru ZIP<\/h3>\n<p>Prvn\u00ed krok je trivi\u00e1ln\u00ed, ale p\u0159esto d\u016fle\u017eit\u00fd: mus\u00edme rozbalit sta\u017een\u00fd archiv. Soubor je obvykle k dispozici jako klasick\u00fd soubor ZIP. Jeho velikost se m\u016f\u017ee li\u0161it v z\u00e1vislosti na rozsahu p\u0159edchoz\u00edho pou\u017eit\u00ed. N\u011bkte\u0159\u00ed u\u017eivatel\u00e9 obdr\u017e\u00ed archiv o velikosti n\u011bkolika set megabajt\u016f, jin\u00ed n\u011bkolik gigabajt\u016f.<\/p>\n<p>Po rozbalen\u00ed souboru se vytvo\u0159\u00ed slo\u017eka s n\u011bkolika soubory a podslo\u017ekami. P\u0159esn\u00e1 struktura se m\u016f\u017ee m\u00edrn\u011b li\u0161it, ale obvykle v n\u00ed najdete n\u011bkolik soubor\u016f JSON a p\u0159\u00edpadn\u011b dal\u0161\u00ed soubory s dal\u0161\u00edmi informacemi.<\/p>\n<p>Pro mnoho u\u017eivatel\u016f se tato struktura zpo\u010d\u00e1tku jev\u00ed jako pon\u011bkud technick\u00e1. Pokud se v\u0161ak na chv\u00edli zastav\u00edte, rychle rozpozn\u00e1te ur\u010dit\u00fd vzorec: data jsou uspo\u0159\u00e1d\u00e1na pom\u011brn\u011b p\u0159ehledn\u011b a maj\u00ed jasnou strukturu. To je dobr\u00e1 zpr\u00e1va, proto\u017ee pr\u00e1v\u011b tato struktura umo\u017e\u0148uje pozd\u011bj\u0161\u00ed automatick\u00e9 zpracov\u00e1n\u00ed obsahu.<\/p>\n<h3>Struktura dat chatu<\/h3>\n<p>Nejd\u016fle\u017eit\u011bj\u0161\u00ed \u010d\u00e1st\u00ed exportu jsou skute\u010dn\u00e1 data chatu. Tyto konverzace jsou obvykle ulo\u017eeny v jednom nebo v\u00edce souborech JSON. JSON je roz\u0161\u00ed\u0159en\u00fd datov\u00fd form\u00e1t, kter\u00fd se \u010dasto pou\u017e\u00edv\u00e1 k ukl\u00e1d\u00e1n\u00ed strukturovan\u00fdch informac\u00ed.<\/p>\n<p>Takov\u00fd soubor neobsahuje pouze dlouh\u00fd text. M\u00edsto toho je dialog rozd\u011blen na jednotliv\u00e9 prvky. Obvykle se dialog skl\u00e1d\u00e1 z n\u011bkolika zpr\u00e1v. Ka\u017ed\u00e1 zpr\u00e1va obsahuje informace, jako nap\u0159.<\/p>\n<ul>\n<li>skute\u010dn\u00fd text zpr\u00e1vy<\/li>\n<li>roli odes\u00edlatele (u\u017eivatele nebo UI).<\/li>\n<li>\u010dasov\u00e9 raz\u00edtko<\/li>\n<li>\u010d\u00e1ste\u010dn\u011b dal\u0161\u00ed metadata<\/li>\n<\/ul>\n<p>To umo\u017e\u0148uje rekonstruovat cel\u00fd pr\u016fb\u011bh dialogu. Nap\u0159\u00edklad dialog za\u010d\u00edn\u00e1 ot\u00e1zkou u\u017eivatele. Po n\u00ed n\u00e1sleduje odpov\u011b\u010f um\u011bl\u00e9 inteligence. Pot\u00e9 mohou n\u00e1sledovat dal\u0161\u00ed ot\u00e1zky a odpov\u011bdi. Ka\u017ed\u00e1 z t\u011bchto zpr\u00e1v se ukl\u00e1d\u00e1 samostatn\u011b.<\/p>\n<p>To m\u00e1 jednu velkou v\u00fdhodu: pozd\u011bji m\u016f\u017eeme p\u0159esn\u011b rozpoznat, kdo co \u0159ekl a jak se rozhovor vyv\u00edjel. To je pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m obzvl\u00e1\u0161\u0165 d\u016fle\u017eit\u00e9, proto\u017ee chceme pozd\u011bji vyhled\u00e1vat a analyzovat pr\u00e1v\u011b tento obsah.<\/p>\n<h3>Jak\u00e9 \u00fadaje skute\u010dn\u011b pot\u0159ebujeme<\/h3>\n<p>P\u0159esto\u017ee export obsahuje mnoho informac\u00ed, nepot\u0159ebujeme je v\u0161echny pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m. Nejd\u016fle\u017eit\u011bj\u0161\u00ed slo\u017ekou jsou texty konverzac\u00ed. Tyto texty obsahuj\u00ed skute\u010dn\u00fd obsah: Obsahuj\u00ed my\u0161lenky, anal\u00fdzy, ot\u00e1zky a odpov\u011bdi. Pr\u00e1v\u011b tento obsah chceme pozd\u011bji prohled\u00e1vat.<\/p>\n<p>U\u017eite\u010dn\u00e1 mohou b\u00fdt i n\u011bkter\u00e1 metadata. Pat\u0159\u00ed sem nap\u0159.<\/p>\n<ul>\n<li>\u010casov\u00e9 raz\u00edtko<\/li>\n<li>N\u00e1zev konverzace<\/li>\n<li>Mo\u017en\u00e1 intern\u00ed identifika\u010dn\u00ed \u010d\u00edsla<\/li>\n<\/ul>\n<p>Tyto informace n\u00e1m pom\u00e1haj\u00ed pozd\u011bji l\u00e9pe t\u0159\u00eddit obsah nebo kategorizovat konverzaci z \u010dasov\u00e9ho hlediska. Ostatn\u00ed slo\u017eky exportu jsou pro n\u00e1\u0161 projekt m\u00e9n\u011b d\u016fle\u017eit\u00e9. Pat\u0159\u00ed sem nap\u0159\u00edklad n\u011bkter\u00e1 technick\u00e1 metadata, kter\u00e1 jsou zaj\u00edmav\u00e1 pouze pro vnit\u0159n\u00ed fungov\u00e1n\u00ed platformy.<\/p>\n<p>P\u0159i vytv\u00e1\u0159en\u00ed znalostn\u00ed b\u00e1ze se proto z\u00e1m\u011brn\u011b soust\u0159ed\u00edme na to nejd\u016fle\u017eit\u011bj\u0161\u00ed: texty rozhovor\u016f a n\u011bkter\u00e9 z\u00e1kladn\u00ed kontextov\u00e9 informace. \u010c\u00edm p\u0159ehledn\u011bji tato data strukturujeme, t\u00edm l\u00e9pe s nimi na\u0161e um\u011bl\u00e1 inteligence m\u016f\u017ee pozd\u011bji pracovat.<\/p>\n<h3>Prvn\u00ed p\u0159ehled \u00fadaj\u016f<\/h3>\n<p>Ne\u017e za\u010dneme pracovat s automatizovan\u00fdmi skripty, je vhodn\u00e9 se kr\u00e1tce pod\u00edvat na samotn\u00e1 data. Za t\u00edmto \u00fa\u010delem otev\u0159ete jeden ze soubor\u016f JSON pomoc\u00ed jednoduch\u00e9ho textov\u00e9ho editoru nebo programu, kter\u00fd um\u00ed dob\u0159e zobrazovat soubory JSON. K tomu se velmi dob\u0159e hod\u00ed mnoh\u00e9 editory k\u00f3du, nap\u0159\u00edklad Visual Studio Code, ale funguj\u00ed i jednoduch\u00e9 textov\u00e9 editory.<\/p>\n<p>P\u0159i prvn\u00edm pohledu na soubor pravd\u011bpodobn\u011b uvid\u00edte pom\u011brn\u011b velk\u00e9 mno\u017estv\u00ed strukturovan\u00fdch dat. Soubory JSON se skl\u00e1daj\u00ed z vno\u0159en\u00fdch prvk\u016f - tj. datov\u00fdch pol\u00ed, kter\u00e1 n\u00e1sledn\u011b obsahuj\u00ed dal\u0161\u00ed pole. Zpo\u010d\u00e1tku se to m\u016f\u017ee zd\u00e1t pon\u011bkud slo\u017eit\u00e9, ale s trochou trp\u011blivosti z\u00e1kladn\u00ed strukturu rychle rozpozn\u00e1te. Uvid\u00edte nap\u0159\u00edklad, \u017ee konverzace se skl\u00e1d\u00e1 z n\u011bkolika zpr\u00e1v a \u017ee ka\u017ed\u00e1 zpr\u00e1va p\u0159edstavuje samostatn\u00fd objekt. Vlastn\u00ed text se obvykle nach\u00e1z\u00ed v jasn\u011b rozpoznateln\u00e9m poli.<\/p>\n<p>Tato prvn\u00ed kontrola m\u00e1 d\u016fle\u017eit\u00fd \u00fa\u010del: pom\u016f\u017ee v\u00e1m pochopit, jak jsou va\u0161e data strukturovan\u00e1. Proto\u017ee v n\u00e1sleduj\u00edc\u00ed kapitole vyu\u017eijeme pr\u00e1v\u011b tuto strukturu k automatick\u00e9mu na\u010d\u00edt\u00e1n\u00ed konverzac\u00ed a jejich p\u0159\u00edprav\u011b pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m. Jin\u00fdmi slovy: Nyn\u00ed krok za krokem p\u0159em\u011b\u0148ujeme archiv technick\u00fdch dat na pou\u017eitelnou znalostn\u00ed b\u00e1zi. A pr\u00e1v\u011b s t\u00edm za\u010dneme v n\u00e1sleduj\u00edc\u00ed kapitole. Tam je c\u00edlem extrahovat data z rozhovor\u016f a p\u0159ipravit je tak, aby v nich bylo mo\u017en\u00e9 pozd\u011bji efektivn\u011b vyhled\u00e1vat.<\/p>\n<h2>P\u0159\u00edprava dat: Od rozhovor\u016f k analyzovateln\u00fdm text\u016fm<\/h2>\n<p>Po rozbalen\u00ed exportu dat ChatGPT v p\u0159edchoz\u00ed kapitole a z\u00edsk\u00e1n\u00ed prvotn\u00edho p\u0159ehledu o jeho struktu\u0159e za\u010d\u00edn\u00e1 vlastn\u00ed technick\u00e1 \u010d\u00e1st na\u0161eho projektu. Exportovan\u00e1 data jsou sice kompletn\u00ed, ale v t\u00e9to podob\u011b je\u0161t\u011b nejsou optim\u00e1ln\u011b vhodn\u00e1 pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m.<\/p>\n<p>D\u016fvod je jednoduch\u00fd: historie chatu jsou obvykle dlouh\u00e9, obsahuj\u00ed mnoho t\u00e9mat a jsou ulo\u017eeny ve struktu\u0159e, kter\u00e1 je pro \u010dlov\u011bka \u010diteln\u00e1, ale nen\u00ed ide\u00e1ln\u00ed pro s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed nebo vektorov\u00e9 datab\u00e1ze. Abychom na\u0161\u00ed um\u011bl\u00e9 inteligenci umo\u017enili pozd\u011bji naj\u00edt relevantn\u00ed obsah, mus\u00edme tato surov\u00e1 data nejprve zpracovat. To v podstat\u011b znamen\u00e1 t\u0159i v\u011bci:<\/p>\n<ol>\n<li>Extrakce konverzac\u00ed ze soubor\u016f JSON<\/li>\n<li>rozumn\u011b strukturovat texty<\/li>\n<li>rozd\u011blit obsah na men\u0161\u00ed \u010d\u00e1sti<\/li>\n<\/ol>\n<p>Tento proces je v modern\u00edch syst\u00e9mech um\u011bl\u00e9 inteligence zcela b\u011b\u017en\u00fdm krokem a \u010dasto se ozna\u010duje jako p\u0159edzpracov\u00e1n\u00ed.<\/p>\n<h3>Pro\u010d nejsou nezpracovan\u00e1 data p\u0159\u00edmo vhodn\u00e1<\/h3>\n<p>Pokud se pod\u00edv\u00e1te na jeden ze soubor\u016f JSON, zjist\u00edte, \u017ee jeden chat se \u010dasto skl\u00e1d\u00e1 z mnoha zpr\u00e1v. Typick\u00fd dialog m\u016f\u017ee vypadat nap\u0159\u00edklad takto:<\/p>\n<ul>\n<li>Ot\u00e1zka<\/li>\n<li>Odpov\u011b\u010f<\/li>\n<li>Popt\u00e1vka<\/li>\n<li>nov\u00e9 prohl\u00e1\u0161en\u00ed<\/li>\n<li>dal\u0161\u00ed podrobnosti<\/li>\n<li>Souhrn<\/li>\n<\/ul>\n<p>N\u011bkter\u00e9 konverzace mohou obsahovat stovky nebo dokonce tis\u00edce slov. Pro \u010dlov\u011bka to nen\u00ed probl\u00e9m. Jednodu\u0161e \u010dteme dialog odshora dol\u016f.<\/p>\n<p>Pro vyhled\u00e1v\u00e1n\u00ed pomoc\u00ed um\u011bl\u00e9 inteligence to v\u0161ak funguje h\u016f\u0159e. D\u016fvodem je to, \u017ee jeden chat \u010dasto obsahuje n\u011bkolik t\u00e9mat. Pokud pozd\u011bji prov\u00e1d\u00edme s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed, m\u011bl by syst\u00e9m naj\u00edt co nejp\u0159esn\u011bj\u0161\u00ed textov\u00e9 pas\u00e1\u017ee - nikoli cel\u00e9 konverzace s mno\u017estv\u00edm r\u016fzn\u00e9ho obsahu.<\/p>\n<p>Proto se rozs\u00e1hl\u00e9 texty \u010dlen\u00ed na men\u0161\u00ed \u010d\u00e1sti. Tyto \u010d\u00e1sti se naz\u00fdvaj\u00ed chunks. Odd\u00edl je jednodu\u0161e mal\u00fd blok textu, kter\u00fd obsahuje souvislou my\u0161lenku. Tato metoda v\u00fdrazn\u011b zlep\u0161uje kvalitu pozd\u011bj\u0161\u00edho vyhled\u00e1v\u00e1n\u00ed.<\/p>\n<h3>V\u00fdpis historie chatu<\/h3>\n<p>Prvn\u00edm praktick\u00fdm krokem je na\u010dten\u00ed obsahu ze soubor\u016f JSON. K tomu pou\u017eijeme mal\u00fd skript v jazyce Python. Jazyk Python je pro tyto \u00falohy obzvl\u00e1\u0161t\u011b vhodn\u00fd, proto\u017ee obsahuje mnoho knihoven pro zpracov\u00e1n\u00ed dat a um\u011blou inteligenci.<\/p>\n<p>Nejprve vytvo\u0159te nov\u00fd soubor, nap\u0159\u00edklad:<\/p>\n<p><code class=\"notranslate\" data-no-translation=\"\">extract_chats.py<\/code><\/p>\n<p>Pot\u00e9 p\u0159id\u00e1me jednoduch\u00fd skript, kter\u00fd na\u010dte data chatu.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">import json\r\nwith open(\"conversations.json\", \"r\", encoding=\"utf-8\") as f:\r\n  data = json.load(f)\r\nprint(\"Anzahl der Gespr\u00e4che:\", len(data))<\/pre>\n<p>Po spu\u0161t\u011bn\u00ed tohoto skriptu byste m\u011bli vid\u011bt, kolik konverzac\u00ed je obsa\u017eeno v exportu. Nyn\u00ed vyextrahujeme skute\u010dn\u00e9 texty.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">texts = []\r\nfor conversation in data:\r\n  if \"mapping\" in conversation:\r\n    for node in conversation[\"mapping\"].values():\r\n      message = node.get(\"message\")\r\n      if message:\r\n        content = message.get(\"content\")\r\n        if content and \"parts\" in content:\r\n          text = \" \".join(content[\"parts\"])\r\n          texts.append(text)\r\nprint(\"Extrahierte Textabschnitte:\", len(texts))<\/pre>\n<p>Tento skript proch\u00e1z\u00ed strukturu JSON a shroma\u017e\u010fuje v\u0161echny \u010d\u00e1sti textu z konverzac\u00ed. To znamen\u00e1, \u017ee jsme ji\u017e dokon\u010dili nejd\u016fle\u017eit\u011bj\u0161\u00ed \u010d\u00e1st: extrahovali jsme obsah z technick\u00e9ho form\u00e1tu exportu.<\/p>\n<h3>Vytv\u00e1\u0159en\u00ed \u010d\u00e1st\u00ed textu<\/h3>\n<p>Nyn\u00ed p\u0159ich\u00e1z\u00ed na \u0159adu dal\u0161\u00ed d\u016fle\u017eit\u00fd krok: rozd\u011blen\u00ed na \u010d\u00e1sti. M\u00edsto ukl\u00e1d\u00e1n\u00ed cel\u00fdch konverzac\u00ed rozd\u011bl\u00edme texty na men\u0161\u00ed \u00faseky.<br \/>\nTypick\u00e1 velikost takov\u00fdch textov\u00fdch odd\u00edl\u016f je 300 a\u017e 800 slov nebo p\u0159ibli\u017en\u011b 500 token\u016f. N\u00e1sleduje jednoduch\u00fd p\u0159\u00edklad rozd\u011blen\u00ed textu na \u010d\u00e1sti.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">def split_text(text, chunk_size=500):\r\n    words = text.split()\r\n    chunks = []\r\n    for i in range(0, len(words), chunk_size):\r\n        chunk = \" \".join(words[i:i+chunk_size])\r\n        chunks.append(chunk)\r\n    return chunks<\/pre>\n<p>Nyn\u00ed m\u016f\u017eeme tuto funkci pou\u017e\u00edt na na\u0161e texty.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">all_chunks = []\r\nfor text in texts:\r\n    chunks = split_text(text)\r\n    all_chunks.extend(chunks)\r\nprint(\"Gesamtzahl der Chunks:\", len(all_chunks))<\/pre>\n<p>Nyn\u00ed jsme z historie chatu vytvo\u0159ili mnoho men\u0161\u00edch textov\u00fdch sekc\u00ed. Tyto textov\u00e9 bloky jsou ide\u00e1ln\u00ed pro pozd\u011bj\u0161\u00ed vyhled\u00e1v\u00e1n\u00ed ve vektorov\u00e9 datab\u00e1zi.<\/p>\n<h3>P\u0159id\u00e1n\u00ed metadat<\/h3>\n<p>Krom\u011b vlastn\u00edho textu mohou b\u00fdt velmi u\u017eite\u010dn\u00e9 i dal\u0161\u00ed informace. Tato takzvan\u00e1 metadata n\u00e1m pozd\u011bji pom\u00e1haj\u00ed l\u00e9pe t\u0159\u00eddit nebo filtrovat obsah. Typick\u00fdmi metadaty mohou b\u00fdt<\/p>\n<ul>\n<li>Datum rozhovoru<\/li>\n<li>N\u00e1zev konverzace<\/li>\n<li>Zdroj (ChatGPT Export)<\/li>\n<li>ID hovoru<\/li>\n<\/ul>\n<p>Tyto informace m\u016f\u017eeme ulo\u017eit spole\u010dn\u011b s textem, nap\u0159\u00edklad takto:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">documents = []\r\nfor conversation in data:\r\n    title = conversation.get(\"title\", \"Unbekannt\")\r\n    if \"mapping\" in conversation:\r\n        for node in conversation[\"mapping\"].values():\r\n            message = node.get(\"message\")\r\n            if message:\r\n                content = message.get(\"content\")\r\n                if content and \"parts\" in content:\r\n                    text = \" \".join(content[\"parts\"])\r\n                    chunks = split_text(text)\r\n                    for chunk in chunks:\r\n                        documents.append({\r\n                            \"text\": chunk,\r\n                            \"title\": title\r\n                         })<\/pre>\n<p>D\u00edky tomu ji\u017e maj\u00ed na\u0161e data mnohem lep\u0161\u00ed strukturu. Nam\u00edsto nep\u0159ehledn\u00e9ho archivu chat\u016f m\u00e1me nyn\u00ed soubor mnoha mal\u00fdch textov\u00fdch odd\u00edl\u016f, z nich\u017e ka\u017ed\u00fd je opat\u0159en kontextov\u00fdmi informacemi.<\/p>\n<p>Pr\u00e1v\u011b tato struktura bude v dal\u0161\u00edm kroku kl\u00ed\u010dov\u00e1. Nyn\u00ed toti\u017e m\u016f\u017eeme z t\u011bchto text\u016f za\u010d\u00edt generovat embeddingy - tedy matematick\u00e9 reprezentace obsahu, kter\u00e9 budou pozd\u011bji ulo\u017eeny v na\u0161\u00ed vektorov\u00e9 datab\u00e1zi. A pr\u00e1v\u011b o tom bude n\u00e1sleduj\u00edc\u00ed kapitola.<\/p>\n<h2>Vytvo\u0159en\u00ed vlo\u017een\u00fdch polo\u017eek<\/h2>\n<p>V p\u0159edchoz\u00ed kapitole jsme ji\u017e uvedli na\u0161e data z ChatGPT do pou\u017eiteln\u00e9 podoby. Ze soubor\u016f JSON jsme extrahovali konverzace, vy\u010distili texty a rozd\u011blili je na men\u0161\u00ed \u00faseky - tzv. chunky.<\/p>\n<p>K tomu, aby na\u0161e um\u011bl\u00e1 inteligence mohla skute\u010dn\u011b smyslupln\u011b vyhled\u00e1vat obsah, v\u0161ak st\u00e1le chyb\u00ed jeden z\u00e1sadn\u00ed krok. Texty je t\u0159eba p\u0159elo\u017eit do podoby, kterou mohou stroje porovn\u00e1vat. Zde p\u0159ich\u00e1zej\u00ed ke slovu vlo\u017een\u00e9 texty.<\/p>\n<p>Vlo\u017een\u00e9 texty jsou matematickou reprezentac\u00ed text\u016f. Umo\u017e\u0148uj\u00ed po\u010d\u00edta\u010d\u016fm porovn\u00e1vat v\u00fdznam text\u016f. Dva texty s podobn\u00fdm obsahem dost\u00e1vaj\u00ed podobn\u00e9 vektory - i kdy\u017e pou\u017e\u00edvaj\u00ed r\u016fzn\u00e1 slova. Pr\u00e1v\u011b tuto vlastnost pot\u0159ebujeme pro n\u00e1\u0161 znalostn\u00ed syst\u00e9m. Na\u0161e um\u011bl\u00e1 inteligence by p\u0159ece nem\u011bla vyhled\u00e1vat pouze shodn\u00e1 slova, ale tak\u00e9 texty se shodn\u00fdm obsahem.<\/p>\n<h3>Co jsou to vlo\u017een\u00e1 data<\/h3>\n<p>Vlo\u017een\u00ed je v podstat\u011b seznam \u010d\u00edsel. Tato \u010d\u00edsla popisuj\u00ed v\u00fdznam textu v matematick\u00e9m prostoru. Ka\u017ed\u00fd text je p\u0159eveden na tzv. vektor. Takov\u00fd vektor m\u016f\u017ee vypadat nap\u0159\u00edklad takto:<\/p>\n<p><code data-no-translation=\"\">[0.134, -0.876, 0.442, 0.921, -0.223, ...]<\/code><\/p>\n<p>Jeden vektor m\u016f\u017ee obsahovat n\u011bkolik set nebo dokonce tis\u00edc \u010d\u00edsel. Tato \u010d\u00edsla samoz\u0159ejm\u011b nejsou pro \u010dlov\u011bka p\u0159\u00edmo srozumiteln\u00e1. Pro stroje jsou v\u0161ak ide\u00e1ln\u00ed pro v\u00fdpo\u010det podobnost\u00ed mezi texty. Pokud maj\u00ed dva texty podobn\u00fd obsah, jsou si jejich vektory v matematick\u00e9m prostoru bl\u00ed\u017ee. P\u0159\u00edklad:<\/p>\n<ul>\n<li><strong>Text A<\/strong>\u201eJak mohu exportovat data ChatGPT?\u201c<\/li>\n<li><strong>Text B<\/strong>: \u201eJak st\u00e1hnu sv\u00e9 konverzace z ChatGPT?\u201c<\/li>\n<\/ul>\n<p>A\u010dkoli se formulace li\u0161\u00ed, oba texty v podstat\u011b popisuj\u00ed stejn\u00e9 t\u00e9ma. Dobr\u00fd vkl\u00e1dac\u00ed model tuto podobnost rozpozn\u00e1. Oba texty proto dostanou podobn\u00e9 vektory. P\u0159esn\u011b tento princip vyu\u017eijeme pozd\u011bji pro na\u0161e s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed.<\/p>\n<h3>Vkl\u00e1d\u00e1n\u00ed model\u016f s Ollama<\/h3>\n<p>K vytvo\u0159en\u00ed vno\u0159en\u00ed pot\u0159ebujeme speci\u00e1ln\u00ed model. Na\u0161t\u011bst\u00ed k tomu nemus\u00edme pou\u017e\u00edvat extern\u00ed cloudov\u00e9 slu\u017eby. Mnoho model\u016f pro vkl\u00e1d\u00e1n\u00ed lze nyn\u00ed provozovat lok\u00e1ln\u011b - a pr\u00e1v\u011b zde p\u0159ich\u00e1z\u00ed ke slovu Ollama.<\/p>\n<p>Proto\u017ee v syst\u00e9mu ji\u017e b\u011b\u017e\u00ed Ollama, m\u016f\u017eeme do n\u011bj vlo\u017eit model install. Velmi dobr\u00fdm modelem je nap\u0159:<\/p>\n<p><code data-no-translation=\"\">nomic-embed-text<\/code><\/p>\n<p>M\u016f\u017eete jej zkrotit pomoc\u00ed n\u00e1sleduj\u00edc\u00edho p\u0159\u00edkazu 1TP12:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama pull nomic-embed-text<\/pre>\n<p>Dal\u0161\u00ed obl\u00edben\u00e9 modely jsou<\/p>\n<ul>\n<li>mxbai-embed-large<\/li>\n<li>bge-large<\/li>\n<li>all-minilm<\/li>\n<\/ul>\n<p>Pro na\u0161e \u00fa\u010dely <em>nomic-embed-text<\/em> je velmi dobr\u00fdm v\u00fdchoz\u00edm bodem. Tento model generuje vysoce kvalitn\u00ed embeddingy a b\u011b\u017e\u00ed lok\u00e1ln\u011b bez jak\u00fdchkoli probl\u00e9m\u016f.<\/p>\n<h3>Vytvo\u0159en\u00ed lok\u00e1ln\u00edch vlo\u017een\u00ed<\/h3>\n<p>Nyn\u00ed chceme roz\u0161\u00ed\u0159it n\u00e1\u0161 skript v jazyce Python tak, aby mohl generovat vlo\u017een\u00e9 soubory. Nejprve 1TP12Vytvo\u0159\u00edme knihovnu, pomoc\u00ed kter\u00e9 m\u016f\u017ee Python komunikovat s Ollama.<\/p>\n<p>pip install ollama<\/p>\n<p>Nyn\u00ed se m\u016f\u017eeme zab\u00fdvat modelem vkl\u00e1d\u00e1n\u00ed p\u0159\u00edmo z jazyka Python. N\u00e1sleduje jednoduch\u00fd p\u0159\u00edklad:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">import ollama\r\nresponse = ollama.embeddings(\r\n    model=\"nomic-embed-text\",\r\n    prompt=\"Wie exportiere ich meine ChatGPT-Daten?\"\r\n)\r\nprint(len(response[\"embedding\"]))<\/pre>\n<p>Pokud v\u0161e fungovalo, z\u00edsk\u00e1te vektor s n\u011bkolika stovkami \u010d\u00edsel.<br \/>\nNyn\u00ed to aplikujme na na\u0161e chatovac\u00ed chunky.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">embeddings = []\r\nfor doc in documents:\r\n    text = doc[\"text\"]\r\n    result = ollama.embeddings(\r\n        model=\"nomic-embed-text\",\r\n        prompt=text\r\n    )\r\n    vector = result[\"embedding\"]\r\n    embeddings.append({\r\n        \"text\": text,\r\n        \"embedding\": vector,\r\n        \"title\": doc[\"title\"]\r\n    })<\/pre>\n<p>Pomoc\u00ed n\u011bj vytvo\u0159\u00edme vektor pro ka\u017edou \u010d\u00e1st textu. Tyto vektory se pozd\u011bji ulo\u017e\u00ed do na\u0161\u00ed datab\u00e1ze.<\/p>\n<h3>Pro\u010d je tento krok kl\u00ed\u010dov\u00fd<\/h3>\n<p>Z\u00e1kladem modern\u00edch znalostn\u00edch syst\u00e9m\u016f jsou embeddings. Bez embedding\u016f bychom mohli v textech vyhled\u00e1vat pouze pomoc\u00ed klasick\u00e9ho vyhled\u00e1v\u00e1n\u00ed kl\u00ed\u010dov\u00fdch slov. To by znamenalo, \u017ee by syst\u00e9m na\u0161el pouze obsah, kter\u00fd obsahuje p\u0159esn\u011b stejn\u00e1 slova. Jazyk v\u0161ak m\u00e1lokdy funguje takto jednodu\u0161e. U\u017eivatel se m\u016f\u017ee nap\u0159\u00edklad zeptat:<\/p>\n<blockquote><p><em>\u201eJak jsem zpracov\u00e1val data ChatGPT?\u201c<\/em><\/p><\/blockquote>\n<p>P\u016fvodn\u00ed rozhovor by se v\u0161ak dal formulovat takto:<\/p>\n<blockquote><p><em>\u201eJak mohu analyzovat export dat z aplikace ChatGPT?\u201c<\/em><\/p><\/blockquote>\n<p>Jednoduch\u00e9 vyhled\u00e1v\u00e1n\u00ed by tuto souvislost nemuselo rozpoznat. S vlo\u017een\u00fdmi slovy je to jinak. Proto\u017ee oba texty maj\u00ed podobn\u00fd v\u00fdznam, jejich vektory jsou si v matematick\u00e9m prostoru bl\u00edzk\u00e9. Na\u0161e datab\u00e1ze proto dok\u00e1\u017ee naj\u00edt shodn\u00fd obsah, i kdy\u017e se jejich zn\u011bn\u00ed li\u0161\u00ed. Pr\u00e1v\u011b tato schopnost \u010din\u00ed s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed tak mocn\u00fdm. Umo\u017e\u0148uje um\u011bl\u00e9 inteligenci vyhled\u00e1vat nejen slova, ale i v\u00fdznamy.<\/p>\n<p>A pr\u00e1v\u011b proto jsou embeddingy \u00fast\u0159edn\u00edm stavebn\u00edm prvkem na\u0161eho syst\u00e9mu. V p\u0159\u00ed\u0161t\u00ed kapitole na n\u011bj nav\u00e1\u017eeme a installieren na\u0161i datab\u00e1zi vektor\u016f. V n\u00ed budeme ukl\u00e1dat vygenerovan\u00e9 vektory - a vytvo\u0159\u00edme tak z\u00e1klad pro na\u0161i osobn\u00ed znalostn\u00ed UI.<\/p>\n<h2>Qdrant 1TP12P\u0159id\u00e1n\u00ed a konfigurace<\/h2>\n<p>Pot\u00e9, co jsme v p\u0159edchoz\u00ed kapitole vytvo\u0159ili vlo\u017een\u00e1 data pro n\u00e1\u0161 chat, m\u00e1me nyn\u00ed k dispozici kolekci textov\u00fdch \u00fasek\u016f a souvisej\u00edc\u00edch vektor\u016f. Tyto vektory matematicky popisuj\u00ed v\u00fdznam text\u016f a tvo\u0159\u00ed tak z\u00e1klad pro s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed. Tato data jsou v\u0161ak v sou\u010dasn\u00e9 dob\u011b k dispozici pouze v pracovn\u00ed pam\u011bti na\u0161eho skriptu nebo v jednoduch\u00fdch seznamech. Pot\u0159ebujeme specializovanou pam\u011b\u0165, aby k nim na\u0161e um\u011bl\u00e1 inteligence mohla pozd\u011bji efektivn\u011b p\u0159istupovat.<\/p>\n<p>Pr\u00e1v\u011b zde p\u0159ich\u00e1z\u00ed ke slovu vektorov\u00e1 datab\u00e1ze. Vektorov\u00e1 datab\u00e1ze je optimalizov\u00e1na pro ukl\u00e1d\u00e1n\u00ed velk\u00e9ho mno\u017estv\u00ed takov\u00fdch vlo\u017een\u00fdch dat a rychl\u00e9 vyhled\u00e1v\u00e1n\u00ed podobn\u00fdch vektor\u016f. Pro n\u00e1\u0161 projekt pou\u017e\u00edv\u00e1me Qdrant, modern\u00ed open-source datab\u00e1zi, kter\u00e1 byla vyvinuta speci\u00e1ln\u011b pro aplikace um\u011bl\u00e9 inteligence.<\/p>\n<p>V t\u00e9to kapitole 1TP12 nainstalujeme Qdrant, spust\u00edme server a p\u0159iprav\u00edme datab\u00e1zi, abychom mohli pozd\u011bji snadno importovat data chatu.<\/p>\n<h3>Co je Qdrant<\/h3>\n<p>Qdrant je specializovan\u00e1 datab\u00e1ze pro tzv. vektorov\u00e9 vyhled\u00e1v\u00e1n\u00ed. Zat\u00edmco tradi\u010dn\u00ed datab\u00e1ze ukl\u00e1daj\u00ed informace v tabulk\u00e1ch - nap\u0159\u00edklad jm\u00e9na, \u010d\u00edsla nebo texty - vektorov\u00e1 datab\u00e1ze pracuje s matematickou reprezentac\u00ed dat.<\/p>\n<p>To znamen\u00e1, \u017ee Qdrant neukl\u00e1d\u00e1 pouze text, ale i souvisej\u00edc\u00ed vlo\u017een\u00e9 soubory. Velk\u00e1 v\u00fdhoda spo\u010d\u00edv\u00e1 ve vyhled\u00e1v\u00e1n\u00ed. Pokud je ot\u00e1zka polo\u017eena pozd\u011bji, n\u00e1\u0161 syst\u00e9m p\u0159evede i tuto ot\u00e1zku na vektor. Qdrant pak dok\u00e1\u017ee bleskovou rychlost\u00ed vypo\u010d\u00edtat, kter\u00e9 ulo\u017een\u00e9 texty jsou tomuto vektoru nejpodobn\u011bj\u0161\u00ed. D\u00edky tomu je mo\u017en\u00e9 zjistit nap\u0159:<\/p>\n<ul>\n<li>kter\u00e9 pas\u00e1\u017ee chatu tematicky odpov\u00eddaj\u00ed ot\u00e1zce<\/li>\n<li>kter\u00e9 p\u0159edchoz\u00ed konverzace obsahuj\u00ed podobn\u00fd obsah<\/li>\n<li>kter\u00e9 my\u0161lenky by mohly b\u00fdt relevantn\u00ed ve va\u0161em archivu<\/li>\n<\/ul>\n<p>Pr\u00e1v\u011b proto se dnes Qdrant pou\u017e\u00edv\u00e1 v mnoha modern\u00edch syst\u00e9mech um\u011bl\u00e9 inteligence - od vyhled\u00e1v\u00e1n\u00ed dokument\u016f a\u017e po komplexn\u00ed znalostn\u00ed asistenty. Dal\u0161\u00ed v\u00fdhoda: Qdrant je open source, je rychle 1TP12izov\u00e1n a b\u011b\u017e\u00ed bez probl\u00e9m\u016f na b\u011b\u017en\u00e9m lok\u00e1ln\u00edm po\u010d\u00edta\u010di.<\/p>\n<h3>Instalace syst\u00e9mu Qdrant<\/h3>\n<p>Nejjednodu\u0161\u0161\u00ed zp\u016fsob, jak installieren Qdrant pou\u017e\u00edvat, je prost\u0159ednictv\u00edm n\u00e1stroje Docker. Pokud je na va\u0161em po\u010d\u00edta\u010di k dispozici Docker, m\u016f\u017eete server spustit jedin\u00fdm p\u0159\u00edkazem. Zde m\u016f\u017eete <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\"><strong>St\u00e1hnout Docker<\/strong><\/a>, pokud jste jej je\u0161t\u011b nenainstalovali do sv\u00e9ho po\u010d\u00edta\u010de installiert.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 qdrant\/qdrant<\/pre>\n<p>Tento p\u0159\u00edkaz spust\u00ed server Qdrant a otev\u0159e standardn\u00ed port 6333. Na\u0161e skripty mohou pozd\u011bji komunikovat s datab\u00e1z\u00ed prost\u0159ednictv\u00edm tohoto portu.<\/p>\n<p>Pokud nechcete pou\u017e\u00edvat Docker, existuj\u00ed i jin\u00e9 zp\u016fsoby, jak installiere Qdrant spustit, nap\u0159\u00edklad prost\u0159ednictv\u00edm m\u00edstn\u00ed bin\u00e1rky nebo spr\u00e1vce bal\u00ed\u010dk\u016f. V mnoha praktick\u00fdch projektech se v\u0161ak Docker uk\u00e1zal jako nejjednodu\u0161\u0161\u00ed a nejstabiln\u011bj\u0161\u00ed mo\u017enost.<\/p>\n<p>Po spu\u0161t\u011bn\u00ed serveru b\u011b\u017e\u00ed Qdrant na pozad\u00ed a \u010dek\u00e1 na po\u017eadavky. Nyn\u00ed m\u016f\u017eete otestovat, zda je server p\u0159\u00edstupn\u00fd. Za t\u00edmto \u00fa\u010delem otev\u0159ete v prohl\u00ed\u017ee\u010di n\u00e1sleduj\u00edc\u00ed adresu:<\/p>\n<p><code data-no-translation=\"\">http:\/\/localhost:6333<\/code><\/p>\n<p>Pokud v\u0161e funguje, m\u011bla by se zobrazit jednoduch\u00e1 stavov\u00e1 zpr\u00e1va. Server je nyn\u00ed p\u0159ipraven k dal\u0161\u00edm krok\u016fm.<\/p>\n<h3>Prvn\u00ed kroky s Qdrant<\/h3>\n<p>Ne\u017e budeme moci importovat data chatu, mus\u00edme vytvo\u0159it tzv. kolekci. V Qdrantu je kolekce srovnateln\u00e1 s tabulkou v klasick\u00e9 datab\u00e1zi. Obsahuje na\u0161e vektory a odpov\u00eddaj\u00edc\u00ed data.<\/p>\n<p>Nejprve jsme installiere knihovnu Python pro Qdrant:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install qdrant-client<\/pre>\n<p>Nyn\u00ed m\u016f\u017eeme v na\u0161em skriptu Python nav\u00e1zat spojen\u00ed s datab\u00e1z\u00ed.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">from qdrant_client import QdrantClient\r\nclient = QdrantClient(\"localhost\", port=6333)<\/pre>\n<p>Pokud se tento k\u00f3d provede bez chybov\u00e9 zpr\u00e1vy, je p\u0159ipojen\u00ed \u00fasp\u011b\u0161n\u00e9. Nyn\u00ed vytvo\u0159\u00edme kolekci pro na\u0161e data chatu.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">from qdrant_client.models import VectorParams, Distance\r\nclient.recreate_collection(\r\ncollection_name=\"chatgpt_archive\",\r\nvectors_config=VectorParams(size=768, distance=Distance.COSINE),\r\n)<\/pre>\n<p>Nejd\u016fle\u017eit\u011bj\u0161\u00edmi parametry jsou<\/p>\n<ul>\n<li><strong>collection_name<\/strong> - n\u00e1zev na\u0161\u00ed datab\u00e1ze<\/li>\n<li><strong>velikost<\/strong> - d\u00e9lka vektor\u016f vlo\u017een\u00ed<\/li>\n<li><strong>vzd\u00e1lenost<\/strong> - metoda v\u00fdpo\u010dtu podobnosti<\/li>\n<\/ul>\n<p>Velikost vektoru z\u00e1vis\u00ed na pou\u017eit\u00e9m modelu vkl\u00e1d\u00e1n\u00ed. Mnoho model\u016f pracuje s vektory o rozm\u011brech 768 nebo 1024. Funkce kosinov\u00e9 vzd\u00e1lenosti je jednou z nejb\u011b\u017en\u011bj\u0161\u00edch metod pro v\u00fdpo\u010det podobnost\u00ed mezi texty. To znamen\u00e1, \u017ee na\u0161e datab\u00e1ze je ji\u017e p\u0159ipravena k pou\u017eit\u00ed.<\/p>\n<h3>Struktura dat pl\u00e1nu<\/h3>\n<p>Ne\u017e za\u010dneme importovat data, je vhodn\u00e9 se rychle pod\u00edvat na strukturu, kterou chceme ulo\u017eit. Ka\u017ed\u00e1 polo\u017eka v na\u0161\u00ed vektorov\u00e9 datab\u00e1zi se bude skl\u00e1dat z n\u011bkolika slo\u017eek:<\/p>\n<ul>\n<li><strong>ID<\/strong> - jedine\u010dn\u00fd identifik\u00e1tor<\/li>\n<li><strong>Vkl\u00e1d\u00e1n\u00ed<\/strong> - vektor textu<\/li>\n<li><strong>U\u017eite\u010dn\u00e9 zat\u00ed\u017een\u00ed<\/strong> - Dal\u0161\u00ed informace o textu<\/li>\n<\/ul>\n<p>U\u017eite\u010dn\u00e9 zat\u00ed\u017een\u00ed m\u016f\u017ee obsahovat nap\u0159\u00edklad<\/p>\n<ul>\n<li>p\u016fvodn\u00ed text<\/li>\n<li>n\u00e1zev rozhovoru<\/li>\n<li>datum<\/li>\n<li>dal\u0161\u00ed metadata<\/li>\n<\/ul>\n<p>P\u0159\u00edklad datov\u00e9ho z\u00e1znamu m\u016f\u017ee vypadat takto:<\/p>\n<p><code data-no-translation=\"\">{<br \/>\n\"id\": 1,<br \/>\n\"vector\": [0.123, -0.452, 0.889, ...],<br \/>\n\"payload\": {<br \/>\n\"text\": \"Wie kann ich meinen ChatGPT-Datenexport analysieren?\",<br \/>\n\"title\": \"Datenanalyse\"<br \/>\n}<br \/>\n}<\/code><\/p>\n<p>Tato struktura m\u00e1 jednu velkou v\u00fdhodu. Vektory slou\u017e\u00ed k s\u00e9mantick\u00e9mu vyhled\u00e1v\u00e1n\u00ed, zat\u00edmco u\u017eite\u010dn\u00e9 zat\u00ed\u017een\u00ed obsahuje v\u0161echny informace, kter\u00e9 chceme pozd\u011bji zobrazit nebo analyzovat. To znamen\u00e1, \u017ee n\u00e1\u0161 syst\u00e9m z\u016fst\u00e1v\u00e1 flexibiln\u00ed a m\u016f\u017ee b\u00fdt pozd\u011bji snadno roz\u0161\u00ed\u0159en.<\/p>\n<p>To znamen\u00e1, \u017ee nejd\u016fle\u017eit\u011bj\u0161\u00ed \u010d\u00e1st infrastruktury je ji\u017e p\u0159ipravena. N\u00e1\u0161 server Qdrant b\u011b\u017e\u00ed, datab\u00e1ze je nastavena a v\u00edme, jakou strukturu budou m\u00edt na\u0161e data. V n\u00e1sleduj\u00edc\u00ed kapitole za\u010dneme s kl\u00ed\u010dov\u00fdm krokem: importujeme na\u0161e data ChatGPT do datab\u00e1ze a p\u0159em\u011bn\u00edme n\u00e1\u0161 archiv konverzac\u00ed na skute\u010dnou znalostn\u00ed datab\u00e1zi, ve kter\u00e9 lze vyhled\u00e1vat.<\/p>\n<h2>Import dat ChatGPT do Qdrant<\/h2>\n<p>Nyn\u00ed, kdy\u017e jsme v p\u0159edchoz\u00ed kapitole vytvo\u0159ili Qdrant installiert a kolekci, byl vytvo\u0159en technick\u00fd z\u00e1klad na\u0161\u00ed znalostn\u00ed datab\u00e1ze. Na\u0161e embeddings ji\u017e existuj\u00ed - vytvo\u0159ili jsme je z dat ChatGPT - a Qdrant b\u011b\u017e\u00ed jako datab\u00e1zov\u00fd server na na\u0161em po\u010d\u00edta\u010di.<\/p>\n<p>Nyn\u00ed p\u0159ich\u00e1z\u00ed kl\u00ed\u010dov\u00fd krok: na\u010dteme na\u0161e data do datab\u00e1ze. Ulo\u017e\u00edme nejen samotn\u00e9 vektory, ale tak\u00e9 souvisej\u00edc\u00ed texty a metadata. Tato kombinace umo\u017en\u00ed na\u0161\u00ed um\u011bl\u00e9 inteligenci pozd\u011bji naj\u00edt relevantn\u00ed obsah a pou\u017e\u00edt ho v odpov\u011bd\u00edch. V t\u00e9to kapitole vytvo\u0159\u00edme vlastn\u00ed znalostn\u00ed b\u00e1zi na\u0161eho syst\u00e9mu.<\/p>\n<h3>Ulo\u017een\u00ed vlo\u017een\u00fdch soubor\u016f<\/h3>\n<p>Nejprve je t\u0159eba p\u0159en\u00e9st na\u0161e vygenerovan\u00e1 vlo\u017een\u00ed do datab\u00e1ze. Ka\u017ed\u00fd z\u00e1znam v Qdrantu se skl\u00e1d\u00e1 ze t\u0159\u00ed slo\u017eek:<\/p>\n<ul>\n<li>ID<\/li>\n<li>vektor (vlo\u017een\u00ed)<\/li>\n<li>u\u017eite\u010dn\u00e9 zat\u00ed\u017een\u00ed s dal\u0161\u00edmi \u00fadaji<\/li>\n<\/ul>\n<p>V na\u0161em p\u0159\u00edpad\u011b nap\u0159\u00edklad u\u017eite\u010dn\u00e9 zat\u00ed\u017een\u00ed obsahuje<\/p>\n<ul>\n<li>textov\u00e1 \u010d\u00e1st<\/li>\n<li>n\u00e1zev rozhovoru<\/li>\n<li>P\u0159\u00edpadn\u011b dal\u0161\u00ed metadata<\/li>\n<\/ul>\n<p>V jazyce Python m\u016f\u017eeme tuto strukturu p\u0159ipravit pom\u011brn\u011b snadno. P\u0159\u00edklad:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">points = []\r\nfor idx, item in enumerate(embeddings):\r\npoints.append({\r\n\"id\": idx,\r\n\"vector\": item[\"embedding\"],\r\n\"payload\": {\r\n\"text\": item[\"text\"],\r\n\"title\": item[\"title\"]\r\n}\r\n})<\/pre>\n<p>T\u00edm se vygeneruje seznam datov\u00fdch bod\u016f, kter\u00e9 pak m\u016f\u017eeme ulo\u017eit do Qdrantu. Ka\u017ed\u00fd datov\u00fd bod tedy obsahuje textovou \u010d\u00e1st, p\u0159\u00edslu\u0161n\u00fd vektor a dal\u0161\u00ed kontextov\u00e9 informace. Tato struktura bude pozd\u011bji tvo\u0159it z\u00e1klad na\u0161eho s\u00e9mantick\u00e9ho vyhled\u00e1v\u00e1n\u00ed.<\/p>\n<h3>Vytvo\u0159en\u00ed importn\u00edho skriptu<\/h3>\n<p>Nyn\u00ed p\u0159ipoj\u00edme n\u00e1\u0161 skript Python ke Qdrantu a p\u0159eneseme data. K tomu pou\u017eijeme klienta Qdrant Python, kter\u00fd jsme rozebrali v p\u0159edchoz\u00ed kapitole 1TP12. Import m\u016f\u017ee vypadat nap\u0159\u00edklad takto:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">from qdrant_client import QdrantClient\r\nfrom qdrant_client.models import PointStruct\r\nclient = QdrantClient(\"localhost\", port=6333)\r\npoints = []\r\nfor idx, item in enumerate(embeddings):\r\npoint = PointStruct(\r\nid=idx,\r\nvector=item[\"embedding\"],\r\npayload={\r\n\"text\": item[\"text\"],\r\n\"title\": item[\"title\"]\r\n}\r\n)\r\npoints.append(point)\r\nclient.upsert(\r\ncollection_name=\"chatgpt_archive\",\r\npoints=points\r\n)\r\nprint(\"Import abgeschlossen:\", len(points), \"Datens\u00e4tze gespeichert.\")<\/pre>\n<p>P\u0159\u00edkaz upsert zajist\u00ed ulo\u017een\u00ed dat do kolekce. Pokud ID ji\u017e existuje, polo\u017eka se aktualizuje. V opa\u010dn\u00e9m p\u0159\u00edpad\u011b je vytvo\u0159en nov\u00fd datov\u00fd z\u00e1znam. V z\u00e1vislosti na velikosti exportu ChatGPT m\u016f\u017ee tento import trvat n\u011bkolik sekund nebo minut. U v\u011bt\u0161\u00edch soubor\u016f dat - nap\u0159\u00edklad n\u011bkolika tis\u00edc textov\u00fdch \u00fasek\u016f - je to zcela norm\u00e1ln\u00ed.<\/p>\n<h3>Testovac\u00ed datab\u00e1ze<\/h3>\n<p>Po dokon\u010den\u00ed importu bychom m\u011bli zkontrolovat, zda byla na\u0161e data spr\u00e1vn\u011b ulo\u017eena. Nejjednodu\u0161\u0161\u00edm testem je prov\u00e9st vektorov\u00e9 vyhled\u00e1v\u00e1n\u00ed. Za t\u00edmto \u00fa\u010delem nejprve vytvo\u0159\u00edme vlo\u017een\u00ed pro testovac\u00ed ot\u00e1zku.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">query = \"Wie kann ich ChatGPT-Daten analysieren?\"\r\nquery_vector = ollama.embeddings(\r\nmodel=\"nomic-embed-text\",\r\nprompt=query\r\n)[\"embedding\"]<\/pre>\n<p>Nyn\u00ed m\u016f\u017eeme v Qdrantu hledat podobn\u00e9 vektory.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">search_result = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=3\r\n)<\/pre>\n<p>Tento p\u0159\u00edkaz vr\u00e1t\u00ed t\u0159i nejpodobn\u011bj\u0161\u00ed \u00faseky textu z na\u0161\u00ed datab\u00e1ze. M\u016f\u017eeme je vypsat nap\u0159\u00edklad takto:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">for result in search_result:\r\nprint(result.payload[\"text\"])\r\nprint(\"---\")<\/pre>\n<p>Pokud v\u0161e funguje, zobraz\u00ed se nyn\u00ed \u010d\u00e1sti chatu z va\u0161eho archivu, kter\u00e9 odpov\u00eddaj\u00ed vyhled\u00e1vac\u00edmu dotazu. Nyn\u00ed v\u00edme: Na\u0161e datab\u00e1ze funguje.<\/p>\n<h3>Prvn\u00ed hodnocen\u00ed v\u00fdkonu<\/h3>\n<p>Tento moment je jedn\u00edm z nejzaj\u00edmav\u011bj\u0161\u00edch aspekt\u016f cel\u00e9ho projektu. Poprv\u00e9 je z\u0159ejm\u00e9, \u017ee n\u00e1\u0161 chatov\u00fd archiv lze skute\u010dn\u011b vyu\u017e\u00edt jako zdroj znalost\u00ed. Nyn\u00ed si m\u016f\u017eete vyzkou\u0161et r\u016fzn\u00e9 vyhled\u00e1vac\u00ed dotazy. Nap\u0159\u00edklad<\/p>\n<ul>\n<li>\u201e\u010cl\u00e1nek o um\u011bl\u00e9 inteligenci\u201c<\/li>\n<li>\u201eSyst\u00e9m RAG\u201c<\/li>\n<li>\u201eExport dat ChatGPT\u201c<\/li>\n<li>\u201eN\u00e1pad na strategii\u201c<\/li>\n<\/ul>\n<p>V z\u00e1vislosti na obsahu historie chatu vyhled\u00e1 Qdrant vhodn\u00e9 pas\u00e1\u017ee textu. N\u011bkdy budete p\u0159ekvapeni, jak\u00fd obsah se znovu objev\u00ed. Konverzace, na kter\u00e9 jste ji\u017e d\u00e1vno zapomn\u011bli, mohou b\u00fdt najednou op\u011bt d\u016fle\u017eit\u00e9. Z toho jasn\u011b vypl\u00fdv\u00e1, pro\u010d je takov\u00fd p\u0159\u00edstup tak zaj\u00edmav\u00fd. Va\u0161e star\u00e9 konverzace s um\u011blou inteligenc\u00ed u\u017e nejsou jen archivem. St\u00e1vaj\u00ed se prohled\u00e1vatelnou znalostn\u00ed datab\u00e1z\u00ed.<\/p>\n<p>Dos\u00e1hli jsme tak d\u016fle\u017eit\u00e9ho miln\u00edku. Na\u0161e data ChatGPT jsou nyn\u00ed pln\u011b ulo\u017eena ve vektorov\u00e9 datab\u00e1zi a lze v nich s\u00e9manticky vyhled\u00e1vat. V n\u00e1sleduj\u00edc\u00ed kapitole postoup\u00edme o krok d\u00e1le: propoj\u00edme na\u0161i znalostn\u00ed datab\u00e1zi se samotnou UI. To umo\u017en\u00ed jazykov\u00e9mu modelu v budoucnu p\u0159istupovat k t\u011bmto dat\u016fm a zahrnovat je p\u0159\u00edmo do odpov\u011bd\u00ed.<\/p>\n<figure id=\"attachment_5470\" aria-describedby=\"caption-attachment-5470\" style=\"width: 2550px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5470\" src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-scaled.jpg\" alt=\"Qdrant Dashboard na adrese http:\/\/localhost:6333\/dashboard\" width=\"2560\" height=\"1786\" srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-scaled.jpg 2560w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-300x209.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-1024x714.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-768x536.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-1536x1071.jpg 1536w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-2048x1429.jpg 2048w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-18x12.jpg 18w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-5470\" class=\"wp-caption-text\">Qdrant Dashboard na adrese http:\/\/localhost:6333\/dashboard<\/figcaption><\/figure>\n<h2>Propojen\u00ed um\u011bl\u00e9 inteligence s datab\u00e1z\u00ed znalost\u00ed<\/h2>\n<p>Do t\u00e9to chv\u00edle jsme ji\u017e vybudovali velkou \u010d\u00e1st infrastruktury. Na\u0161e data ChatGPT byla extrahov\u00e1na z exportu, rozd\u011blena na men\u0161\u00ed textov\u00e9 \u00faseky, vlo\u017eena a nakonec ulo\u017eena do vektorov\u00e9 datab\u00e1ze Qdrant.<\/p>\n<p>Na\u0161e um\u011bl\u00e1 inteligence v\u0161ak s t\u011bmito daty zat\u00edm nepracuje. A\u010dkoli m\u016f\u017eeme prov\u00e9st vektorov\u00e9 vyhled\u00e1v\u00e1n\u00ed pomoc\u00ed jazyka Python a naj\u00edt vhodn\u00e9 pas\u00e1\u017ee textu, samotn\u00e1 UI si toho zat\u00edm nen\u00ed v\u011bdoma. Kdy\u017e j\u00ed polo\u017e\u00edme ot\u00e1zku, st\u00e1le pou\u017e\u00edv\u00e1 pouze sv\u00e9 obecn\u00e9 jazykov\u00e9 znalosti.<\/p>\n<p>Dal\u0161\u00edm krokem je tedy propojen\u00ed t\u011bchto dvou sv\u011bt\u016f. Nyn\u00ed vytv\u00e1\u0159\u00edme proces, v n\u011bm\u017e um\u011bl\u00e1 inteligence nejprve z\u00edsk\u00e1 relevantn\u00ed obsah z datab\u00e1ze znalost\u00ed a pot\u00e9 jej zahrne do sv\u00e9 odpov\u011bdi. Pr\u00e1v\u011b to je j\u00e1drem syst\u00e9mu RAG.<\/p>\n<h3>Proces popt\u00e1v\u00e1n\u00ed<\/h3>\n<p>D\u00edky na\u0161emu znalostn\u00edmu syst\u00e9mu se pr\u016fb\u011bh dotazov\u00e1n\u00ed m\u00edrn\u011b m\u011bn\u00ed. Dosud prob\u00edhal rozhovor s um\u011blou inteligenc\u00ed obvykle takto:<\/p>\n<ol>\n<li>Polo\u017e\u00edte ot\u00e1zku \u2192<\/li>\n<li>UI zpracov\u00e1v\u00e1 ot\u00e1zku \u2192<\/li>\n<li>UI vygeneruje odpov\u011b\u010f.<\/li>\n<\/ol>\n<p>Dal\u0161\u00edm krokem je znalostn\u00ed datab\u00e1ze. Nov\u00fd proces vypad\u00e1 n\u00e1sledovn\u011b:<\/p>\n<ol>\n<li>Polo\u017e\u00edte ot\u00e1zku \u2192<\/li>\n<li>je ot\u00e1zka p\u0159evedena na vlo\u017een\u00ed \u2192<\/li>\n<li>vektorov\u00e1 datab\u00e1ze vyhled\u00e1v\u00e1 podobn\u00e9 texty \u2192<\/li>\n<li>Tyto texty jsou p\u0159eneseny do UI jako kontext \u2192<\/li>\n<\/ol>\n<p>UI formuluje odpov\u011b\u010f. To znamen\u00e1, \u017ee um\u011bl\u00e1 inteligence ji\u017e nepracuje pouze se sv\u00fdmi vy\u0161kolen\u00fdmi znalostmi, ale tak\u00e9 s va\u0161imi vlastn\u00edmi daty. D\u00edky tomuto kontextu jsou odpov\u011bdi \u010dasto mnohem p\u0159esn\u011bj\u0161\u00ed a personalizovan\u011bj\u0161\u00ed.<\/p>\n<h3>Krok vyhled\u00e1v\u00e1n\u00ed<\/h3>\n<p>Prvn\u00ed \u010d\u00e1st tohoto procesu se naz\u00fdv\u00e1 vyhled\u00e1v\u00e1n\u00ed. Retrieval znamen\u00e1 jednodu\u0161e \u201ena\u010dten\u00ed\u201c. V tomto kroku n\u00e1\u0161 syst\u00e9m vyhled\u00e1v\u00e1 v datab\u00e1zi obsah, kter\u00fd odpov\u00edd\u00e1 t\u00e9matu ot\u00e1zky. Nejprve vytvo\u0159\u00edme dal\u0161\u00ed vlo\u017een\u00ed pro aktu\u00e1ln\u00ed ot\u00e1zku.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">query = \"Welche Ideen hatte ich zur Nutzung meines ChatGPT-Datenexports?\"\r\nquery_vector = ollama.embeddings(\r\nmodel=\"nomic-embed-text\",\r\nprompt=query\r\n)[\"embedding\"]<\/pre>\n<p>Toto vlo\u017een\u00ed popisuje v\u00fdznam ot\u00e1zky v matematick\u00e9 podob\u011b. Qdrant nyn\u00ed m\u016f\u017ee vyhled\u00e1vat podobn\u00e9 vektory.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">results = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=5\r\n)<\/pre>\n<p>Datab\u00e1ze nyn\u00ed vr\u00e1t\u00ed p\u011bt \u00faryvk\u016f textu, kter\u00e9 nejl\u00e9pe odpov\u00eddaj\u00ed ot\u00e1zce. Tyto \u00faryvky tvo\u0159\u00ed kontext pro um\u011blou inteligenci. Shroma\u017e\u010fujeme je v seznamu.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">context_texts = []\r\nfor r in results:\r\ncontext_texts.append(r.payload[\"text\"])<\/pre>\n<p>Nyn\u00ed m\u00e1me k dispozici sb\u00edrku relevantn\u00edho obsahu z na\u0161eho archivu chatu.<\/p>\n<h3>P\u0159enos kontextu do Ollama<\/h3>\n<p>Nyn\u00ed p\u0159ich\u00e1z\u00ed rozhoduj\u00edc\u00ed krok. Tento kontext spolu s p\u016fvodn\u00ed ot\u00e1zkou p\u0159ed\u00e1me na\u0161emu jazykov\u00e9mu modelu. Model nyn\u00ed m\u016f\u017ee tyto informace pou\u017e\u00edt k formulaci odpov\u011bdi.<\/p>\n<p>Nejprve vytvo\u0159\u00edme tzv. v\u00fdzvu. V\u00fdzva je jednodu\u0161e text, kter\u00fd po\u0161leme um\u011bl\u00e9 inteligenci.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">context = \"\\n\\n\".join(context_texts)\r\nprompt = f\"\"\"\r\nDu bist ein KI-Assistent, der mit meinem pers\u00f6nlichen Wissensarchiv arbeitet.\r\nNutze die folgenden Textausschnitte als Kontext:\r\n{context}\r\nBeantworte nun diese Frage:\r\n{query}\r\n\"\"\"<\/pre>\n<p>Nyn\u00ed tuto v\u00fdzvu ode\u0161leme na\u0161emu jazykov\u00e9mu modelu v Ollama.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">response = ollama.chat(\r\nmodel=\"llama3\",\r\nmessages=[\r\n{\"role\": \"user\", \"content\": prompt}\r\n]\r\n)\r\nprint(response[\"message\"][\"content\"])<\/pre>\n<p>Um\u011bl\u00e1 inteligence nyn\u00ed obdr\u017e\u00ed ot\u00e1zku i p\u0159\u00edslu\u0161n\u00e9 pas\u00e1\u017ee textu z na\u0161\u00ed datab\u00e1ze. To j\u00ed umo\u017e\u0148uje generovat odpov\u011bdi na z\u00e1klad\u011b na\u0161ich vlastn\u00edch dat.<\/p>\n<h3>Vytv\u00e1\u0159en\u00ed reakc\u00ed<\/h3>\n<p>Posledn\u00edm krokem je vlastn\u00ed generov\u00e1n\u00ed odpov\u011bd\u00ed. Jazykov\u00fd model nyn\u00ed kombinuje dva zdroje znalost\u00ed:<\/p>\n<p>jeho vlastn\u00ed vy\u0161kolen\u00e9 znalosti<\/p>\n<p>kontext z na\u0161\u00ed datab\u00e1ze znalost\u00ed<\/p>\n<p>Tato kombinace je mimo\u0159\u00e1dn\u011b \u00fa\u010dinn\u00e1. Model dok\u00e1\u017ee vysv\u011btlit obecn\u00e9 vztahy a z\u00e1rove\u0148 zahrnout konkr\u00e9tn\u00ed obsah z na\u0161eho archivu. P\u0159\u00edklad: Pokud se zept\u00e1te:<\/p>\n<blockquote><p><em>\u201eJak\u00e9 jsem m\u011bl n\u00e1pady na vyu\u017eit\u00ed exportu dat z ChatGPT?\u201c<\/em><\/p><\/blockquote>\n<p>UI nyn\u00ed m\u016f\u017ee p\u0159istupovat k p\u0159edchoz\u00edm konverzac\u00edm a vytv\u00e1\u0159et z nich strukturovan\u00e9 shrnut\u00ed. M\u016f\u017ee nap\u0159\u00edklad odpov\u011bd\u011bt:<\/p>\n<ul>\n<li>Mluvil jste o budov\u00e1n\u00ed osobn\u00edho znalostn\u00edho archivu.<\/li>\n<li>Cht\u011bli jste vyvinout m\u00edstn\u00ed um\u011blou inteligenci se syst\u00e9mem RAG.<\/li>\n<li>Rozvinul jste my\u0161lenku s\u00e9rie \u010dl\u00e1nk\u016f.<\/li>\n<\/ul>\n<p>Bez kroku vyhled\u00e1v\u00e1n\u00ed by um\u011bl\u00e1 inteligence tyto informace v\u016fbec neznala. S na\u0161\u00edm syst\u00e9mem se v\u00e1\u0161 archiv chatu st\u00e1v\u00e1 skute\u010dn\u00fdm zdrojem znalost\u00ed. T\u00edm se zavr\u0161uje nejd\u016fle\u017eit\u011bj\u0161\u00ed \u010d\u00e1st na\u0161eho syst\u00e9mu. Nyn\u00ed m\u00e1me k dispozici:<\/p>\n<ul>\n<li>m\u00edstn\u00ed AI p\u0159es Ollama<\/li>\n<li>vektorovou datab\u00e1zi s na\u0161imi daty chatu<\/li>\n<li>s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed<\/li>\n<li>pracovn\u00ed postup RAG<\/li>\n<\/ul>\n<p>V p\u0159\u00ed\u0161t\u00ed kapitole si tento syst\u00e9m vyzkou\u0161\u00edme v praxi a zjist\u00edme, jak dob\u0159e na\u0161e osobn\u00ed znalostn\u00ed AI skute\u010dn\u011b funguje.<\/p>\n<figure id=\"attachment_5469\" aria-describedby=\"caption-attachment-5469\" style=\"width: 1408px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5469\" src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen.jpg\" alt=\"Termin\u00e1l po \u00fasp\u011b\u0161n\u00e9m importu dat ChatGPT\" width=\"1418\" height=\"994\" srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen.jpg 1418w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-300x210.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-1024x718.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-768x538.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-18x12.jpg 18w\" sizes=\"auto, (max-width: 1418px) 100vw, 1418px\" \/><figcaption id=\"caption-attachment-5469\" class=\"wp-caption-text\">Termin\u00e1l po \u00fasp\u011b\u0161n\u00e9m importu dat ChatGPT<\/figcaption><\/figure>\n<h2>Prvn\u00ed dotazy s osobn\u00edmi znalostmi AI<\/h2>\n<p>Nyn\u00ed, kdy\u017e jsme v p\u0159edchoz\u00ed kapitole vytvo\u0159ili spojen\u00ed mezi na\u0161\u00ed um\u011blou inteligenc\u00ed a datab\u00e1z\u00ed znalost\u00ed, je syst\u00e9m technicky dokon\u010den. Na\u0161e data ChatGPT jsou ve vektorov\u00e9 datab\u00e1zi, UI m\u016f\u017ee na\u010d\u00edtat relevantn\u00ed obsah a cel\u00fd proces syst\u00e9mu RAG funguje.<\/p>\n<p>Nyn\u00ed p\u0159ich\u00e1z\u00ed nejzaj\u00edmav\u011bj\u0161\u00ed \u010d\u00e1st projektu: prvn\u00ed skute\u010dn\u00e9 dotazy. Teprve nyn\u00ed toti\u017e m\u016f\u017eeme zjistit, zda n\u00e1\u0161 syst\u00e9m skute\u010dn\u011b d\u011bl\u00e1 to, v co jsme doufali - tedy vyhled\u00e1v\u00e1 p\u0159edchoz\u00ed konverzace, analyzuje obsah a generuje smyslupln\u00e9 odpov\u011bdi. V t\u00e9to kapitole otestujeme na\u0161i znalostn\u00ed um\u011blou inteligenci, pod\u00edv\u00e1me se na typick\u00e9 p\u0159\u00edpady pou\u017eit\u00ed a pod\u00edv\u00e1me se na mo\u017en\u00e9 optimalizace.<\/p>\n<h3>P\u0159\u00edklady dotaz\u016f<\/h3>\n<p>Za\u010dn\u011bme n\u011bkolika jednoduch\u00fdmi ot\u00e1zkami. Dobrou strategi\u00ed je za\u010d\u00edt ot\u00e1zkami, o kter\u00fdch v\u00edte, \u017ee se nach\u00e1zej\u00ed ve va\u0161em chatov\u00e9m archivu. Nap\u0159\u00edklad:<\/p>\n<blockquote><p><em>\u201eJak\u00e9 jsem m\u011bl n\u00e1pady na vyu\u017eit\u00ed exportu dat z ChatGPT?\u201c<\/em><br \/>\n<em>\u201eCo jsem napsal o syst\u00e9mech RAG?\u201c<\/em><br \/>\n<em>\u201eO jak\u00fdch strategi\u00edch pro vyu\u017eit\u00ed um\u011bl\u00e9 inteligence jsem hovo\u0159il?\u201c<\/em><\/p><\/blockquote>\n<p>Tyto ot\u00e1zky z\u00e1m\u011brn\u011b obsahuj\u00ed otev\u0159en\u00e9 formulace. C\u00edlem nen\u00ed naj\u00edt konkr\u00e9tn\u00ed text, ale objevit tematicky vhodn\u00fd obsah. Kdy\u017e takovou ot\u00e1zku syst\u00e9mu polo\u017e\u00edte, na pozad\u00ed prob\u00edh\u00e1 proces, kter\u00fd jsme nastavili v p\u0159edchoz\u00ed kapitole:<\/p>\n<ol>\n<li>Ot\u00e1zka je p\u0159evedena na vlo\u017een\u00ed.<\/li>\n<li>Vektorov\u00e1 datab\u00e1ze vyhled\u00e1v\u00e1 podobn\u00e9 textov\u00e9 \u00faseky.<\/li>\n<li>Tyto pas\u00e1\u017ee textu jsou p\u0159eneseny do UI jako kontext.<\/li>\n<li>Um\u011bl\u00e1 inteligence na z\u00e1klad\u011b tohoto kontextu vygeneruje odpov\u011b\u010f.<\/li>\n<\/ol>\n<p>V\u00fdsledek m\u016f\u017ee b\u00fdt p\u0159ekvapiv\u00fd. \u010casto se vyno\u0159\u00ed rozhovory, na kter\u00e9 jste u\u017e d\u00e1vno zapomn\u011bli. Star\u00e9 my\u0161lenky se n\u00e1hle znovu objev\u00ed na obrazovce - n\u011bkdy dokonce ve zcela nov\u00e9m kontextu.<\/p>\n<p>Pr\u00e1v\u011b v tom je s\u00edla tohoto p\u0159\u00edstupu. Archiv chatu se st\u00e1v\u00e1 prohled\u00e1vateln\u00fdm zdrojem znalost\u00ed.<\/p>\n<h3>Kvalita odpov\u011bd\u00ed<\/h3>\n<p>Pokud si vyzkou\u0161\u00edte n\u011bkolik dotaz\u016f, zjist\u00edte, \u017ee kvalita odpov\u011bd\u00ed se m\u016f\u017ee li\u0161it. To je zcela norm\u00e1ln\u00ed. Kvalita takov\u00e9ho syst\u00e9mu z\u00e1vis\u00ed na n\u011bkolika faktorech. Jedn\u00edm z d\u016fle\u017eit\u00fdch faktor\u016f je velikost kus\u016f textu. Pokud jsou \u00faseky p\u0159\u00edli\u0161 velk\u00e9, mohou obsahovat n\u011bkolik t\u00e9mat. T\u00edm se vyhled\u00e1v\u00e1n\u00ed st\u00e1v\u00e1 m\u00e9n\u011b p\u0159esn\u00fdm.<\/p>\n<p>Pokud jsou v\u0161ak kousky p\u0159\u00edli\u0161 mal\u00e9, n\u011bkdy chyb\u00ed pot\u0159ebn\u00fd kontext. Dal\u0161\u00edm faktorem je model vkl\u00e1d\u00e1n\u00ed. R\u016fzn\u00e9 modely rozpozn\u00e1vaj\u00ed v\u00fdznamov\u00e9 kontexty r\u016fzn\u011b. N\u011bkter\u00e9 jsou vhodn\u00e9 zejm\u00e9na pro odborn\u00e9 texty, jin\u00e9 pro obecn\u00fd jazyk.<\/p>\n<p>Svou roli hraje tak\u00e9 po\u010det vyhledan\u00fdch v\u00fdsledk\u016f. Pokud nap\u0159\u00edklad z\u00edsk\u00e1te pouze dva \u00faryvky textu, mohou v\u00e1m chyb\u011bt d\u016fle\u017eit\u00e9 informace. Pokud je naopak na\u010dteno p\u0159\u00edli\u0161 mnoho text\u016f, m\u016f\u017ee m\u00edt um\u011bl\u00e1 inteligence pot\u00ed\u017ee s rozpozn\u00e1n\u00edm relevantn\u00edho kontextu.<\/p>\n<p>Tyto parametry lze pozd\u011bji snadno upravit. Nejd\u016fle\u017eit\u011bj\u0161\u00ed je m\u00edt p\u0159edev\u0161\u00edm funk\u010dn\u00ed z\u00e1kladn\u00ed syst\u00e9m.<\/p>\n<h3>Typick\u00e9 probl\u00e9my<\/h3>\n<p>Jako u ka\u017ed\u00e9ho technick\u00e9ho syst\u00e9mu se i zde mohou vyskytnout ur\u010dit\u00e9 pot\u00ed\u017ee. \u010cast\u00fdm probl\u00e9mem je, \u017ee datab\u00e1ze najde texty, kter\u00e9 jsou relevantn\u00ed pouze \u010d\u00e1ste\u010dn\u011b. Je to proto, \u017ee s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed v\u017edy pracuje s pravd\u011bpodobnostmi.<\/p>\n<p>Dal\u0161\u00ed probl\u00e9m m\u016f\u017ee nastat, pokud jsou texty p\u0159\u00edli\u0161 rozt\u0159\u00ed\u0161t\u011bn\u00e9. Pokud je my\u0161lenka rozd\u011blena do n\u011bkolika \u010d\u00e1st\u00ed, m\u016f\u017ee m\u00edt um\u011bl\u00e1 inteligence pot\u00ed\u017ee s rozpozn\u00e1n\u00edm kontextu.<\/p>\n<p>Svou roli hraje tak\u00e9 v\u00fdzva. Pokud je v\u00fdzva nejasn\u00e1, nemus\u00ed um\u011bl\u00e1 inteligence optim\u00e1ln\u011b vyu\u017e\u00edt kontext. P\u0159\u00edklad lep\u0161\u00ed v\u00fdzvy by mohl vypadat takto:<\/p>\n<blockquote><p><em>Pou\u017eijte n\u00e1sleduj\u00edc\u00ed v\u00fd\u0148atky z m\u00e9ho znalostn\u00edho archivu,<\/em><br \/>\n<em>co nejp\u0159esn\u011bji odpov\u011bd\u011bt na ot\u00e1zku.<\/em><br \/>\n<em>Pokud je k dispozici relevantn\u00ed obsah, shr\u0148te jej.<\/em><\/p><\/blockquote>\n<p>Takov\u00e9 mal\u00e9 \u00fapravy mohou v\u00fdrazn\u011b zlep\u0161it kvalitu odpov\u011bd\u00ed.<\/p>\n<h3>Jemn\u00e9 lad\u011bn\u00ed<\/h3>\n<p>Jakmile syst\u00e9m v podstat\u011b funguje, za\u010d\u00edn\u00e1 nejzaj\u00edmav\u011bj\u0161\u00ed \u010d\u00e1st: dola\u010fov\u00e1n\u00ed. Zde m\u016f\u017eete experimentovat a postupn\u011b sv\u016fj znalostn\u00ed syst\u00e9m vylep\u0161ovat. N\u011bkter\u00e9 typick\u00e9 optimalizace jsou<\/p>\n<ul>\n<li><strong>\u00daprava velikosti odd\u00edlu<\/strong><br \/>\nN\u011bkdy poskytuj\u00ed lep\u0161\u00ed v\u00fdsledky men\u0161\u00ed \u00faseky textu. V jin\u00fdch p\u0159\u00edpadech je u\u017eite\u010dn\u00fd v\u011bt\u0161\u00ed kontext.<\/li>\n<li><strong>Pou\u017eit\u00ed jin\u00e9ho modelu vkl\u00e1d\u00e1n\u00ed<\/strong><br \/>\nZm\u011bna modelu m\u016f\u017ee v\u00fdrazn\u011b zlep\u0161it kvalitu s\u00e9mantick\u00e9ho vyhled\u00e1v\u00e1n\u00ed.<\/li>\n<li><strong>Dal\u0161\u00ed souvislosti pro um\u011blou inteligenci<\/strong><br \/>\nZ datab\u00e1ze m\u016f\u017eete z\u00edskat v\u00edce v\u00fdsledk\u016f, nap\u0159\u00edklad deset textov\u00fdch pas\u00e1\u017e\u00ed m\u00edsto p\u011bti.<\/li>\n<li><strong>Pou\u017eit\u00ed metadat<\/strong><br \/>\nPokud si ulo\u017e\u00edte dal\u0161\u00ed informace - nap\u0159\u00edklad datum nebo n\u00e1zev hovoru - m\u016f\u017eete pozd\u011bji vyhled\u00e1v\u00e1n\u00ed p\u0159esn\u011bji filtrovat.<\/li>\n<\/ul>\n<p>Tyto \u00fapravy jsou sou\u010d\u00e1st\u00ed ka\u017ed\u00e9ho skute\u010dn\u00e9ho syst\u00e9mu RAG. M\u00e1lokdy existuje ide\u00e1ln\u00ed nastaven\u00ed pro v\u0161echny situace. Ale pr\u00e1v\u011b v tom je kouzlo takov\u00fdch syst\u00e9m\u016f: lze je neust\u00e1le zlep\u0161ovat.<\/p>\n<p>V t\u00e9to kapitole jsme provedli prvn\u00ed \u00fapln\u00fd test na\u0161eho syst\u00e9mu. Vid\u011bli jsme, \u017ee na\u0161e osobn\u00ed znalostn\u00ed um\u011bl\u00e1 inteligence je skute\u010dn\u011b schopna prohled\u00e1vat star\u00e9 konverzace a vyhled\u00e1vat relevantn\u00ed obsah.<\/p>\n<p>To znamen\u00e1, \u017ee j\u00e1dro na\u0161eho projektu ji\u017e bylo dosa\u017eeno. Syst\u00e9m v\u0161ak lze je\u0161t\u011b zna\u010dn\u011b roz\u0161\u00ed\u0159it. V p\u0159\u00ed\u0161t\u00ed kapitole se proto pod\u00edv\u00e1me na to, jak lze integrovat dal\u0161\u00ed zdroje dat a postupn\u011b roz\u0161i\u0159ovat osobn\u00ed znalostn\u00ed archiv.<\/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-78 { --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-78 { --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 \u010dl\u00e1nky o N\u011bmecku<\/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-78\" class=\"dpt-wrapper dpt-list2 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=\"der zwei-plus-vier-vertrag, die nato und die bundeswehr: was gilt heute noch?\" data-id=\"4740\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"deutschland europa geopolitik krisen sicherheitspolitik spieltheorie\">\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\/smlouva-dva-plus-ctyri-nato-a-bundeswehr-co-plati-dodnes\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Smlouva \"dva plus \u010dty\u0159i\", NATO a Bundeswehr: Co plat\u00ed dnes?<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Zwei-Plus-Vier-Vertrag.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Zwei-Plus-Vier-Vertrag.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Zwei-Plus-Vier-Vertrag-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Zwei-Plus-Vier-Vertrag-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Zwei-Plus-Vier-Vertrag-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\/smlouva-dva-plus-ctyri-nato-a-bundeswehr-co-plati-dodnes\/\" rel=\"bookmark\">Smlouva \"dva plus \u010dty\u0159i\", NATO a Bundeswehr: Co plat\u00ed dnes?<\/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 war syrien vor dem krieg? wer regiert heute? was bedeutet das f\u00fcr gefl\u00fcchtete in deutschland?\" data-id=\"4628\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"deutschland europa geopolitik krisen meinungsfreiheit sicherheitspolitik\">\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\/01\/jak-vypadala-syrie-pred-valkou-kdo-dnes-vladne-co-to-znamena-pro-uprchliky-v-nemecku\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Jak\u00e1 byla S\u00fdrie p\u0159ed v\u00e1lkou? Kdo vl\u00e1dne dnes? Co to znamen\u00e1 pro uprchl\u00edky v N\u011bmecku?<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"S\u00fdrie a Dama\u0161ek\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Syrien-Damaskus.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Syrien-Damaskus.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Syrien-Damaskus-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Syrien-Damaskus-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Syrien-Damaskus-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\/01\/jak-vypadala-syrie-pred-valkou-kdo-dnes-vladne-co-to-znamena-pro-uprchliky-v-nemecku\/\" rel=\"bookmark\">Jak\u00e1 byla S\u00fdrie p\u0159ed v\u00e1lkou? Kdo vl\u00e1dne dnes? Co to znamen\u00e1 pro uprchl\u00edky v N\u011bmecku?<\/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=\"jan-josef liefers: ein portr\u00e4t \u00fcber haltung, herkunft und k\u00fcnstlerische freiheit\" data-id=\"3854\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"deutschland erfahrungen krisen lernen meinungsfreiheit musik pers\u00f6nlichkeitsentwicklung portrait\">\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\/12\/jan-josef-liefers-portret-postoje-puvodu-a-umelecke-svobody\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Jan-Josef Liefers: Portr\u00e9t postoje, p\u016fvodu a um\u011bleck\u00e9 svobody<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Jan-Josef Liefers\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/jan-josef-liefers-silhouette.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/jan-josef-liefers-silhouette.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/jan-josef-liefers-silhouette-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/jan-josef-liefers-silhouette-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/jan-josef-liefers-silhouette-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\/12\/jan-josef-liefers-portret-postoje-puvodu-a-umelecke-svobody\/\" rel=\"bookmark\">Jan-Josef Liefers: Portr\u00e9t postoje, p\u016fvodu a um\u011bleck\u00e9 svobody<\/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=\"cancel culture im westen: sport, universit\u00e4ten, milit\u00e4r und eu-sanktionen analysiert\" data-id=\"5009\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"denkmodelle deutschland europa geopolitik krisen meinungsfreiheit sicherheitspolitik spieltheorie\">\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\/zrusit-kulturu-na-zapade-sportovni-univerzity-vojenske-a-eu-sankce-analyzovany\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Zru\u0161it kulturu na Z\u00e1pad\u011b: anal\u00fdza sportu, univerzit, arm\u00e1dy a sankc\u00ed EU<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Zru\u0161it kulturu na Z\u00e1pad\u011b\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-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\/zrusit-kulturu-na-zapade-sportovni-univerzity-vojenske-a-eu-sankce-analyzovany\/\" rel=\"bookmark\">Zru\u0161it kulturu na Z\u00e1pad\u011b: anal\u00fdza sportu, univerzit, arm\u00e1dy a sankc\u00ed EU<\/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<h2>Roz\u0161\u00ed\u0159en\u00ed pro v\u00e1\u0161 osobn\u00ed znalostn\u00ed syst\u00e9m AI<\/h2>\n<p>V p\u0159edchoz\u00edm nastaven\u00ed jste ji\u017e vytvo\u0159ili funk\u010dn\u00ed syst\u00e9m. Va\u0161e data z ChatGPT byla extrahov\u00e1na, p\u0159evedena na embeddings, ulo\u017eena v Qdrant a nakonec p\u0159ipojena k m\u00edstn\u00ed UI. V\u00fdsledkem je znalostn\u00ed UI, kter\u00e1 m\u00e1 p\u0159\u00edstup k p\u0159edchoz\u00edm konverzac\u00edm.<\/p>\n<p>P\u0159\u00edsn\u011b vzato jsme v\u0161ak teprve na za\u010d\u00e1tku. Architektura, kterou jste vytvo\u0159ili, nen\u00ed omezena na data ChatGPT. Funguje s jak\u00fdmkoli druhem textu. Cokoli, co lze p\u0159ev\u00e9st do dokument\u016f nebo textov\u00fdch soubor\u016f, se m\u016f\u017ee st\u00e1t sou\u010d\u00e1st\u00ed tohoto znalostn\u00edho syst\u00e9mu. V tom spo\u010d\u00edv\u00e1 skute\u010dn\u00fd potenci\u00e1l takov\u00fdch syst\u00e9m\u016f.<\/p>\n<p>V podstat\u011b jsme vytvo\u0159ili osobn\u00ed stroj na znalosti. A tento stroj lze postupn\u011b roz\u0161i\u0159ovat. V t\u00e9to kapitole se pod\u00edv\u00e1me na mo\u017enosti, kter\u00e9 z toho vypl\u00fdvaj\u00ed, a na to, jak m\u016f\u017eete sv\u016fj syst\u00e9m dlouhodob\u011b roz\u0161i\u0159ovat.<\/p>\n<h3>Integrace dal\u0161\u00edch zdroj\u016f dat<\/h3>\n<p>Dal\u0161\u00edm z\u0159ejm\u00fdm krokem je p\u0159id\u00e1n\u00ed dal\u0161\u00edho obsahu do znalostn\u00ed b\u00e1ze. Konverzace na ChatGPT jsou dobr\u00fdm za\u010d\u00e1tkem, ale obvykle p\u0159edstavuj\u00ed pouze \u010d\u00e1st va\u0161ich vlastn\u00edch znalost\u00ed. Mnoho informac\u00ed je k dispozici v jin\u00fdch form\u00e1tech. Nap\u0159:<\/p>\n<ul>\n<li>vlastn\u00ed \u010dl\u00e1nky<\/li>\n<li>Pozn\u00e1mky<\/li>\n<li>Dokumenty ve form\u00e1tu PDF<\/li>\n<li>V\u00fdzkumn\u00e9 dokumenty<\/li>\n<li>Elektronick\u00e9 knihy<\/li>\n<li>Protokoly nebo seznamy n\u00e1pad\u016f<\/li>\n<\/ul>\n<p>Ve\u0161ker\u00fd tento obsah lze zpracov\u00e1vat stejn\u00fdm zp\u016fsobem jako na\u0161e data chatu. Proces z\u016fst\u00e1v\u00e1 toto\u017en\u00fd:<\/p>\n<ul>\n<li>V\u00fdpis textu<\/li>\n<li>Rozd\u011blen\u00ed textu na \u010d\u00e1sti<\/li>\n<li>Vytvo\u0159en\u00ed vlo\u017een\u00fdch polo\u017eek<\/li>\n<li>Ulo\u017een\u00ed dat v Qdrant<\/li>\n<\/ul>\n<p>P\u0159\u00edklad: Pokud jste napsali mnoho vlastn\u00edch \u010dl\u00e1nk\u016f, m\u016f\u017eete tyto texty importovat do datab\u00e1ze znalost\u00ed. Um\u011bl\u00e1 inteligence k nim m\u016f\u017ee pozd\u011bji p\u0159istupovat a rozpozn\u00e1vat korelace. M\u016f\u017eete se nap\u0159\u00edklad zeptat:<\/p>\n<blockquote><p><em>\u201eJak\u00e9 \u010dl\u00e1nky jsem napsal o um\u011bl\u00e9 inteligenci?\u201c<\/em><\/p><\/blockquote>\n<p>nebo<\/p>\n<blockquote><p><em>\u201eJak\u00e9 argumenty jsem na toto t\u00e9ma v minulosti rozv\u00edjel?\u201c<\/em><\/p><\/blockquote>\n<p>Um\u011bl\u00e1 inteligence pak prohled\u00e1 v\u00e1\u0161 archiv \u010dl\u00e1nk\u016f a nalezen\u00fd obsah pou\u017eije jako kontext. T\u00edmto zp\u016fsobem se v\u00e1\u0161 syst\u00e9m krok za krokem rozr\u016fst\u00e1 v komplexn\u00ed znalostn\u00ed archiv.<\/p>\n<h3>N\u011bkolik znalostn\u00edch datab\u00e1z\u00ed<\/h3>\n<p>S rostouc\u00edm mno\u017estv\u00edm dat m\u016f\u017ee b\u00fdt u\u017eite\u010dn\u00e9 odd\u011blit r\u016fzn\u00e9 oblasti. Qdrant umo\u017e\u0148uje vytvo\u0159it v\u00edce kolekc\u00ed. Ka\u017ed\u00e1 kolekce m\u016f\u017ee p\u0159edstavovat vlastn\u00ed znalostn\u00ed b\u00e1zi. Mo\u017en\u00fd syst\u00e9m m\u016f\u017ee vypadat nap\u0159\u00edklad takto:<\/p>\n<ul>\n<li><strong>Kolekce 1<\/strong>ChatGPT konverzace<\/li>\n<li><strong>Kolekce 2<\/strong>: Archiv \u010dl\u00e1nk\u016f<\/li>\n<li><strong>Kolekce 3<\/strong>: osobn\u00ed pozn\u00e1mky<\/li>\n<li><strong>Kolekce 4<\/strong>Technick\u00e1 dokumentace<\/li>\n<\/ul>\n<p>Toto odd\u011blen\u00ed m\u00e1 n\u011bkolik v\u00fdhod. Za prv\u00e9, struktura z\u016fst\u00e1v\u00e1 jasn\u00e1. V\u017edy v\u00edte, kde je ulo\u017een ur\u010dit\u00fd obsah. Za druh\u00e9, dotazy lze \u0159\u00eddit konkr\u00e9tn\u011bji. N\u011bkter\u00e9 dotazy by t\u0159eba m\u011bly prohled\u00e1vat pouze archiv \u010dl\u00e1nk\u016f, jin\u00e9 cel\u00fd znalostn\u00ed syst\u00e9m. P\u0159\u00edklad:<\/p>\n<ul>\n<li>V\u00fdzkumn\u00e1 ot\u00e1zka by mohla vyhled\u00e1vat pouze v archivu \u010dl\u00e1nk\u016f.<\/li>\n<li>Strategick\u00e1 ot\u00e1zka by naopak mohla zohlednit v\u0161echny sb\u00edrky najednou.<\/li>\n<\/ul>\n<p>D\u00edky t\u011bmto struktur\u00e1m jsou v\u011bt\u0161\u00ed znalostn\u00ed syst\u00e9my v\u00fdrazn\u011b efektivn\u011bj\u0161\u00ed.<\/p>\n<h3>Automatick\u00e9 aktualizace<\/h3>\n<p>Dal\u0161\u00edm u\u017eite\u010dn\u00fdm krokem je pravideln\u00e1 aktualizace syst\u00e9mu. V p\u0159edchoz\u00edm p\u0159\u00edkladu jsme export dat ChatGPT zpracovali jednou. V praxi v\u0161ak neust\u00e1le vznik\u00e1 nov\u00fd obsah.<\/p>\n<p>Nov\u00e9 konverzace, nov\u00e9 pozn\u00e1mky, nov\u00e9 dokumenty - v\u0161echny tyto informace se mohou st\u00e1t sou\u010d\u00e1st\u00ed va\u0161eho znalostn\u00edho archivu.<br \/>\nProto se vyplat\u00ed uva\u017eovat o automatick\u00fdch aktualizac\u00edch. Jedn\u00edm z jednoduch\u00fdch \u0159e\u0161en\u00ed je pravideln\u00fd import nov\u00fdch dat. Nap\u0159\u00edklad:<\/p>\n<ul>\n<li>Jednou t\u00fddn\u011b zpracovat nov\u00e1 data chatu<\/li>\n<li>Automatick\u00fd import nov\u00fdch dokument\u016f<\/li>\n<li>Okam\u017eit\u00e9 p\u0159id\u00e1n\u00ed nov\u00fdch \u010dl\u00e1nk\u016f do datab\u00e1ze<\/li>\n<\/ul>\n<p>Technicky je to pom\u011brn\u011b snadn\u00e9. Mal\u00fd skript m\u016f\u017ee pravideln\u011b kontrolovat, zda jsou k dispozici nov\u00e9 soubory, a automaticky je zpracov\u00e1vat. D\u00edky tomu m\u016f\u017ee v\u00e1\u0161 znalostn\u00ed syst\u00e9m neust\u00e1le r\u016fst. Postupem \u010dasu se vytv\u00e1\u0159\u00ed st\u00e1le rozs\u00e1hlej\u0161\u00ed archiv, kter\u00fd dokumentuje va\u0161e my\u0161lenky a projekty.<\/p>\n<h3>Integrace do vlastn\u00edch aplikac\u00ed<\/h3>\n<p>N\u00e1\u0161 syst\u00e9m byl dosud pou\u017e\u00edv\u00e1n prost\u0159ednictv\u00edm jednoduch\u00fdch skript\u016f v jazyce Python. Z dlouhodob\u00e9ho hlediska lze v\u0161ak tento syst\u00e9m integrovat i do vlastn\u00edch aplikac\u00ed. Mnoho v\u00fdvoj\u00e1\u0159\u016f nap\u0159\u00edklad vytv\u00e1\u0159\u00ed mal\u00e1 webov\u00e1 rozhran\u00ed, kter\u00e1 umo\u017e\u0148uj\u00ed vyu\u017e\u00edvat znalostn\u00ed AI p\u0159\u00edmo.<\/p>\n<p>M\u00edsto spu\u0161t\u011bn\u00ed skriptu pak m\u016f\u017eete jednodu\u0161e napsat ot\u00e1zku do vstupn\u00edho pole. Stejn\u00fd proces b\u011b\u017e\u00ed na pozad\u00ed:<\/p>\n<ol>\n<li>Vytvo\u0159it vlo\u017een\u00ed<\/li>\n<li>Vyhled\u00e1vac\u00ed datab\u00e1ze<\/li>\n<li>P\u0159enos kontextu do UI<\/li>\n<li>Generov\u00e1n\u00ed odpov\u011bdi<\/li>\n<\/ol>\n<p>V\u00fdsledek se pak zobraz\u00ed p\u0159\u00edmo v u\u017eivatelsk\u00e9m rozhran\u00ed. Takov\u00e1 aplikace m\u016f\u017ee m\u00edt velmi r\u016fznou podobu. Nap\u0159\u00edklad:<\/p>\n<ul>\n<li>osobn\u00ed v\u00fdzkum AI<\/li>\n<li>znalostn\u00ed asistent pro projekty<\/li>\n<li>vyhled\u00e1va\u010d n\u00e1pad\u016f<\/li>\n<li>archiv \u010dl\u00e1nk\u016f a pozn\u00e1mek<\/li>\n<\/ul>\n<p>Zvl\u00e1\u0161t\u011b zaj\u00edmav\u00e9 je, kdy\u017e tyto syst\u00e9my zkombinujete s dal\u0161\u00edmi n\u00e1stroji. Nap\u0159\u00edklad redak\u010dn\u00ed syst\u00e9m by mohl automaticky p\u0159istupovat k va\u0161emu znalostn\u00edmu archivu a pou\u017e\u00edvat p\u0159edchoz\u00ed \u010dl\u00e1nky jako z\u00e1klad pro v\u00fdzkum. Nebo syst\u00e9m pozn\u00e1mek by mohl automaticky integrovat nov\u00e9 n\u00e1pady do va\u0161\u00ed datab\u00e1ze.<\/p>\n<p>Jin\u00fdmi slovy, um\u011bl\u00e1 inteligence se stane sou\u010d\u00e1st\u00ed va\u0161eho ka\u017edodenn\u00edho pracovn\u00edho prost\u0159ed\u00ed. Z toho je z\u0159ejm\u00e9, \u017ee n\u00e1\u0161 mal\u00fd projekt dalece p\u0159esahuje p\u016fvodn\u00ed export dat ChatGPT.<\/p>\n<p>Nevytvo\u0159ili jsme pouze archiv. Vytvo\u0159ili jsme architekturu, kterou lze podle pot\u0159eby roz\u0161i\u0159ovat. A pr\u00e1v\u011b v tom spo\u010d\u00edv\u00e1 skute\u010dn\u00e1 hodnota takov\u00fdch syst\u00e9m\u016f. Nejsou statick\u00e9. Rostou spolu s va\u0161imi znalostmi.<\/p>\n<h2>Roz\u0161\u00ed\u0159en\u00e1 verze potrub\u00ed ke sta\u017een\u00ed<\/h2>\n<p>N\u00e1sleduj\u00edc\u00ed skript je roz\u0161\u00ed\u0159enou verz\u00ed pipeline z \u010dl\u00e1nku. Je robustn\u011bj\u0161\u00ed a mnohem bl\u00ed\u017ee produktivn\u00edmu \u0159e\u0161en\u00ed. Byly vylep\u0161eny t\u0159i v\u011bci:<\/p>\n<ul>\n<li><strong>Ukazatel pokroku<\/strong>U\u017eivatel m\u016f\u017ee kdykoli zjistit, kolik text\u016f ji\u017e bylo zpracov\u00e1no.<\/li>\n<li><strong>D\u00e1vkov\u00fd import<\/strong>Vlo\u017een\u00e9 soubory jsou shroma\u017e\u010fov\u00e1ny a zapisov\u00e1ny do Qdrantu v bloc\u00edch, co\u017e je v\u00fdrazn\u011b rychlej\u0161\u00ed ne\u017e jednotliv\u00e9 importy.<\/li>\n<li><strong>Rychlej\u0161\u00ed vkl\u00e1dac\u00ed potrub\u00ed<\/strong>Skript pracuje strukturovan\u011b s p\u0159ipraven\u00fdmi \u010d\u00e1stmi a omezuje zbyte\u010dn\u00e1 vol\u00e1n\u00ed.<\/li>\n<\/ul>\n<p>Tento skript je proto vhodn\u00fd zejm\u00e9na v p\u0159\u00edpad\u011b, \u017ee export ChatGPT je v\u011bt\u0161\u00ed - nap\u0159\u00edklad n\u011bkolik tis\u00edc konverzac\u00ed. Typick\u00fd postup:<\/p>\n<ol>\n<li>Na\u010d\u00edst export ChatGPT<\/li>\n<li>V\u00fdpis text\u016f<\/li>\n<li>Rozd\u011blen\u00ed textu na \u010d\u00e1sti<\/li>\n<li>Vytvo\u0159en\u00ed vlo\u017een\u00fdch polo\u017eek<\/li>\n<li>D\u00e1vkov\u00fd import do Qdrant<\/li>\n<li>Prove\u010fte testovac\u00ed dotaz<\/li>\n<\/ol>\n<h3>D\u016fle\u017eit\u00e1 nastaven\u00ed ve skriptu<\/h3>\n<p>N\u011bkter\u00e9 hodnoty mus\u00ed u\u017eivatel upravit:<\/p>\n<ul>\n<li><strong>EXPORT_PFAD<\/strong><br \/>\nCesta k v\u011bt\u0161inou \u010d\u00edslovan\u00fdm soubor\u016fm conversations.json z exportu ChatGPT.<\/li>\n<li><strong>COLLECTION_NAME<\/strong><br \/>\nN\u00e1zev kolekce vektorov\u00fdch datab\u00e1z\u00ed.<\/li>\n<li><strong>EMBED_MODEL<\/strong><br \/>\nVkl\u00e1dac\u00ed model Ollama, nap\u0159. nomic-embed-text nebo mxbai-embed-large<\/li>\n<li><strong>ANSWER_MODEL<\/strong><br \/>\nJazykov\u00fd model pro testovac\u00ed dotaz, nap\u0159. llama, mistral nebo gpt:oss.<\/li>\n<li><strong>VECTOR_SIZE<\/strong><br \/>\nRozm\u011br vkl\u00e1dan\u00e9ho modelu.<br \/>\nnomic-embed-text \u2192 768<br \/>\nmxbai-embed-large \u2192 1024<\/li>\n<li><strong>CHUNK_SIZE<\/strong><br \/>\nVelikost textov\u00fdch odd\u00edl\u016f.<br \/>\nObvykle 300-600 slov.<\/li>\n<li><strong>BATCH_SIZE<\/strong><br \/>\nKolik vlo\u017een\u00ed je zaps\u00e1no do Qdrantu sou\u010dasn\u011b.<br \/>\nTypick\u00e1 hodnota: 50-200.<\/li>\n<\/ul>\n<p><strong><a class=\"downloadbtn\" href=\"https:\/\/markus-schall.de\/downloads\/ChatGPT_Export_Scripts.zip\">St\u00e1hnout skript Python<\/a><\/strong><\/p>\n<h3>Z\u016fsta\u0148te v obraze - bez reklamy<\/h3>\n<p>Pokud chcete b\u00fdt informov\u00e1ni o aktualizac\u00edch tohoto skriptu nebo o novink\u00e1ch ke sta\u017een\u00ed, m\u016f\u017eete se p\u0159ihl\u00e1sit k odb\u011bru m\u00e9ho m\u011bs\u00ed\u010dn\u00edho zpravodaje. Zpravodaj je z\u00e1m\u011brn\u011b \u00fasporn\u00fd, zcela bez reklam a vych\u00e1z\u00ed pouze jednou m\u011bs\u00ed\u010dn\u011b. Najdete v n\u011bm v\u00fdb\u011br nejd\u016fle\u017eit\u011bj\u0161\u00edch nov\u00fdch \u010dl\u00e1nk\u016f, praktick\u00fd obsah o um\u011bl\u00e9 inteligenci, softwaru a digitalizaci a tak\u00e9 informace o aktualizovan\u00fdch skriptech nebo nov\u00fdch nab\u00eddk\u00e1ch ke sta\u017een\u00ed. \u017d\u00e1dn\u00fd spam, \u017e\u00e1dn\u00e9 ka\u017edodenn\u00ed e-maily - jen ten nejd\u016fle\u017eit\u011bj\u0161\u00ed obsah v kompaktn\u00ed podob\u011b. Pokud chcete tento v\u00fdvoj sledovat pr\u016fb\u011b\u017en\u011b, je newsletter nejjednodu\u0161\u0161\u00ed zp\u016fsob, jak z\u016fstat v obraze.<\/p>\n<div class=\"mailster-block-form-type-content wp-block-mailster-form-outside-wrapper wp-block-mailster-form-outside-wrapper-c1cd9d66 wp-block-mailster-form-outside-wrapper-5542 wp-block-mailster-form\"><style class=\"mailster-form-style-c1cd9d66\">.wp-block-mailster-form-outside-wrapper-c1cd9d66 .mailster-block-form-inner > *{margin-block-start:0;margin-block-end:0;}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .mailster-block-form-inner > * + *{margin-block-start:0.9em;margin-block-end:0;}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .wp-block-mailster-form-wrapper .mailster-label{}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .wp-block-mailster-form-wrapper .input{}.mailster-block-form input[type=\"text\"]{padding:10px 15px;border:1px solid rgb(204, 204, 204);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgb(250, 250, 250) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:auto;outline:rgb(102, 102, 102) none 0px;text-transform:none;letter-spacing:normal;height:47px;}.mailster-block-form input[type=\"email\"]{padding:10px 15px;border:1px solid rgb(204, 204, 204);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgb(250, 250, 250) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:auto;outline:rgb(102, 102, 102) none 0px;text-transform:none;letter-spacing:normal;height:47px;}.mailster-block-form input[type=\"date\"]{}.mailster-block-form input[type=\"checkbox\"]{}.mailster-block-form input[type=\"radio\"]{}.mailster-block-form input[type=\"submit\"]{padding:10px 20px;border:0px solid rgb(0, 0, 0);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:5px;background:rgb(2, 123, 184) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:button;outline:rgb(255, 255, 255) none 0px;text-transform:none;letter-spacing:normal;border:0px solid rgb(0, 0, 0);outline:rgb(255, 255, 255) none 0px;color:rgb(255, 255, 255);}.mailster-block-form select{}.mailster-block-form label{padding:0px;border:0px none rgb(58, 58, 58);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgba(0, 0, 0, 0) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:none;outline:rgb(58, 58, 58) none 0px;text-transform:none;letter-spacing:normal;}.mailster-block-form textarea{}<\/style>\n<form method=\"post\" novalidate class=\"wp-block-mailster-form-wrapper mailster-block-form\" action=\"\"><div class=\"mailster-block-form-inner\">\n<div class=\"wp-block-mailster-messages mailster-block-form-info mailster-wrapper\" aria-hidden=\"true\"><style>:root {--mailster--color--success-background: #6fbf4d;--mailster--color--success: #ffffff;--mailster--color--error-background: #bf4d4d;--mailster--color--error: #ffffff;}<\/style><div class=\"mailster-block-form-info-success\" style=\"width:100%\"><div>Potvr\u010fte pros\u00edm sv\u00e9 p\u0159edplatn\u00e9!<\/div><div class=\"mailster-block-form-info-extra\"><\/div><\/div><div class=\"mailster-block-form-info-error\" style=\"width:100%\"><div>N\u011bkter\u00e1 pole chyb\u00ed nebo jsou nespr\u00e1vn\u00e1!<\/div><div class=\"mailster-block-form-info-extra\"><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-firstname mailster-wrapper mailster-wrapper-type-text mailster-wrapper-inline\" style=\"width:100%\"><input name=\"firstname\" id=\"mailster-id-41b55c\" type=\"text\" aria-required=\"false\" aria-label=\"K\u0159estn\u00ed jm\u00e9no\" spellcheck=\"false\" value=\"\" class=\"input\" autocomplete=\"given-name\" placeholder=\" \"\/><label for=\"mailster-id-41b55c\" class=\"mailster-label\">K\u0159estn\u00ed jm\u00e9no<\/label><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-email mailster-wrapper mailster-wrapper-required mailster-wrapper-type-email mailster-wrapper-inline mailster-wrapper-asterisk\"><input name=\"email\" id=\"mailster-id-f70659\" type=\"email\" aria-required=\"true\" aria-label=\"e-mail\" spellcheck=\"false\" required value=\"\" class=\"input\" autocomplete=\"email\" placeholder=\" \"\/><label for=\"mailster-id-f70659\" class=\"mailster-label\">e-mail<\/label><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-submit mailster-wrapper mailster-wrapper-type-submit mailster-wrapper-align-center wp-block-button\"><input name=\"submit\" id=\"mailster-id-7c1924\" type=\"submit\" value=\"Zaregistrujte se zde\" class=\"wp-block-button__link submit-button\"\/><\/div>\n<\/div><script class=\"mailster-block-form-data\" type=\"application\/json\">{\"id\":5542,\"identifier\":\"c1cd9d66\",\"cooldown\":0,\"isPreview\":false,\"type\":\"submission\",\"prefill\":false}<\/script><input name=\"_timestamp\" type=\"hidden\" value=\"1779111131\" \/>\n<button class=\"mailster-block-form-close\" aria-label=\"zav\u0159\u00edt\" tabindex=\"0\"><svg viewbox=\"0 0 100 100\"><path d=\"M100 10.71 89.29 0 50 39.29 10.71 0 0 10.71 39.29 50 0 89.29 10.71 100 50 60.71 89.29 100 100 89.29 60.71 50z\"\/><\/svg><\/button><input type=\"hidden\" name=\"trp-form-language\" value=\"cs\"\/><\/form>\n<\/div>\n<h3>V\u00fdhled na \u010d\u00e1st 3: Dola\u010fov\u00e1n\u00ed, anal\u00fdza a optimalizace vyu\u017eit\u00ed dat<\/h3>\n<p>Ve t\u0159et\u00ed \u010d\u00e1sti seri\u00e1lu p\u016fjdeme je\u0161t\u011b o krok d\u00e1l a pod\u00edv\u00e1me se na to, co vlastn\u011b m\u016f\u017eete z vytvo\u0159en\u00e9 datab\u00e1ze znalost\u00ed z\u00edskat. Nyn\u00ed, kdy\u017e jsou data ChatGPT ulo\u017eena v Qdrant, se zam\u011b\u0159\u00edme na jejich skute\u010dn\u00e9 vyu\u017eit\u00ed. Pod\u00edv\u00e1me se na webov\u00e9 rozhran\u00ed Qdrant, analyzujeme ulo\u017een\u00e1 data a ov\u011b\u0159\u00edme, jak dob\u0159e ji\u017e funguje s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed. Pod\u00edv\u00e1me se tak\u00e9 na d\u016fle\u017eit\u00e9 jemn\u00e9 \u00fapravy: Jak by m\u011blo b\u00fdt chunkov\u00e1n\u00ed zvoleno v z\u00e1vislosti na p\u0159\u00edpadu pou\u017eit\u00ed? Jak lze optim\u00e1ln\u011b p\u0159en\u00e9st kontext do lok\u00e1ln\u00edho jazykov\u00e9ho modelu? A jak konkr\u00e9tn\u011b lze zlep\u0161it kvalitu odpov\u011bd\u00ed? T\u0159et\u00ed \u010d\u00e1st je ur\u010dena v\u0161em, kte\u0159\u00ed cht\u011bj\u00ed ze syst\u00e9mu vyt\u011b\u017eit v\u00edce a v\u011bdom\u011b jej d\u00e1le rozv\u00edjet.<\/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-79 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-79 { --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 \u010dl\u00e1nky o um\u011bl\u00e9 inteligenci<\/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-79\" 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=\"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\/cs\/2025\/12\/cloud-ki-jako-spickovy-ucitel-proc-je-budoucnost-prace-s-mistnimi-ki\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Cloudov\u00e1 um\u011bl\u00e1 inteligence jako \u0159editel: pro\u010d je budoucnost pr\u00e1ce v lok\u00e1ln\u00ed um\u011bl\u00e9 inteligenci<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Cloudov\u00e1 um\u011bl\u00e1 inteligence se st\u00e1v\u00e1 hlavn\u00edm u\u010ditelem\" 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: 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\/12\/cloud-ki-jako-spickovy-ucitel-proc-je-budoucnost-prace-s-mistnimi-ki\/\" rel=\"bookmark\">Cloudov\u00e1 um\u011bl\u00e1 inteligence jako \u0159editel: pro\u010d je budoucnost pr\u00e1ce v lok\u00e1ln\u00ed um\u011bl\u00e9 inteligenci<\/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=\"der iran-israel-konflikt: warum diese eskalation der strategische albtraum des westens ist\" data-id=\"5212\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"denkmodelle energiepolitik europa geopolitik krisen k\u00fcnstliche intelligenz meinungsfreiheit sicherheitspolitik spieltheorie\">\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\/03\/iransko-izraelsky-konflikt-proc-je-eskalace-konfliktu-strategickou-nocni-murou-zapadu\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">\u00cdr\u00e1nsko-izraelsk\u00fd konflikt: Pro\u010d je eskalace konfliktu strategickou no\u010dn\u00ed m\u016frou Z\u00e1padu?<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Izrael-Ir\u00e1n - strategick\u00e1 no\u010dn\u00ed m\u016fra\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-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\/03\/iransko-izraelsky-konflikt-proc-je-eskalace-konfliktu-strategickou-nocni-murou-zapadu\/\" rel=\"bookmark\">\u00cdr\u00e1nsko-izraelsk\u00fd konflikt: Pro\u010d je eskalace konfliktu strategickou no\u010dn\u00ed m\u016frou Z\u00e1padu?<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"k\u00fcnstliche intelligenz: welche jobs in gefahr sind, und wie wir uns jetzt wappnen k\u00f6nnen\" data-id=\"2940\"  data-category=\"allgemein b\u00fccher gesellschaft ki-systeme\" data-post_tag=\"buch k\u00fcnstliche intelligenz llama llm mistral mlx ollama ratgeber sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/cs\/2025\/09\/umela-inteligence-ktera-pracovni-mista-jsou-ohrozena-a-jak-se-muzeme-vyzbrojit\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Um\u011bl\u00e1 inteligence: kter\u00e1 pracovn\u00ed m\u00edsta jsou ohro\u017eena a jak se m\u016f\u017eeme vyzbrojit hned te\u010f<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Kter\u00e1 pracovn\u00ed m\u00edsta budou v budoucnu zru\u0161ena um\u011blou inteligenc\u00ed?\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 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\/umela-inteligence-ktera-pracovni-mista-jsou-ohrozena-a-jak-se-muzeme-vyzbrojit\/\" rel=\"bookmark\">Um\u011bl\u00e1 inteligence: kter\u00e1 pracovn\u00ed m\u00edsta jsou ohro\u017eena a jak se m\u016f\u017eeme vyzbrojit hned te\u010f<\/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 k\u00fcnstliche intelligenz die softwareentwicklung und filemaker ver\u00e4ndert\" data-id=\"6029\"  data-category=\"apple iphone &amp; ipad apple macos filemaker &amp; erp ki-systeme\" data-post_tag=\"datenbanken datenlogik denkmodelle erp-software filemaker gfm-business k\u00fcnstliche intelligenz llm prozesse sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/cs\/2026\/05\/jak-umela-inteligence-meni-vyvoj-softwaru-a-filemaker\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Jak um\u011bl\u00e1 inteligence m\u011bn\u00ed v\u00fdvoj softwaru a FileMaker<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"682\" class=\"attachment-full size-full\" alt=\"V\u00fdvoj um\u011bl\u00e9 inteligence p\u0159i v\u00fdvoji datab\u00e1z\u00ed FileMaker\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Evolution-Entwickler-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/cs\/2026\/05\/jak-umela-inteligence-meni-vyvoj-softwaru-a-filemaker\/\" rel=\"bookmark\">Jak um\u011bl\u00e1 inteligence m\u011bn\u00ed v\u00fdvoj softwaru a FileMaker<\/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<h2>\u010casto kladen\u00e9 ot\u00e1zky<\/h2>\n<ol>\n<li><strong>Jak\u00fd smysl m\u00e1 integrace exportu dat ChatGPT do m\u00e9ho vlastn\u00edho UI?<\/strong><br \/>\nNejv\u011bt\u0161\u00ed v\u00fdhodou je, \u017ee m\u016f\u017eete dlouhodob\u011b vyu\u017e\u00edvat sv\u00e9 vlastn\u00ed rozhovory a my\u0161lenky. Mnoho lid\u00ed vede intenzivn\u00ed rozhovory se syst\u00e9my um\u011bl\u00e9 inteligence o projektech, n\u00e1padech, anal\u00fdz\u00e1ch nebo osobn\u00edch z\u00e1le\u017eitostech. Tento obsah v pr\u016fb\u011bhu fungov\u00e1n\u00ed platformy obvykle miz\u00ed. Pokud jej v\u0161ak vyexportujete a za\u010dlen\u00edte do vlastn\u00ed znalostn\u00ed datab\u00e1ze, stane se z n\u011bj osobn\u00ed archiv. Va\u0161e m\u00edstn\u00ed AI pak m\u016f\u017ee k tomuto obsahu p\u0159istupovat, rozpozn\u00e1vat korelace a pom\u00e1hat v\u00e1m s nov\u00fdmi ot\u00e1zkami. M\u00edsto toho, abyste v\u017edy za\u010d\u00ednali od nuly, stav\u00edte krok za krokem na sv\u00e9m vlastn\u00edm my\u0161len\u00ed.<\/li>\n<li><strong>Nen\u00ed to pro n\u011bkoho, kdo nen\u00ed v\u00fdvoj\u00e1\u0159, velmi slo\u017eit\u00e9?<\/strong><br \/>\nNa prvn\u00ed pohled se pojmy jako embeddingy, vektorov\u00e9 datab\u00e1ze nebo syst\u00e9my RAG zdaj\u00ed b\u00fdt slo\u017eit\u00e9. V praxi jsou v\u0161ak jednotliv\u00e9 kroky pom\u011brn\u011b jasn\u011b strukturovan\u00e9. V z\u00e1sad\u011b pot\u0159ebujete pouze t\u0159i komponenty: lok\u00e1ln\u00ed UI (nap\u0159. prost\u0159ednictv\u00edm Ollama), vektorovou datab\u00e1zi, jako je Qdrant, a mal\u00fd skript v jazyce Python, kter\u00fd zpracov\u00e1v\u00e1 va\u0161e data. Mnoho krok\u016f se spou\u0161t\u00ed automaticky. Jakmile je syst\u00e9m nastaven, funguje jako b\u011b\u017en\u00fd vyhled\u00e1va\u010d nebo chatbot - s t\u00edm rozd\u00edlem, \u017ee pracuje s va\u0161imi vlastn\u00edmi znalostmi.<\/li>\n<li><strong>Jak\u00e1 data vlastn\u011b export ChatGPT obsahuje?<\/strong><br \/>\nExport ChatGPT obvykle obsahuje v\u0161echny konverzace, kter\u00e9 jste se syst\u00e9mem vedli. To zahrnuje nejen samotn\u00e9 textov\u00e9 zpr\u00e1vy, ale tak\u00e9 metadata, jako jsou n\u00e1zvy konverzac\u00ed, \u010dasov\u00e9 zna\u010dky a struktur\u00e1ln\u00ed informace. Data jsou obvykle k dispozici ve form\u00e1tu JSON, a proto je lze pom\u011brn\u011b snadno zpracovat pomoc\u00ed skript\u016f. V mnoha p\u0159\u00edpadech export obsahuje tak\u00e9 medi\u00e1ln\u00ed nebo jazykov\u00e9 soubory, pokud byly v konverzac\u00edch pou\u017eity. P\u0159i vytv\u00e1\u0159en\u00ed znalostn\u00ed datab\u00e1ze je v\u0161ak zaj\u00edmav\u00fd p\u0159edev\u0161\u00edm textov\u00fd obsah.<\/li>\n<li><strong>Pro\u010d se pro takov\u00e9 syst\u00e9my pou\u017e\u00edv\u00e1 vektorov\u00e1 datab\u00e1ze, a ne norm\u00e1ln\u00ed datab\u00e1ze?<\/strong><br \/>\nB\u011b\u017en\u00e9 datab\u00e1ze jsou ide\u00e1ln\u00ed pro vyhled\u00e1v\u00e1n\u00ed konkr\u00e9tn\u00edch v\u00fdraz\u016f nebo ID. Jsou v\u0161ak m\u00e9n\u011b vhodn\u00e9 pro s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed. Vektorov\u00e1 datab\u00e1ze ukl\u00e1d\u00e1 texty nejen jako \u0159et\u011bzce znak\u016f, ale tak\u00e9 jako matematick\u00e9 vektory, kter\u00e9 popisuj\u00ed v\u00fdznam textu. To umo\u017e\u0148uje syst\u00e9mu vyhled\u00e1vat podobnost obsahu. Pokud nap\u0159\u00edklad zad\u00e1te dotaz na \u201en\u00e1pady na \u010dl\u00e1nky o um\u011bl\u00e9 inteligenci\u201c, datab\u00e1ze dok\u00e1\u017ee naj\u00edt i obsah, kter\u00fd obsahuje jin\u00e9 fr\u00e1ze, nap\u0159\u00edklad \u201et\u00e9mata na \u010dl\u00e1nky na blog o um\u011bl\u00e9 inteligenci\u201c.<\/li>\n<li><strong>Co jsou to embeddings a pro\u010d jsou tak d\u016fle\u017eit\u00e9?<\/strong><br \/>\nVlo\u017een\u00e9 texty jsou matematickou reprezentac\u00ed text\u016f. Jazykov\u00fd model p\u0159ev\u00e1d\u00ed text na seznam \u010d\u00edsel, kter\u00e1 popisuj\u00ed v\u00fdznam textu. Texty s podobn\u00fdm v\u00fdznamem le\u017e\u00ed v matematick\u00e9m prostoru bl\u00edzko sebe. To umo\u017e\u0148uje vektorov\u00e9 datab\u00e1zi pozd\u011bji vyhled\u00e1vat podobn\u00fd obsah. Bez embedding\u016f by s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed bylo st\u011b\u017e\u00ed mo\u017en\u00e9. Tvo\u0159\u00ed z\u00e1klad modern\u00edch syst\u00e9m\u016f RAG a jsou d\u016fvodem, pro\u010d jsou tyto syst\u00e9my mnohem flexibiln\u011bj\u0161\u00ed ne\u017e klasick\u00e9 fulltextov\u00e9 vyhled\u00e1v\u00e1n\u00ed.<\/li>\n<li><strong>Jak velk\u00fd m\u016f\u017ee b\u00fdt m\u016fj export dat z ChatGPT?<\/strong><br \/>\nVelikost nehraje z\u00e1sadn\u00ed roli. Bez probl\u00e9m\u016f lze zpracovat i n\u011bkolik tis\u00edc konverzac\u00ed. D\u016fle\u017eit\u011bj\u0161\u00ed je po\u010det vygenerovan\u00fdch textov\u00fdch \u00fasek\u016f, tzv. chunks. V\u011bt\u0161\u00ed export vede k v\u011bt\u0161\u00edmu po\u010dtu chunk\u016f, a tedy i k v\u011bt\u0161\u00edmu po\u010dtu vlo\u017een\u00ed. Modern\u00ed vektorov\u00e9 datab\u00e1ze v\u0161ak bez probl\u00e9m\u016f zvl\u00e1daj\u00ed miliony takov\u00fdch z\u00e1znam\u016f. Pro soukrom\u00e9ho znalostn\u00edho asistenta zcela posta\u010d\u00ed i mal\u00fd server nebo v\u00fdkonn\u00fd stoln\u00ed po\u010d\u00edta\u010d.<\/li>\n<li><strong>Pro\u010d je text p\u0159ed zpracov\u00e1n\u00edm rozd\u011blen na mal\u00e9 \u010d\u00e1sti?<\/strong><br \/>\nPokud ukl\u00e1d\u00e1te cel\u00e9 konverzace nebo rozs\u00e1hl\u00e9 texty p\u0159\u00edmo jako vlo\u017een\u00e9 texty, st\u00e1v\u00e1 se s\u00e9mantick\u00e9 vyhled\u00e1v\u00e1n\u00ed nep\u0159esn\u00fdm. Jeden text m\u016f\u017ee obsahovat n\u011bkolik t\u00e9mat. Jeho rozd\u011blen\u00edm na men\u0161\u00ed \u00faseky m\u016f\u017ee syst\u00e9m pozd\u011bji vyhled\u00e1vat mnohem p\u0159esn\u011bji. Ka\u017ed\u00fd odd\u00edl popisuje p\u0159ehledn\u011bj\u0161\u00ed t\u00e9ma. Datab\u00e1ze tak dok\u00e1\u017ee naj\u00edt p\u0159esn\u011b ty \u010d\u00e1sti konverzace, kter\u00e9 skute\u010dn\u011b odpov\u00eddaj\u00ed aktu\u00e1ln\u00ed ot\u00e1zce.<\/li>\n<li><strong>Jakou roli hraje Ollama v tomto syst\u00e9mu?<\/strong><br \/>\nOllama slou\u017e\u00ed jako m\u00edstn\u00ed platforma pro jazykov\u00e9 modely. Umo\u017e\u0148uje spou\u0161t\u011bt modely um\u011bl\u00e9 inteligence p\u0159\u00edmo na vlastn\u00edm po\u010d\u00edta\u010di. V na\u0161em syst\u00e9mu pln\u00ed Ollama dv\u011b \u00falohy: Vytv\u00e1\u0159\u00ed osazen\u00ed text\u016f a generuje odpov\u011bdi na ot\u00e1zky. V\u00fdhodou je, \u017ee v\u0161echna data z\u016fst\u00e1vaj\u00ed lok\u00e1ln\u00ed. To znamen\u00e1, \u017ee va\u0161e konverzace a archiv znalost\u00ed nikdy neopust\u00ed v\u00e1\u0161 vlastn\u00ed po\u010d\u00edta\u010d.<\/li>\n<li><strong>Pro\u010d se Qdrant pou\u017e\u00edv\u00e1 jako vektorov\u00e1 datab\u00e1ze?<\/strong><br \/>\nQdrant je modern\u00ed vektorov\u00e1 datab\u00e1ze, kter\u00e1 byla vyvinuta speci\u00e1ln\u011b pro aplikace um\u011bl\u00e9 inteligence. Je rychl\u00e1, snadno installieren a velmi dob\u0159e zdokumentovan\u00e1. Lze ji tak\u00e9 snadno p\u0159ipojit k jazyku Python a mnoha framework\u016fm pro um\u011blou inteligenci. Qdrant je proto obzvl\u00e1\u0161t\u011b praktick\u00fdm \u0159e\u0161en\u00edm pro lok\u00e1ln\u00ed znalostn\u00ed syst\u00e9my. Mezi alternativy pat\u0159\u00ed Chroma, Weaviate nebo Pinecone.<\/li>\n<li><strong>Co znamen\u00e1 pojem syst\u00e9m RAG?<\/strong><br \/>\nZkratka RAG znamen\u00e1 \u201eRetrieval-Augmented Generation\u201c. Jedn\u00e1 se o architekturu, ve kter\u00e9 um\u011bl\u00e1 inteligence nejprve vyhled\u00e1 relevantn\u00ed informace z datab\u00e1ze a pot\u00e9 je pou\u017eije k vygenerov\u00e1n\u00ed odpov\u011bdi. UI tedy kombinuje sv\u00e9 vlastn\u00ed znalosti s extern\u00edmi daty. To j\u00ed umo\u017e\u0148uje poskytovat velmi p\u0159esn\u00e9 odpov\u011bdi a z\u00e1rove\u0148 z\u00edskat p\u0159\u00edstup k aktu\u00e1ln\u00edm nebo osobn\u00edm informac\u00edm.<\/li>\n<li><strong>Mohu do tohoto syst\u00e9mu integrovat i jin\u00e9 zdroje dat?<\/strong><br \/>\nTo je vlastn\u011b jedna z nejv\u011bt\u0161\u00edch v\u00fdhod t\u00e9to architektury. Syst\u00e9m nen\u00ed omezen na data ChatGPT. M\u016f\u017eete do n\u011bj integrovat i sv\u00e9 vlastn\u00ed \u010dl\u00e1nky, pozn\u00e1mky, soubory PDF, v\u00fdzkumn\u00e9 pr\u00e1ce nebo jin\u00e9 dokumenty. Pokud lze obsah zpracovat v textov\u00e9 podob\u011b, m\u016f\u017ee se st\u00e1t sou\u010d\u00e1st\u00ed znalostn\u00ed b\u00e1ze. \u010casem se v\u00e1\u0161 syst\u00e9m rozroste v komplexn\u00ed znalostn\u00ed archiv.<\/li>\n<li><strong>Jak aktu\u00e1ln\u00ed je takov\u00fd syst\u00e9m znalost\u00ed?<\/strong><br \/>\nAktu\u00e1lnost z\u00e1vis\u00ed na tom, jak \u010dasto importujete nov\u00e1 data. M\u016f\u017eete nap\u0159\u00edklad pravideln\u011b zpracov\u00e1vat nov\u00e9 exporty ChatGPT nebo vytvo\u0159it skript, kter\u00fd automaticky rozpozn\u00e1 nov\u00e9 dokumenty. Mnoho syst\u00e9m\u016f je nastaveno na aktualizaci jednou t\u00fddn\u011b nebo jednou m\u011bs\u00ed\u010dn\u011b. D\u00edky tomu je znalostn\u00ed b\u00e1ze v\u017edy aktu\u00e1ln\u00ed.<\/li>\n<li><strong>Jak\u00fd hardware pro takov\u00fd syst\u00e9m pot\u0159ebuji?<\/strong><br \/>\nPro men\u0161\u00ed projekty posta\u010d\u00ed modern\u00ed stoln\u00ed po\u010d\u00edta\u010d. Pokud chcete pou\u017e\u00edvat v\u011bt\u0161\u00ed jazykov\u00fd model, m\u016f\u017ee se v\u00e1m hodit grafick\u00fd procesor. Mnoho u\u017eivatel\u016f v\u0161ak sv\u00e9 znalostn\u00ed syst\u00e9my \u00fasp\u011b\u0161n\u011b provozuje i na v\u00fdkonn\u00e9m notebooku nebo miniserveru. P\u0159edev\u0161\u00edm je d\u016fle\u017eit\u00e9 m\u00edt dostatek pam\u011bti a dostate\u010dn\u00fd \u00falo\u017en\u00fd prostor pro datab\u00e1zi.<\/li>\n<li><strong>Jak rychle takov\u00fd syst\u00e9m funguje v praxi?<\/strong><br \/>\nRychlost z\u00e1vis\u00ed na n\u011bkolika faktorech, nap\u0159\u00edklad na velikosti datab\u00e1ze, hardwaru a pou\u017eit\u00e9m jazykov\u00e9m modelu. V mnoha p\u0159\u00edpadech trv\u00e1 dotaz jen n\u011bkolik sekund. Samotn\u00e9 vektorov\u00e9 vyhled\u00e1v\u00e1n\u00ed je obvykle extr\u00e9mn\u011b rychl\u00e9. Nejv\u011bt\u0161\u00ed \u010d\u00e1st \u010dasu \u010dasto zabere generov\u00e1n\u00ed odpov\u011bdi z jazykov\u00e9ho modelu.<\/li>\n<li><strong>Je mo\u017en\u00e9 odd\u011blit n\u011bkolik oblast\u00ed znalost\u00ed?<\/strong><br \/>\nAno, vektorov\u00e9 datab\u00e1ze, jako je Qdrant, umo\u017e\u0148uj\u00ed pou\u017eit\u00ed v\u00edce kolekc\u00ed. Ka\u017ed\u00e1 kolekce m\u016f\u017ee p\u0159edstavovat samostatnou tematickou oblast. M\u016f\u017eete nap\u0159\u00edklad vytvo\u0159it kolekci pro konverzace ChatGPT, jednu pro \u010dl\u00e1nky a jednu pro pozn\u00e1mky. To umo\u017e\u0148uje p\u0159ehledn\u011b strukturovat oblasti znalost\u00ed a c\u00edlen\u011b v nich vyhled\u00e1vat.<\/li>\n<li><strong>Jak bezpe\u010dn\u00e1 jsou moje data v m\u00edstn\u00edm syst\u00e9mu um\u011bl\u00e9 inteligence?<\/strong><br \/>\nVelkou v\u00fdhodou m\u00edstn\u00edho syst\u00e9mu je, \u017ee data nemus\u00edte p\u0159en\u00e1\u0161et do extern\u00edch slu\u017eeb. V\u0161echny informace z\u016fst\u00e1vaj\u00ed ve va\u0161em vlastn\u00edm po\u010d\u00edta\u010di nebo serveru. To je zaj\u00edmav\u00e9 zejm\u00e9na v p\u0159\u00edpad\u011b citliv\u00e9ho obsahu. Samoz\u0159ejm\u011b byste m\u011bli i nad\u00e1le vytv\u00e1\u0159et pravideln\u00e9 z\u00e1lohy a chr\u00e1nit sv\u016fj syst\u00e9m p\u0159ed neopr\u00e1vn\u011bn\u00fdm p\u0159\u00edstupem.<\/li>\n<li><strong>Mohu tento syst\u00e9m integrovat i do sv\u00fdch vlastn\u00edch aplikac\u00ed?<\/strong><br \/>\nAno, k v\u011bt\u0161in\u011b komponent lze p\u0159istupovat prost\u0159ednictv\u00edm programovac\u00edch rozhran\u00ed. To v\u00e1m umo\u017en\u00ed integrovat znalostn\u00ed syst\u00e9m do vlastn\u00edch n\u00e1stroj\u016f, nap\u0159\u00edklad do webov\u00e9ho rozhran\u00ed, redak\u010dn\u00edho syst\u00e9mu nebo aplikace pro pozn\u00e1mky. Mnoho v\u00fdvoj\u00e1\u0159\u016f vytv\u00e1\u0159\u00ed mal\u00e9 aplikace, kter\u00e9 zp\u0159\u00edstup\u0148uj\u00ed znalostn\u00ed datab\u00e1zi p\u0159\u00edmo p\u0159es chatovac\u00ed rozhran\u00ed.<\/li>\n<li><strong>Jak by se tato technologie mohla v budoucnu vyv\u00edjet?<\/strong><br \/>\nOsobn\u00ed znalostn\u00ed um\u011bl\u00e9 inteligence jsou pravd\u011bpodobn\u011b teprve na za\u010d\u00e1tku sv\u00e9ho v\u00fdvoje. V budoucnu by tyto syst\u00e9my mohly automaticky integrovat nov\u00fd obsah, vytv\u00e1\u0159et souhrny nebo dokonce poskytovat vlastn\u00ed n\u00e1vrhy projekt\u016f. \u010c\u00edm v\u00edce dat do takov\u00e9ho syst\u00e9mu proud\u00ed, t\u00edm je cenn\u011bj\u0161\u00ed. V dlouhodob\u00e9m horizontu by se mohl vyvinout v jakousi osobn\u00ed digit\u00e1ln\u00ed pam\u011b\u0165, kter\u00e1 strukturuje va\u0161e znalosti a kdykoli je zp\u0159\u00edstupn\u00ed.<\/li>\n<\/ol>\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-80 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-80 { --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 \u010dl\u00e1nky o um\u011bn\u00ed a kultu\u0159e<\/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-80\" 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=\"cancel culture im westen: sport, universit\u00e4ten, milit\u00e4r und eu-sanktionen analysiert\" data-id=\"5009\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"denkmodelle deutschland europa geopolitik krisen meinungsfreiheit sicherheitspolitik spieltheorie\">\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\/zrusit-kulturu-na-zapade-sportovni-univerzity-vojenske-a-eu-sankce-analyzovany\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Zru\u0161it kulturu na Z\u00e1pad\u011b: anal\u00fdza sportu, univerzit, arm\u00e1dy a sankc\u00ed EU<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Zru\u0161it kulturu na Z\u00e1pad\u011b\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Cancel-Culture-Westen-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\/zrusit-kulturu-na-zapade-sportovni-univerzity-vojenske-a-eu-sankce-analyzovany\/\" rel=\"bookmark\">Zru\u0161it kulturu na Z\u00e1pad\u011b: anal\u00fdza sportu, univerzit, arm\u00e1dy a sankc\u00ed EU<\/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=\"beruf, weltbild, zukunft: entscheidungen im schatten des umbruchs\" data-id=\"3197\"  data-category=\"allgemein gesellschaft kunst &amp; kultur tipps &amp; anleitungen\" data-post_tag=\"erfahrungen krisen pers\u00f6nlichkeitsentwicklung ratgeber\">\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\/karierni-svet-pohled-na-budouci-rozhodnuti-ve-stinu-otresu\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Kari\u00e9ra, pohled na sv\u011bt, budoucnost: rozhodov\u00e1n\u00ed ve st\u00ednu zm\u011bn<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Rozhodnut\u00ed ve st\u00ednu ot\u0159es\u016f\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-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\/10\/karierni-svet-pohled-na-budouci-rozhodnuti-ve-stinu-otresu\/\" rel=\"bookmark\">Kari\u00e9ra, pohled na sv\u011bt, budoucnost: rozhodov\u00e1n\u00ed ve st\u00ednu zm\u011bn<\/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=\"helge schneider: haltung, humor und die freiheit, sich nicht erkl\u00e4ren zu m\u00fcssen\" data-id=\"4756\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"deutschland erfahrungen meinungsfreiheit musik portrait\">\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\/helge-schneider-postoj-humor-a-svoboda-nemuset-vysvetlovat-sam-sebe\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Helge Schneider: P\u0159\u00edstup, humor a svoboda nemuset se vysv\u011btlovat<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Helge Schneider Portr\u00e9t\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-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\/helge-schneider-postoj-humor-a-svoboda-nemuset-vysvetlovat-sam-sebe\/\" rel=\"bookmark\">Helge Schneider: P\u0159\u00edstup, humor a svoboda nemuset se vysv\u011btlovat<\/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=\"apple im wandel: fr\u00fche ger\u00e4te, eigene erfahrungen und eine ausstellung im ocm\" data-id=\"5480\"  data-category=\"allgemein apple iphone &amp; ipad apple macos hardware kunst &amp; kultur stories &amp; humor\" data-post_tag=\"apple erfahrungen filemaker mac 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\/03\/jablko-v-prechodu-early-devices-vlastni-zkusenosti-a-vystava-na-ocm\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Apple v p\u0159echodu: ran\u00e1 za\u0159\u00edzen\u00ed, osobn\u00ed zku\u0161enosti a v\u00fdstava v OCM<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Apple Macintosh Classic a Colour Classic\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Apple-OCM-Titel.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Apple-OCM-Titel.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Apple-OCM-Titel-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Apple-OCM-Titel-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Apple-OCM-Titel-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\/03\/jablko-v-prechodu-early-devices-vlastni-zkusenosti-a-vystava-na-ocm\/\" rel=\"bookmark\">Apple v p\u0159echodu: ran\u00e1 za\u0159\u00edzen\u00ed, osobn\u00ed zku\u0161enosti a v\u00fdstava v OCM<\/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 \/>","protected":false},"excerpt":{"rendered":"<p>V prvn\u00ed \u010d\u00e1sti t\u00e9to s\u00e9rie \u010dl\u00e1nk\u016f jsme si uk\u00e1zali, \u017ee export dat ChatGPT je mnohem v\u00edc ne\u017e jen technick\u00e1 funkce. Va\u0161e exportovan\u00e1 data obsahuj\u00ed soubor my\u0161lenek, n\u00e1pad\u016f, anal\u00fdz a konverzac\u00ed, kter\u00e9 se nahromadily za dlouhou dobu. Dokud jsou v\u0161ak tato data ulo\u017eena pouze jako archiv na va\u0161em pevn\u00e9m disku, z\u016fst\u00e1vaj\u00ed jen t\u00edm: ... <a title=\"Apple v p\u0159echodu: ran\u00e1 za\u0159\u00edzen\u00ed, osobn\u00ed zku\u0161enosti a v\u00fdstava v OCM\" class=\"read-more\" href=\"https:\/\/www.markus-schall.de\/cs\/2026\/03\/jablko-v-prechodu-early-devices-vlastni-zkusenosti-a-vystava-na-ocm\/\" aria-label=\"\u010c\u00edst v\u00edce o Apple v p\u0159echodu: ran\u00e1 za\u0159\u00edzen\u00ed, osobn\u00ed zku\u0161enosti a v\u00fdstava v OCM\">\u010c\u00edst d\u00e1l<\/a><\/p>","protected":false},"author":1,"featured_media":5300,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":210,"footnotes":""},"categories":[15,431,4],"tags":[440,444,473,452,471,435,433,465,432,442,434],"class_list":["post-5306","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple-macos","category-ki-systeme","category-tipps-anleitungen","tag-datenbanken","tag-denkmodelle","tag-digitales-eigentum","tag-docker","tag-kuenstliche-intelligenz","tag-llama","tag-llm","tag-mlx","tag-ollama","tag-prozesse","tag-sprachmodell"],"_links":{"self":[{"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts\/5306","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=5306"}],"version-history":[{"count":36,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts\/5306\/revisions"}],"predecessor-version":[{"id":5753,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/posts\/5306\/revisions\/5753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/media\/5300"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/media?parent=5306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/categories?post=5306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/cs\/wp-json\/wp\/v2\/tags?post=5306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}